One way I migrate, clone or backup a WordPress website is with a free plugin called Duplicator.
Although it has been excellent, I was initially nervous about Duplicator because free solutions are not always dependable. The phrase “never build a house on rented land” is always at the back of my mind.
To cover my back, I bought BackUpBuddy because it is a premium iThemes plugin with dedicated support and full time staff. It does the same thing as Duplicator but theoretically is less likely to go wrong.
After a few years using Duplicator it’s been fine – mostly.
There have been hiccups (PHP support failed last night and I spent time on the phone to GoDaddy) but I’ve dealt with those issues. The plugin is simple, straightforward and light on its feet.
Building a BackUp/Migration Package
When you backup with Duplicator it scans the WordPress site, assesses a few things and then gives you the option to create a .zip archive and php installer.
Those two files are important and are created as part of a “package”.
Assuming your site and server settings pass the test, you will create and build the package.
When you’ve built the package you can download the archive installer, which is a .zip compressed package of your site. You’ll need the php installer too.
Large .Zip Archives Causes Server Timeouts
If you have a big website it’s a good idea to manually exclude large folders from being added to the .zip archive otherwise the backup can fail.
Typically, the uploads folder becomes too large because that is where, as a default setting, WordPress stores all the images you add to your site.
The idea is for you to exclude the uploads folder from the Duplicator backup package and manually copy the uploads folder you excluded to your server directory later using an FTP tool.
So Duplicator takes care of the database, and you copy over the uploads folder separately.
For copying files to and from my web server I’ve always used FileZilla.
Okay – assuming you’re still following, how do you exclude the uploads folder from the backup package?
Answer: the Duplicator plugin has check boxes configured to look for the default path to your WordPress uploads folder.
Look at the screenshot below. This is what you can expect to see as part of the plugin settings. It’s possible things might look slightly different on account of updates to the plugin.
Check the Enable File Filters box then choose the blue link [wp-uploads] to add the path of the uploads directory folder.
Reverse Proxies Cause Timeouts Too
If you’re using CloudFlare – the free reverse proxy and intermediary server used for caching and protecting your site – I strongly advise turning it off when you initially deploy the .zip archive and .php installer to your server root.
Even IF you exclude large folders as mentioned earlier, you still run the risk of hitting a 524 timeout error.
I was on the phone to GoDaddy support at the time and they assured me CloudFlare wouldn’t be a problem.
Well, it was.
— Small Biz Geek (@SmallBizGeekUK) March 27, 2015
If you’re installing your website on your web host for the first time, you might want to pause your CloudFlare settings or even totally remove it and use your web server’s default nameservers while you install the Duplicator files to deploy WordPress.
If you have issues try talking to the support team over at Life in the Grid (authors of Duplicator).
They were very helpful indeed and responded to my support ticket pretty fast. Not bad for a free plugin!
In the even you experience problems, such as issues with deploying a new package on your host or problems creating a backup migration package, I suggest you have a look at the Duplicator FAQs under Life in the Grid knowledge base.
- They have a quick tutorial video which I’ve embedded below.
Remember – this plugin is capable of uploading or downloading WordPress websites besides acting as a backup tool.
In the demo below, the guy is showing how he built a migration package of a live site and imported into his local host.
In the video they do not use the exclude feature for blocking the uploads folder as I mentioned earlier.
This is probably because the site he was building a package for is on the small side. make no mistake, there WILL be timeout problems if your site uses lots of images.
By the way, when I used BackUpBuddy, I noticed they had an “exclude” feature too. You’ll probably find most WordPress backup plugins use such functionality.
Instant WordPress Unleashed
The author of InstantWP, Seamus Brady, created an eBook called Instant WordPress Unleashed in which he uses Duplicator for migration and backup. I learned how to use it from his guide.
If you want his guide you need to buy it. (Please note, I am not an affiliate for this product.)
The website you’re looking at now is a pretty big site, and Duplicator didn’t perform very well for this. Even after excluding the uploads folder using the filters, once I’d deployed the .zip archive and php installer, lots of weird characters/symbols were inserted into all my posts/pages.
I don’t know if that is something to do with GoDaddy or if I made a mistake with the plugin. It’s never happened before.
For that reason I did a manual .SQL backup and migration via phpMyAdmin. It was harder but worth it just to learn how it’s done.
By all means use Duplicator but you might find it’s best for smaller sites.
It’s the kind of plugin I would want to teach my web design clients to use for backing up their sites, because let’s face it, they’re probably not going to want to use phpMyAdmin.
Only activate the plugin when you need to backup your site. You can keep it deactivated the rest of the time.