Cloning or migrating a WordPress website can sometimes be a hassle. However, it is a necessary skill to have, because you might need it to move from a staging to production or to test new out new features. Back when I was a WordPress technician, we used a plugin called All-in-One WP Migration. It worked great on our cPanel servers to create staging environments for our customers.
It would easily take around five minutes to do, it was that simple and straight forward. We liked it so much we actually purchased the unrestricted add on for it. This allowed us to restore over 512MB sites. In this tutorial I will go over how to use the free version of All-in-One WP Migration to migrate my blog site, tastycin.com, from my server to a local instance.
Table of Contents:
- Installing All-in-One WP Migration
- All-in-One WP Migration Interface
- Migrating WordPress site
All-in-One WP Migration is a free/premium plugin that can be used to make a copy of your website. While it can be used for backing up your website, it does not have the functionality of other backup plugins and requires to be ran manually and is not done automatically. The free version of the plugin allows you to make backups of up to 512MB and only allows you to work with files. If you want to use other services, such as downloading/uploading from different sources, you will have to pay to unlock it.
While that may seem weird having to pay for each option, you only pay for it once instead of in a subscription model. This can get fairly expensive to work with especially if you want to automatically upload to multiple services. However, they do have a lot of great options such as splitting up a WordPress multi site which works wonders! The plugin also has wp-cli integration if you prefer to work that way. To learn more about the plugin, you can check out the plugin page at https://wordpress.org/plugins/all-in-one-wp-migration/
Installing All-in-One WP Migration
Since the plugin is located in the WordPress plugin repository it was very easy to install. Just go to Add a Plugin and search for it. You should be able to find it right away and easily get it installed and activated. Now you are ready to start using it!
All-in-One WP Migration Interface
The interface to All-in-One WP Migration is straightforward. A new icon will get created in the side bar and it will have three options. Export, import, and backups.
The export settings are fairly robust. You have the option to perform a search and replace if you would like, though in my experience I have not had to use this option as the plugin does a great job at URL replacing. Next you have the ability to pick what you want to no have exported. These options include not exporting the database or plugins to not changing the email domain, which is great if you're cloning a website to a subdomain.
Finally we have where to export to. There are a plethora of options, but the only one available in the free version is file. If you want to export to another location, you will need to pay a fee to download the add on. For most migrating/cloning purposes the file option is enough.
The import section is pretty straight forward. This is where you would import the backup that was taken in the export setting. Again, the free version will only let you import up to a 512MB file. If you need to upload a larger file or from a different source you will need to buy the respected add-on.
In the backup section you have all your backup files that have been made in the export section. From here you can download, restore, or delete the file. Keep in mind that all file downloads are stored on your server. You can add backup files or remove files from this section through SFTP or command line, backups are located in /wp-content/ai1wm-backups/.
Migrating WordPress site
Now that we got through the settings, let us start our migration. The migration process includes exporting the site and then importing it to a fresh WordPress install with the All-in-One WP Migration plugin installed. From there you then import the file, or place the file in /wp-content/ai1wm-backups/, and restore the site. It will over write the existing WordPress install with the content of the backup.
To get started with the migration/cloning process you want to go to the Export section and click on the export to button and choose file. A dialog box will come up to show you the progress of the export from how many files are being exported to the database. Once it has finished a download link will appear for you to download the file. The file will be in a wpress format.
Create the new WordPress site
Once the previous WordPress site has been exported, you will go to the new site location, in my case my localhost, and install a fresh WordPress site. You do not have to worry about what to name the site or even what admin user you create, because it will just get overwritten. Once the new site has been setup install and activate the All-in-One WP Migration plugin.
Next, go to the import section and import your wpress file from the export. You will see it upload to the server and then a warning message will appear. The message just states that your sites data will be overwritten with the contents of the backup and to make any backup to the existing site if necessary. Since this is a fresh site there is no need to back it up so we can proceed.
Once the PROCEED button has been clicked the restoration will start. You will want to stay on the page for the duration of the restore. Once it has finished you will get a confirmation that everything has been imported successfully a you will need to save your permalinks twice. This is to ensure that your permalink structure is up to date.
That is it! We have successfully cloned a WordPress site from one host to another in just a few steps. The All-in-One WP Migration plugin is a great tool to use for either cloning a site for testing purposes or migrating to another host. Hopefully you will give this plugin a try when you need to duplicate your WordPress site.