WHEW! That title is a mouthful! But…you know…SEO and stuff…
Recently I had to move a WordPress site from one domain to another. The site was pretty intricate with lots of plugins and data connections to other websites. Additionally, the site to be moved (let’s call it the “parent site”) had various posts, pages, custom post types, and a whole bunch of other stuff that would have taken quite some time–maybe even multiple days–to move & install manually. Naturally, I went looking for an easier way.
Enter The Duplicator
Let me start this by saying that I have no affiliation with this plugin or its authors. I have no idea who they are and I gain nothing from promoting this tool. It’s a good tool though so I feel comfortable recommending it.
The plugin is called Duplicator – WordPress Migration Plugin and it does exactly that. These are the steps:
- Install & activate the Duplicator plugin on your parent site.
- Navigate to the Duplicator plugin menu and click the button to create a new package of your parent site.
- After the plugin does its magic, take the two files it gives you (one ZIP file and one installer.php file) and upload them to the root of your child site.
- In your web browser, navigate to the location of the installer file. For example, it could be at https://myduplicatedwebsite.com/installer.php.
- Enter the information the installer asks for (site name and database connection info).
- Sip a cup of coffee / beer / wine / liquor while the plugin does all the hard work.
Seriously, that’s it. The hardest part of the whole process is setting up the new database on the child site–the plugin cannot do that for you (though the paid version of the plugin can make it easier). There’s no need to even install WordPress on the new site since the ZIP package contains all the WP files you need plus any customizations, plugins, themes, child themes, posts, pages, etc.
You don’t believe me? Watch this video. The only step they leave out is the creation of the new database.
Things to Note
“This is Cool…”
- You do have to create a new database and DB user on the child site.
- You do not have to (and probably shouldn’t) install WordPress on the child site ahead of time.
- This process will work even if WP is in a subdirectory or a subdomain under the child domain.
- Domains are completely unimportant–the plugin will figure out and adjust if the site is being migrated to a new domain or directory.
- Data connections to other sites remain intact (although I would strongly suggest double-checking this).
“Best Watch Out For…”
- In the WordPress Admin area under Settings >> General there is a main WordPress contact email address. The Duplicator plugin does not change that email address.
- The plugin will default to HTTP protocol when installing the WP package on the child site. This means that even if your parent site was SSL-enabled and even if you have a valid certificate for your child site, you will still have to manually force SSL on the child site.
This plugin can also be used as a backup system with scheduled backups and remote connections to Amazon S3, Dropbox, and others. It can also be used to migrate WP multi-site installations either to another multi-site or to a stand-alone domain. There are other paid features as well and if you’re interested I recommend you visit their pricing page.
I’ve only used this plugin once thus far though I will soon have the opportunity to use it many more times. Despite my limited experience, I can recommend this plugin whole-heartedly.
If you have other plugins that you like that do the same thing I’d love to know about them. I’ll update this post if necessary.