WordPress site migrations can be a scary thing. You put so much effort into building an awesome WordPress site, so it’s natural to feel a little trepidation when you make the big move. But, thanks to a plugin called Duplicator, there’s really no need to worry.
Duplicator is one of the best WordPress migration plugins. It’s easy to use and allows you to back up, copy, or clone your entire WordPress site. You can restore your files to your original host, move to a new host, or just use them to set up a local development environment by creating a duplicate site. In this post, I’ll dig in and show you step by step how to use Duplicator.
How Duplicator Can Help You
There are a few different ways Duplicator can make your life easier.
If you’re just looking a simple manual backup solution, Duplicator is one of many great WordPress backup tools that you can use. And if you purchase the pro version of the plugin, you can automatically back up to external sites like Dropbox, Google Drive, and more.
But Duplicator does a lot more than just backup. It also helps you fully migrate or clone your site to a new location by taking 99% of the manual effort out of site migration. It includes an installer interface that greatly simplifies the process of installing your backup files at a new host.
Finally, you can use Duplicator to create a localhost copy of your site for development. If your host doesn’t offer integrated staging areas, this is a simple way to duplicate that functionality. You can play around with changes on a full local version of your site before deploying them to your live site. You can even use Duplicator for the deployment process, if you want.
How to Use Duplicator – Backup and Migration
To get started, install Duplicator like you would any other WordPress plugin. After you activate it, you’ll see a nice new “Duplicator” option in your dashboard sidebar:
If you’ve got a large site, your first step should be to go to the “Settings” tab and change a couple options. If your site isn’t especially large, you shouldn’t need to change any settings and can just go to the next step:
Owners of large sites should consider enabling two features here:
- Attempt Network Keep Alive – this will help Duplicator maintain a connection if it needs to create an especially large archive (e.g. you have lots of media files).
- Use mysqldump – this is a more reliable method of creating a copy of a large database.
Creating a Package of Your Site
Next, you need to build a package for your site. This process creates a backup of all your site files as well as a scripted version of your database. To create it, you need to go to the “Packages” tab and click “Create New”:
Duplicator will now take you through the setup process. If you have the pro version of the plugin, you can have it automatically back up your package to an external service like Dropbox or Google Drive:
The free version of the plugin only allows creating a file, though.
In the “Archive” options, you can enable filters to exclude specific files or database tables from your package. Unless you specifically want to filter something, you’re totally fine to leave these as the defaults:
The last set of configuration options is “Installer”. These settings are entirely optional, but can save you a bit of time if you’re creating a package specifically to migrate your site. You can enter details for your new host and/or domain name:
All this does is pre-fill those fields when you migrate your site. It’s 100% fine to leave these fields blank for now and enter them later.
Once you’ve filled out everything you want, click “Next”.
Duplicator will scan your website to make sure there aren’t any issues. Assuming everything comes up clear, all you need to do is click “Build”:
Depending how big your site is, the build process may take some time. Once it’s done, you’ll see a success screen with two files:
You’ll want to download both these files by clicking on the buttons. Here’s what each file contains:
- Archive is the backup of your site’s database and files.
- Installer is a PHP install file that makes it easy to migrate your site.
If you just want a backup of your site, you’re done! Store the files in a safe place (ideally, multiple safe spaces) and rest easy.
If you want to migrate or clone your site to a new location, continue for the second half of the instructions.
Installing Your Site to a New Location
To migrate or duplicate your site, you’ll need access to two things at your new server:
- FTP access to upload the installer and archive files
- Access to create an empty database for Duplicator to use
Other than those two things, Duplicator will handle everything for you.
First, you need to use your FTP client to upload the “installer.php” and archive files to the directory where you want your site. Here’s what that looks like on my localhost:
To upload files, you’ll need to get your specific FTP details from your host.
Next, you should create an empty database. If you’re not sure how to do that, you’ll likely need to find directions specific to your host. But if your host uses cPanel, you can also follow these directions from WordPress.
Here’s how creating a database looks using PHPMyAdmin:
Keep all the important details like database name, username, and password handy. You’ll need them in the next step.
Running the Duplicator Installer
Now that your files are uploaded, you need to open your web browser and go to the installer.php file you uploaded. If you uploaded your files to the root directory of your site, you just go to “yoursite.com/installer.php”. If you uploaded in a subfolder, go to “yoursite.com/subfoldername/installer.php”
You should see an installer interface:
Enter the details for the database you created and click “Test Connection” to make sure everything works:
If the connection is successful, click “Run Deployment” at the bottom of the interface. Otherwise, make sure you entered the correct database details.
After clicking “Run Deployment”, verify that the new details for your site are correct and then hit “Run Update”:
You’re almost done! Now you just need to verify and test your cloned website:
You’ll definitely want to click “Save Permalinks” to ensure your permalink structure stays the same. It would be an SEO disaster to accidently change your permalinks.
After that, just make sure you test your site and run the “Security Cleanup”.
If everything went successfully, you should see an exact duplicate of your original site:
Sweet success! That’s all there is to it. You’ve successfully migrated or cloned your WordPress site using the Duplicator plugin.
I know I got a little technical at times, but Duplicator really does make the process a lot simpler than doing everything manually. As long as you can figure out how to create databases and upload files via FTP, you can successfully use Duplicator to migrate or clone your site.
And if all you want is a backup of your site, you don’t need any technical knowledge. Just keep a copy of your built package in a safe place in case you ever need it.
Now it’s your turn. What’s your favorite method of migrating WordPress sites?
Article thumbnail image by grum / shutterstock.com
Hi, thanks so much for this, i’m a newbie wordpress user and not so technical…
I’m trying to make some changes like, updating and all that but I might make one wrong move and my website will end up jeopardize
So i’ll like to clone it and work on the clone site, and if everything works out i’ll then do it on the original
wish me luck 🙂
I’m getting this error when on GoDaddy trying to migrate over. Its on their Windows IIS godaddy platform not Cpanel. Any help would be appreciated. I’m thinking it is a Windows permission error? Php version is 5.4 and MySQl version is 5.5
server code: 200
PHP is having issues writing to the log file D:/Hosting/4503758/html/newsite\installer-log.txt . In order for the Duplicator to proceed validate your owner/group and permission settings for PHP on this path. Try temporarily setting you permissions to 777 to see if the issue gets resolved. If you are on a shared hosting environment please contact your hosting company and tell them you are getting errors writing files to the path above when using PHP.