I started dabbling with WordPress after a long time, recently. It is a great content management system that helps a relatively non-technical user to publish a website/blog fairly quickly. The fact that WordPress is open-source, freely available, and is supported by a very rich ecosystem of free and paid plugins adds to that appeal. Heck, even this website is built on WordPress, after 1 week of effort.
What is the best way to continue developing a website? Should it be done on localhost, on a staging server, or directly on the live website? Developing on the live production server is possible when one is working on a brand new website before it is even launched. But, after it’s ready for business, making changes of any kind on the live website is a big no. So, the only option remains is to do development work off the production server — be it on a separate staging instance on the same server, or your local computer — and then later migrate the same onto the live server.
The scope of this particular blog post will not be about how continuous integration and deployment can be handled on a WordPress website (I’ll take it up in the future, I promise), but rather the simpler approach of backing up a WordPress website and then migrating it to another server. The best and foolproof way to approach it is by doing it manually. I will take the opportunity of this blog post to outline how can it be more easily achieved using plugins instead.
Backups in WordPress
The various plugins available in the market provide a multitude of ways to back up the website. Some of them allow to backup only on the server where the website is hosted, while some others allow the website to be backed up on off-site locations like AWS, Google Drive, or some other FTP server. To choose which plugin to go for, it is always advisable to shortlist one that allows you to back up the website on an off-site storage service. This is because if for some unforeseen reason, your website’s server itself gets corrupt, no amount of backup is going to save you from that disaster.
Recommended features for a WordPress backup plugin
- Backup of both WordPress files and database
- An easy to follow and streamline backup and restore process
- Ability to quickly rollback to a point in history so that we can forget about mistakes and bad updates
Good to Haves
- Ability to backup offsite — be it on AWS, another FTP server, or cloud storage solutions like Google Drive and Microsoft OneDrive
- Automatic and scheduled backups. Look for a solution that allows granularity of up to hourly backups
- Ability to set up backup limits to prevent filling up your local to cloud storage.
There are a lot of reputed backup solutions available in the market. Some of the well-known ones are All-in-one WP Migration, UpdraftPlus, BackupBuddy, WP Time Capsule, and Duplicator. While I’ve tried all of them out, my experience has been the best with Duplicator Pro. I’d probably rate them, in terms of reduced efficacy and simplicity, in this order:
- All-in-one WP Migration
- Duplicator Pro
- WP Time Capsule
Personally, I’d probably not recommend BackupBuddy & WP Time Capsule since their restoration process never worked flawlessly for me. I am trying to look for a tool that can be as idiot-proof as possible. From that perspective, I chose to finally go with Duplicator Pro for a few reasons:
- I found their feature of automatic backups more reliable than All-in-one WP Migration, even though the restoration process of the later in much simpler.
- Duplicator Pro allows me to set up a basic WordPress installation with my most used themes, plugins, and essential settings, and simply plug and play the same every time I decide to spin up a new website. All-in-One forces you to already have a dummy WordPress site before it allows you to spin up a new website.
As of writing this article, Duplicator Pro is retailing at $59/year for 3 licenses and $79/year for 15 licenses. If you’re not sure if it will be worth it, it is also currently listed on GPLDL for free. Before you decide to do so, make sure you read about how GPLDL works.
In my next blog post, I think I am going to talk about how to use Duplicator Pro to automatically schedule backups, and also restore a WordPress website hassle-free.