Moving your website from one host to another is often touted as a complicated process, but it can actually be quite simple. All it takes is a few steps, and your site will be up and running once more – this time on a different (and better) host. The only trick lies in pulling off the process with no downtime.
Whenever we talked about WordPress hosting, we always mentioned that WordPress is memory hogging CMS, and you should always go for a Webhosting, which is optimized for WordPress hosting. Many newbies make mistake by picking the hosting based on price which is not the right decision as you should consider both Prices & hosting quality to make the right decision. One of my WordPress clients wanted to move WordPress blog from one web host to another. Here we will share the complete step by step tutorial to move WordPress site to a new host.
Moving WordPress Site to New Host :
When looking for a new WordPress hosting provider, it’s important to choose carefully, so you don’t have to move again any time soon.
Here’s who we recommend:
- For reliable shared hosting, we recommend going with Bluehost. They’re officially recommended by WordPress.org.
- If you’re looking for cloud hosting or location-specific providers, then we recommend you check out Siteground. They have data centers across 3 different continents.
- If you’re looking for dedicated servers, then we recommend you check out InMotion Hosting. Their commercial class servers and support are amazing.
- If you’re looking for managed WordPress hosting, then we recommend you check out WP Engine. They are the best and most well-known provider in the business.
The first thing you need to do is install and activate the free Duplicator plugin on the website that you want to move. For more details, see our step by step guide on how to install a WordPress plugin.
Duplicator is a free plugin that we highly recommend. You can also use it to move your website to a new domain name without losing SEO.
Step #1: Export a Copy of Your Website
Once installed, a new Duplicator tab will appear on your WordPress dashboard. Click on it and select the Packages > Create New option:
Duplicator refers to the copies of your site as ‘packages’, and you can create an almost unlimited number. Each package includes two components – your site’s files and an installer.
Enter your package name and make sure you give it a descriptive name to make it unique from other packages you install in the future.
After that, click the Next button and follow the steps to create your package. Make sure that your scan results check out (everything should say “Good”), and then click the Build button. And if not good, you can either expand each warning and follow the instructions to fix it, or check the box at the bottom of the page for the build to proceed regardless. Whatever you choose will be based on your specific needs. Once you’re ready, click on Build.
Once the process is complete, you will see download options for Installer and the Archive package. You need to click on both button(i.e The Installer Button and The Archive Button) to download both files. When complete, you’re ready for step number two. It’s worth noting that all of the steps beyond this point will deal only with your new site, so you can forget about this one until the migration is complete.
Step #2. Upload Your Copied Site to Your New Web Host
The next step is to get them up on your new server.
To do this, you’ll need to use a File Transfer Protocol FTP) client – we recommend FileZilla. When you signed up to your new web host, you should’ve received a set of credentials for accessing your FTP server. If you didn’t, check your host’s cPanel for them (they’re normally prominently displayed), or contact the support team as a last resort.
Or as an alternative, you can use your cPanel to upload the files to your new web host.
Using FTP to upload
Normally, you would enter your website’s domain name as host when connecting your FTP client. However, since your domain name is still pointing to your old host, you’ll need to connect by entering your server’s IP address or server hostname. You can find this information from your new hosting account’s cPanel dashboard. If you are unable to find this information, then ask support at your new web host and they will help you out.
Once you’ve gained access to your FTP server, navigate to the public_html folder (it could also be called root or www). Enter this folder(public_html) and use FileZilla’s upload function to move both your Installer and Archive files to your server. Make sure your uploads are located in this folder(public_html) and not sub-folder
Using your FTP client, upload both installer.php file and your archive .zip file to the root directory of your website. This is usually
/username/public_html/folder. Again, if you are not sure, then ask your web hosting company.
Step #3: Modify Your hosts File to Prevent Downtime
Most tutorials will say you should go ahead and change your DNS (Domain Nameserver), but that’s not the best practice. Instead of doing that, in this step, we’re going to map the domain of your existing WordPress site to your new server’s IP address. This will help you in accessing your new site temporarily on your computer, without affecting your old site.
In this step, we will show you how to add an entry for your domain name in the hosts file so that it points to your new host, but only when using your computer.
Making these changes will allow you to access the files on your new host using your own domain name, while the rest of the world will still be accessing your site from the old host. This ensures 100% uptime.
How to Modify Host File
First thing you need to do is find the IP address of your new web hosting server. After that, you will need to access your host file on your PC
To access your hosts file in Windows, navigate to C:/Windows/System32/drivers/etc/ and open the hosts file in question using your preferred text editor. Once you’re in, you need to add both your new host’s IP address and your existing domain to the file
Mac users will need to open the Terminal app and enter this command to edit hosts file:
sudo nano /private/etc/hosts
Make sure that you replace the IP address with the one you copied from cPanel and example.com with your own domain name. Save your changes, and you can now access your files on the new host using your domain name on your computer.
Important: Don’t forget to undo the changes you made to hosts file after you have finished the migration
Step #3: Creating MySQL Database on Your New Host(optional)
This is optional if you have already created a new Database for your uploads. And if not, kindly create a new Database. For the sake of those who know not how to create a database, don’t skip this step.
Log in to your cPanel dashboard, scroll down to the Databases section and click on the MySQL databases icon. You will see a field to create a new Database. Enter the desired name for your Database, and click “Create Database” button. After that, you need to scroll down to MySQL Users section. Now, enter a username and password for your new user and click on the ‘Create a user’ button.
Now you need to add the user to the database in order to give all the permissions to the user to work on your database.
Scroll down to ‘Add User to a Database’ section. Select the database user you created from the drop-down menu next to the user, then select the database, and click on the add button.
Step #4: Run Your Installer and Complete the Migration
Navigate to this address in your browser window, replacing example.com with your domain name:
The file can be accessed using a URL like this:
You will see a screen just like the image below, fill in the appropriate information and then click the ‘Tests Connection‘ button. Make sure everything is working as it should. If it isn’t, your database might not get imported correctly, so don’t skip this step! Once everything is ready, scroll to the bottom of the page and click on ‘Run Deployment’.
Once it does so, it’ll ask you to confirm your new site’s path and title, and you’ll get the option to set up a new admin account as well:
Now, move to the next screen. Here, you’ll get the option to test whether your site is working correctly
Now, click on each button to complete everything on migrating and to see if the process contains some error. If it does have an error, simply restart the process from step one using the link at the button of the screen (see image above). If all is well, it’s time to proceed to the last step.
Step #5: Update Your Domain’s Nameservers
If you registered your domain with your hosting provider, then it’s best to transfer the domain to the new host. If you used a domain registrar like Godaddy, Namecheap, etc, then you need to update your nameservers.
You will need the nameserver information from your new web host. This is usually a couple of URLs that look like this:
To avoid confusion, you’ll also want to access your hosts file again and delete the line you added during step number three. After all, you’ll soon be able to access your migrated site without it!
We hope that this step by step guide helped you move WordPress to your new host with no downtime whatsoever. use the comment form below to share your experience