If you’ve been blogging for a while, you have inevitably switched hosting providers at least once.
If you’re not a tech-savvy person, you know that this can be quite a hassle. If you are familiar with the process, you’re probably aware that even when you know with absolute certainty what you’re doing, it’s a time-consuming process.
If you’re not keen on doing it yourself, there’s always an option to pay someone to do it for you. But what if there was a better way?
What if there was an easy way to simply clone your existing website to a new host? Better yet, what if you could do it yourself for free?
Fortunately, there is a way to do it for free and it’s simpler than it sounds. Best of all, it won’t take you more than a couple of hours, depending on the size of your website.
Duplicator is one of the easiest solutions out there, and trust me, I’ve tried quite a few of them. Some of them allowed me to back up my website but wanted me to upgrade to a paid version to restore it. Some of them simply failed at … everything.
Duplicator, on the other hand, is free and easy. And it has never let me down. It’s quite popular in the plugin repository with a high, 4.9 rating and more than 800,000 active installs.
Note: Duplicator offers a premium version which includes scheduled backups, email alerts, the ability to save backups to Dropbox, AWS, Google Drive and more. Click here to learn more.
In the steps below, I’ll explain and illustrate the steps for migrating an existing installation to a different hosting provider with Duplicator. The exact steps will differ depending on your online server/host setup.
Before we get started, let’s make sure we have our essentials:
- An FTP client
- FTP login details for the site you’re migrating TO.
You don’t need to install WordPress on the destination server before proceeding with the steps below. Duplicator will copy across all necessary WordPress files for you.
Two important notes before we move on:
- If you’re cloning a site as part of a migration process, we recommend keeping the old site live until the migration is complete. To do this, we recommend changing the IP address on your computer to the new server, and completing the cloning/migration process. Then update your DNS only once everything is working. It’s rare to have issues with backups, but this approach reduces risk & removes a potential failure point.
- This tutorial is best suited to small sites and blogs. If you run an online publication, or an ecommerce site, you may be best using an external tool such as VaultPress. This will reduce pressure on your server & give you access to their support team who can help restore backups if need be.
How to clone your WordPress website with Duplicator
Before cloning your site, you need to install Duplicator plugin. Go ahead and navigate to Plugins > Add New and search for Duplicator. Then click on Install and Activate. Once that’s done, we can proceed with the steps below.
Step 1 – Package your site with Duplicator
Click on Duplicator in the admin sidebar and the Duplicator Packages interface will be displayed. Since I’ve just installed Duplicator, there are no packages to select.
Click on Create New to create a package which is basically an archive of your website (a zipped file) and an installer file that automates the process of setting up your archived site on another server.
The next screen will prompt you to name your package and make a few notes. The name is not important so you can leave it at the generated name. If you plan on making multiple packages, it’s a good idea to give it a memorable name. You don’t have to enter any notes if you don’t want to.
There are optional Archive and Installer settings, but we’ll ignore these for now. The Archive settings allow you to filter your database, while the Installer options can be used to pre-fill the Installer screen to speed up the install process. I’ve left it empty so that I can enter fresh information.
Click Next to move on.
Duplicator will run a system scan to ensure the package build process will run smoothly. The scan will determine if there are any potential issues. Passing all scan checks isn’t required in order to attempt a build, but the more warnings you get the more likely you will run into issues during the build and install phase.
The only issue I’ve encountered is the large file warning which was a result of one image that was too big. If you get a message like that, you can safely ignore it because it most likely won’t cause any issues.
Finally, click Build to create your package.
Duplicator will begin backing up your site. This process might take some time depending on the size of your website. The final result will be the aforementioned zipped file and an installer file. Download both files to your desktop.
Step 2 – Copy installer and archive files to live site
In order to install and unpack your packaged site, you need to copy the archive and installer files to your live site’s directory. The easiest way to do this is to use an FTP program like WinSCP to transfer the files over.
Login to your site via FTP. Navigate to your public_html folder and copy the archive and installer files from your desktop to the folder. It may take a little while for the files to copy, especially if your archive file is quite large.
Step 3 – Installing your site on your live server
Once the files are uploaded, you need to install the archived file on the live server. To do this, you need to enter your domain name followed by /installer.php
In my case, the address is http://annalynnamelio.com/installer.php.
The installer interface will appear, and ask you to enter your MySQL details. Since this is a fresh install, you can click on Create New and enter a new database name and then use the database username and password your new host provided you with.
Test your database connection to ensure they are correct.
Bear in mind that some hosts don’t allow the database creation option to work so you will need to do it manually. If your host uses cPanel follow these steps:
- In cPanel, open MySQL Database.
- Create a new database and name it anything you like. Keep note of the prefix which is automatically generated.
- Create a new user.
- Add your newly created user to your newly created database.
- Give your user access to all privileges and click “Make Changes.”
When you’ve filled out your database details, click Test Connection to check whether the installer can access your database.
You need to get a Success message for both the server connection and finding the database otherwise your install won’t work.
Check the little box that says “I have read all warnings and notices”. Then click Run Deployment.
The installer will then begin installing your site on your live server. Again, depending on the size of your website, this process might take a while.
During installation, Duplicator will ask you to confirm old and new details for your site. Make sure they’re correct and click “Run Update.”
Step 4 – Final Duplicator steps
Duplicator will ask you to complete four short, yet important, steps:
- Install Report – This is simply a report detailing any errors encountered, which there shouldn’t be any, and the numbers of database tables, rows and cells created, scanned and updated so you can check everything copied over correctly.
- Save Permalinks – Clicking on the link Save Permalinks will take you to your new website where you can save your permalinks preferences. Use the username and password you used to login to your archived website.
- Test Site – When you click on Test Site it will open the front-end of your live site so you can check that everything is working. Click on your posts and pages, make sure the images are pointing to your new address, and generally ensure everything is loading correctly.
- File Cleanup – Finally, remove the installer file and any associated files created during the installation process for security purposes. Click on File Cleanup to automatically delete these files.
And that’s it! Your live site should now be an exact copy of your old installation, ready to be viewed on your new hosting plan.
Migrating a WordPress website is something many WordPress users dread, however, it doesn’t have to be complicated at all.
Using the Duplicator plugin, the whole process took me less than two hours and most of that time was waiting for the FTP transfer to upload the installer and the zip archive to the new host.
Bear in mind that Duplicator can also be used to transfer a website from a local server environment to a live site.
You can even use the plugin to move your entire live website to a local server which is useful when you’re working on updating the design of your website or making any changes that are best tested out before actually implementing them on your live website.