The free Duplicator plugin makes it easy to copy and migrate WordPress sites. It’s the best free alternative I could find to BackupBuddy, (aff. link) the extremely popular backup and migration plugin from iThemes.
Note: this post was first written in 2012. We currently use ManageWP (aff. link) for migrating sites, but we still use Duplicator in some cases where ManageWP won’t work (such as sites that aren’t publicly accessible). Despite this post’s age, people still find it useful.
Here’s how to make a copy of your site with Duplicator. The exact steps you follow may differ depending on your server/host.
Note: you don’t need to install WordPress at the destination before following these steps.
Create a copy of the website
- Install and activate Duplicator.
- In your admin menu, you’ll have a new Duplicator menu item. Click it.
- Click the Create Package button, then Create Package Set.
- If you’re moving to another server, click the Installer and Package buttons to download the files. If you’re staying on the same server, skip to the next step.
- Use FTP or another file manager to access your website. If you downloaded the installer and package, upload them to the directory where your new site will live. If you’re staying on the same server, notice the new wp-snapshots directory next to your wp-admin and wp-content directories. Copy the files ending installer.php and package.zip to the directory where your new site will live. Rename the file ending installer.php to simply installer.php.
Create a new database
The Duplicator plugin is supposed to be able to create databases, but I couldn’t get it to work, so I manually create them. If you need to do this, see your host for instructions (BlueHost and HostMonster users, see MySQL Database Creation)
- In cPanel, create a new database.
- Create a new database user.
- Give the user all privileges to the database you created.
Install the package
- In your browser, enter the URL of the new website, followed by /installer.php. For example, if I’m creating dev.optimwise.com, I’d browse to dev.optimwise.com/installer.php.
- Change the fields in the Settings section if desired.
- Enter the database information, and click Test Settings.
- Check the box .
- Click Install and wait for the installation.
- Follow the steps on the next page to finish the installation.
- Delete the contents of wp-snapshots in the source site.
For more details, see the User Guide at LifeInTheGrid.com (the plugin author’s site). Here’s the official overview video:
If Duplicator doesn’t work the first time you run it, try again. Sometimes it works the second time.
Duplicator may not be able to create packages for sites with a lot of content; it may time out. Try going into the Duplicator settings and excluding wp-content. After using Duplicator to migrate the package, manually move wp-content via SFTP.
Duplicator should automatically change your links to reflect your new site URL. If you have problems, you may need to refresh your permalinks. In your WordPress admin menu, go to Settings > Permalinks. Your current selection should already be selected; just click Save Changes without changing anything.
Since I didn’t create this plugin, and haven’t used it in all its possible ways, I haven’t experienced many of the problems that others have. So, I’m not the best person to ask for support. I suggest that you ask in the Duplicator plugin’s support forum, LifeInTheGrid support (they make the Duplicator plugin), or the general WordPress.org Support Forums.
If you need professional help migrating or copying your WordPress site, please contact us.
If you like the free version of Duplicator, you may be interested in Duplicator Pro, an enhanced version which adds scheduled cloud backups and several other new features. We haven’t used it, but it’s worth checking out.
If this plugin worked for you, please consider donating to support the developer (which isn’t me). After all, how much time and money did this free plugin save you?
Again, if you need professional help migrating or copying your WordPress site, check out our WordPress Migration service!