Earlier I have shared a guide on moving WordPress site manually and it was one of the most read tutorials of ShoutMeLoud. Today, I’m extending the series by adding a new way to migrate WordPress site to new server and this time; it will be easier than the last time.
I have tried and tested this method on few of my sites, and migration happened within few minutes and without any problem.
In this guide, I will be taking help of a free WordPress plugin call Duplicator, which let you migrate WordPress site in few easy steps. You can use this plugin to:
- Migrate WordPress site from one server to another
- Migrate locally developer WordPress to live server
- Clone live server WordPress site on your local desktop server
For this tutorial, I will take example of moving the site from one live server to another.
It was unplanned move, as for long I wanted to move away from HostGator and wanted to try SiteGround hosting. Since Siteground is a non-EIG hosting and I heard only ravishing thing about them in recent time. Today, I got an email from HostGator regarding payment due, and I decided to move my site from HostGator to SiteGround. So I purchased their 2-year hosting of the GrowBig plan and started with the migration.
In this tutorial, I have mentioned all the steps to migrate the site and few challenges which I faced. Using WordPress Duplicator plugin is easy, but I wouldn’t recommend this to everyone, as a little bit of technical expertise is required to use this plugin. Rest, read the tutorial and you can decide yourself if you want to do the WordPress hosting migration yourself or need professional help.
How to prepare for migrating WordPress site to new hosting Server ?
If you have read the basic guide to move WordPress, you would know that there are few basic steps required:
- Move files (WP-content folder, WP-config, .htaccess, robots.txt) from old server to new server
- Move Database from old server to new server
- Change Nameserver of domain from old server to new server
WP Duplicator plugin creates an archive of your existing WordPress Files and Database, and on the new server, it let you quickly unpack and install everything. Now, since you are clear about the steps, let me walk you through the step by step guide below.
Prepare existing WordPress site for migration:
Login to your WordPress dashboard, install and activate Duplicator plugin. The very first step is to create a package which contains all the essential file that is required on the new server.
Click on Duplicator > Packages > Create new package:
You can click on Archive and deselect certain tables from Database, or any directory to be included in the archive. What I recommend you is; before creating the Duplicator package, delete all cache files from your cache plugin and also optimize your WordPress database (Take help of this guide).
Rest, click on Next and Duplicator plugin will scan your WordPress site and will show you stuff like:
- Extra large files (Tip: You can use Duplicator plugin to large files in your WordPress media directory)
- Any other warnings
If you see any error, fix it and click on rerun scan to let Duplicator plugin scan your site again. From my experience, I ended up deleting few extra large files which I have added two years back, and that reduced the overall size of my package. (See the below screenshot for my scan result)
Click on Build and Duplicator plugin will create a package which contains installer file and an archive file. Depending on the size of your WordPress site, it may take few seconds to minutes.
You need to download both Installer and Archive file, and these are the only files which you need to move to new server. Once you are done downloading both the file, let’s move to the new server where we will be doing few things to complete our WordPress server migration.
Preparing new Hosting Server for Migration:
One good thing about Duplicator plugin is; you don’t need to install WordPress on the new server. This plugin will do everything & you just need to create a new database and user.
In this scenario, I’m keeping the same domain name and just changing my hosting server.
You can use the same step (Just change the domain name) to change hosting and your WordPress site domain name.
On your new hosting server you need to do following things:
- Create a Database, Add a user to the database with full privilege. Note down the database name, Database user and password locally. We will need it in the next step. If your new server is typical cPanel hosting, you can read this guide to learn creating the database manually.
- Upload both installer and Archive file (.zip format): Access your new hosting server via FTP and upload the installer and archive file at the root location of your domain on the new server.
Once you are done with this, you need to open your new server I.P. with installer.php at the end. What I did here is, I edited my local computer hosts file to map the domain name to new I.P, this made working easier. If you are on Mac System, you can read this guide to edit the hosts file, and Windows users can use this guide.
In this case, I simply accessed wpfreesetup.com/installer.php, and this is what my screen looked like:
The important thing here is:
You need to add your new database details and click on Test connection to see if everything is working fine or not. In a majority of the cases, your host would be localhost and rest database detail will be from the database you just created on the new server.
Click on next, and you will see a screen like this:
In the above screen, I just made one change in URL field. As this plugin was picking up the temporary URL, so I changed it to the domain name (http://WPfreesetup.com), and that’s it! Click on next, and if you are done everything right way, your existing WordPress site is migrated to new server.
You should also keep your FTP login handy to check if everything is at proper place or not. If for any reason, this step failed to migrate the site, you can repeat the process on the new server and make it work. (Since I was doing it for the first time, it took me two attempts to make the successful migration).
Once you are satisfied, you should update your domain name server to point to your new hosting server. When you will login to your new server WordPress dashboard, Duplicator plugin will also ask you to remove all existing dump files which we used to migrate WordPress site from old hosting to new hosting.
Additionally, you should check your FTP and if you notice any dump file, get rid of it. While performing this migration, I got few errors and here is how I fixed them:
Error connecting database:
- In the first attempt somehow my database was not uploaded and I had to repeat the process to fix it. If you get this error, you might like to check if tables are added into the new database and if WP-config.php file has correct database credential or not. You can repeat the process from beginning to fix this.
- ionCube Encoder for PHP 5: This is the most common error which you might face when changing the WordPress server. I simply disabled the plugin for time-being to move ahead with the process. You can ask your new hosting company or plugin developer for the solution.
Here is a video tutorial for using Duplicator plugin:
Conclusion: Duplicator plugin makes it easy to migrate WordPress
After using Duplicator plugin, I’m quite impressed with it, as it’s free and make the migration process easy. Your experience may differ depending on the size of your database and WordPress files, but overall as a free option, this is a great solution to migrate WordPress Website to the new server.
I haven’t yet tried the same process to move a live server to local server or vice-versa, but you can try the same as the process is easy and recommended by many professional of WordPress field.
Let me know how’s your experience with Duplicator WordPress plugin, and if you would like to suggest any alternative way for migrating the site from one server to another? Don’t forget to share this guide with others on your social networking site.