Are you wondering how to switch your WordPress site from one web host to another without downtime?
Just like moving to a new house in the physical world, migrating to a new “home” (web host) on the internet comes with a unique set of challenges. One of the most prevalent concerns is whether or not your site will go down during the move.
But there’s nothing for you to worry about.
In this article, we’ll show you how to transfer your site from one web host to another without downtime in 2 methods.
Method #1: Migrating your site for free with the help of experts
Method #2: Migrating your site by yourself (step by step)
But, before we get started, let’s go over why you should move your WordPress site to a new host as well as why you should avoid downtime.
When and Why You Should Move Your WordPress Site to a New Host
There are a number of reasons why you should move WordPress site to a new host, let’s go over a few of the top reasons:
1. Your Website is Slow
You may have started with a web hosting provider that you found via a short internet search. But, as your website traffic grows, you need to look for a reliable solution that can offer better speed and performance. A slow-loading website is not only bad for SEO, but it also increases the chance of users abandoning your website. In this case, you’d move your WordPress site to a new host to improve your website’s status. Also, check out our guide on how to transfer WordPress from a local server to live site.
2. You’re Losing Traffic:
If you’re experiencing lots of downtime with your current web host, that’s a good sign it’s time to switch to a new host. Unplanned downtime during your website’s busiest hours can upset your website visitors and can cause you to lose leads, loyal customers, and revenue. Also, too much downtime can make your search result rankings drop. Switching to a web host that offers an uptime guarantee will ensure you don’t lose traffic or sales.
3. Your Current Web Host isn’t Right for You:
One of the most common and simple reasons you may want to move WordPress site to a new host is that your current web host isn’t giving you want you want. For instance, maybe your current web host is too expensive. Perhaps you’ve found a better web host that’s more affordable and offers more of the features you need, such as Bluehost. It’s important to choose a web host that provides your website what it needs as well as one that fits in your budget.
But you always need to make sure your website is up and running while the migration takes place from one host to another. Keep reading to find out why.
Note: You might also want to check out how to move WordPress to a new domain name.
Why Should You Avoid Downtime? (Important)
Beginners with small WordPress sites that have little or no traffic tend to ask why they’d need to worry about a little downtime. On the other hand, it’s more obvious why large websites with more traffic and great search engine rankings would need to be careful when changing hosts. Larger websites can’t risk any downtime as it can affect their status. However, small websites need to be aware of issues as well.
Website downtime isn’t good for either small or big websites. Let’s talk about a few ways downtime can affect your WordPress site:
- Users Will Think You’ve Shut Down – When users visit your website, they want to see it working. If your website is facing downtime, then new visitors may believe it doesn’t exist and the old users may think you’ve shut down.
- Damaged Reputation – Downtime can occur due to many reasons. A technical user may understand it, but not all your users are developers. It’ll create a bad impression of your brand or business with the average visitor.
- Loss of SEO Rankings – Your website may rank well in search engines. When your website is down and search engines send their bots to crawl your site, it’ll damage your rankings.
After reading the above, hopefully, you have an idea of why it’s important to have a 24/7/365 website uptime. When moving your website to a new host, you can follow the steps below to avoid downtime and successfully migrate your WordPress website.
Bonus Tip: You can always use our free website uptime checker tool to analyze your website status.
Ready to get started? Let’s go!
Method 1: Migrating Your Site for Free With the Help of Experts
In the first method, we’ll show you how to migrate your site from one web host to another for free. This step is for those who aren’t technically very sound. By following this method you can have your site migrated without paying a single penny and without following any complicated steps.
For that, you need to find out hosting service providers that offer free migration services. To make it easier for you, we have listed down a few hosting companies that will migrate your website for free provided you agree to host your site with them. So let’s check them out.
1. SiteGround
SiteGround offers free migration services for its users who opt for the GrowBig and GoGeek hosting plans.
To avail of the free migration service, after signing up, go to your SiteGround dashboard. Here, under the User Area go to Support » Request Assistance From Our Team » Transfer Website. By doing so, you can have all your website files and application database migrated from your old hosting service to SiteGround in a hassle-free manner.
Best of all, all the file paths and database information remain the same on your new hosting account, so you don’t have to fix anything on your site after migration.
Get started with SiteGround today!
2. HostGator
HostGator is another great option that offers free migration services to its users within 30 days of signing up for a web hosting service. This option is available with any plan that you sign up for. To make use of their free transfer service, you just need to fill out a 3-step form and ask them to transfer your site.
But before that you’ll need the following information:
- Old hosting FTP username
- FTP username and password
- WordPress admin info
- cPanel login URL along with username & password
- Latest WordPress database backup
Get started with HostGator today!
3. A2 Hosting
The next option that you can go for is the A2 Hosting service. Just like SiteGround and HostGator, A2 hosting also offers free migration services to its users.
Once you have completed your payment, log into your customer portal and click on Support » Migration . Click on the Request Migration option.
Now Select the checkboxes to agree to the Terms of Service and Acceptable Usage Policy and then click Continue to Step 2. In the next step, select the service you want and click on the Continue to Step 3 button. Finally in the next step, hit the Submit Migration button.
And that’s it. You’ll be notified as soon as the migration is completed.
Get started with A2 Hosting today!
Method 2: Migrating Your Site Manually (Step by Step)
This method is for those who are willing to migrate their website manually by themselves. Although it sounds intimidating for beginners it’s not as tough as it sounds to be. Just follow our steps properly and you should be good to go.
Here’s a list of steps that we’ll cover:
- Choose a New Web Host
- Create Your Site Backup for Migration Using Duplicator
- Import Your WordPress Site to Your New Host
- Change the Host’s File to Prevent Downtime
- Create a MySQL Database on Your New Web Host
- Start the Duplicator Migration Process
- Update Your Domain
Important: We want to remind you that some web hosting providers offer a free migration service. If you’re not sure whether your hosting provider offers free migration, then ask them first before doing it yourself. If they don’t offer it, then you can go ahead with the tutorial.
Step 1: Choose a New Web Host
Changing your web host is a big decision in itself, so you’ll need to make sure you’ve put enough effort into optimizing your site on your current host before moving to a new one. If it still fails to deliver on speed, security, performance, etc. even after optimizing, then you do indeed need to switch your web hosting.
When choosing a new web host, be aware of the specific features your site needs in its current position and in the future, so you don’t need to change hosts again down the line.
There’re a lot of different types of web hosting such as shared hosting, dedicated server hosting, and managed WordPress hosting.
When choosing a web host, here’s what we recommend:
Shared hosting:
Perfect for those who’re just starting out with a new website and need an affordable hosting solution. Bluehost is the best provider for shared hosting. They’re officially recommended by WordPress.org. IsItWP users get 70% discount along with a free domain name when purchasing a new hosting account.
Get started with Bluehost today!
Dedicated server:
It’s the best solution for users who want to lease the entire server for their sole use and need full control over the server. We recommend InMotion Hosting for dedicated servers. They let you choose the ideal data center for your site and provide free launch assist for 2 hours. InMotion hosting coupon will get you more discounts.
Get started with InMotion Hosting today!
Managed WordPress hosting:
The best choice for WordPress websites that attract high traffic volume. With managed WordPress hosting, you can operate your site on a server that’s uniquely optimized for the security configuration of WordPress. We recommend WP Engine for managed WordPress hosting.
Get started with WP Engine today!
We recommend checking out these comparisons between Bluehost vs InMotion hosting and Bluehost vs WP Engine.
After you buy a hosting plan, don’t install WordPress as you usually would when creating a new site. Just keep it empty and let’s move on to step 2.
Step 2: Create Your Site Backup for Migration Using Duplicator
Go to the admin area of the site you want to move, and install the Duplicator plugin. It’s one of the best WordPress plugins for migrations and backups. If you don’t know how to install a plugin, please refer to our step-by-step guide on installing a WordPress plugin.
Once you’ve installed the Duplicator plugin, go to Duplicator » Packages in your WordPress dashboard.
Then, click the Create New button in the right-hand corner of the page.
Next, you’ll see a page like the one pictured below. Click the Next button to start the package building process.
From there, it’ll take you to the second step in the package building process. Make sure that your scan is complete and all the results are Good. Then, click the Build button.
Wait until the process is complete. This may take a while, depending on how large your site is.
Once the process is complete, you’ll see download options for Installer, Archive, and One-Click Download. You’ll need to click on One-Click Download because you’ll need both your Installer and Archive files.
The Archive file is a copy of your site, and the Installer file will help you automatically download the installation process.
Step 3: Import Your WordPress Site to Your New Host
Next, you’ll have to upload the downloaded files (Installer and Archive) to your new web host. In order to do so, you can use an FTP client to connect to your new web host. If you’re new to this, you can follow the instructions given in this step-by-step guide to upload files via FTP to WordPress.
Using your FTP client, upload both the Installer and Archive files to the root directory (usually /username/public_html/ folder) of your website.
Before uploading, you’ll need to ensure that the folder is completely empty. Some WordPress hosting companies automatically install WordPress when you sign up. You’ll need to delete it if it’s already been installed by your host.
Step 4: Change the Host’s File to Prevent Downtime
You’ve already uploaded both the installer.php file and archive.zip file to your new web host in step 3, so try to open the installer.php file in your browser.
You can access the file using a URL like this:
http://www.example.com/installer.php
But, when you try to access the file, you’ll get a 404 error page because your domain is still pointing to the old host.
This implies that you need to change your domain name servers and point to your new host, but we don’t suggest you do so. If you do, it’ll show your users a broken website as you proceed migration.
That’s why we suggest using an alternative method so users can access your site fully, even during migration.
With this technique, you’ll be able to access your new site using your new domain temporarily on your computer. It’s done with a host’s file on your computer which you can use to map domain names to specific IP addresses.
Now, you’ll add an entry for your domain name in the host’s file so that it points to your new host, but only using your computer. Therefore, you can access your files on your new web host while your users will still be accessing your site from the old host. Hence, there’s zero downtime.
First, you’ll need to find out the IP address of your new web hosting server. To find this, open your cPanel dashboard and navigate to Server Information. There, you’ll see it as Shared IP Address.
Keep this page open as you’ll need to copy the IP address in a later step.
If you’re using Windows, go to Programs » All Programs » Accessories, right-click on Notepad, and select Run as Administrator. Then, a Windows UAC prompt will appear with 2 options: Yes and No. Click on Yes to launch Notepad with Administrator privileges.
Now on the Notepad screen, go to File » Open and then go to
C:WindowsSystem32driversetc. Select the host’s file and open it.
If you’re using Mac, you’ll need to open the Terminal app and enter this command to edit the host’s file:
sudo nano /private/etc/hosts
Then, both Windows and Mac users need to enter the IP address you copied and your domain name at the bottom of the host’s file like this:
192.168.1.22 www.example.com
Then, save your changes. Now you can now access your site files on the new host using your domain name on your computer.
Note: You’ll need to undo the changes you made to the host’s file after you complete the site migration in step 6.
Step 5: Create a MySQL Database on Your New Web Host
Now, you’re ready to run the installer.php file on your new host but you need to make sure a MySQL database is created before doing so.
In order to create a MySQL database, go to your cPanel’s dashboard and navigate to the Databases section. Then, you’ll need to click on the MySQL Databases section.
Now, you’ll see a field to create a new database. Type in your database name and click the Create Database button.
After you’ve created a database, scroll down the page to the MySQL Users section. From there, provide a username and password for your new user and then click the Create User button.
Please take note of the database username and password you just created because you’ll need it in later step.
Now, you have to add your user to the database. In order to do this, scroll down to the Add User To Database section and choose the MySQL database and user you just created. Then, click the Add button.
Now, your database is all set to use in your WordPress site.
Step 6: Start the Duplicator Migration Process
Finally, you’re all set to run the Installer file.
So, go to your browser’s address bar and enter the URL as shown below to run the installer.php.
http://www.example.com/installer.php
The installer will run a few tests and will show Pass next to archive and validation tests as shown in the screenshot above.
Check the terms and conditions box and then click the Next button.
From there, you’ll see Duplicator’s Step 2 open. You’ll need to enter your MySQL host, database name, username, and password. Insert localhost in the host field and fill in the database details you used in step 5.
Now, you can click the Next button to continue. But, we recommend you first click the Test Database button to ensure that there’re no database connection errors.
Then, Duplicator will import your WordPress database from the archive.zip file into your new host.
Next, Duplicator’s step 3 will ask you to update the site URL or path, but you don’t need to change anything here as you’re not actually changing it. So, click the Next button to continue.
Duplicator will run the final steps and show the login button in its 4th and final step.
Now, you’ve moved your WordPress site to a new web host completely. So, you can simply log in and check if everything is okay.
Step 7: Update Your Domain
Wondering how to move domain name from one host to another?
Well, we have come to the final step of switching your WordPress site from one web host to a new one.
In the previous step, you added a copy of all your site files to your new host but your domain still points to your old host, so you’ll need to update your domain as well.
In order to do so, you’ll need to switch your DNS nameservers. If your domain was registered with your hosting company, then it’s best to move the domain to the new web host. If it was registered in a domain registrar company like Namecheap, GoDaddy etc., then you’ll need to update your domain nameservers.
Domain nameservers are usually a couple of URLs, like the ones below, that you’ll get from your new web host.
ns1.hostname.com
ns2.hostname.com
The steps to changing domain nameservers differ from one domain provider to another; however, the basic concept is the same. So, we’ll show you how to change DNS nameservers with Domain.com and GoDaddy in this tutorial.
Let’s start with Domain.com.
First off, log into your Domain.com account. Find the domain that you want to update and click on the Manage button.
Next, click on DNS & Nameservers.
To change the nameservers, click Edit next to Nameservers.
Then, fill in your new nameservers provided by your new web host, and click the Save button.
That’s it!
Similarly, let’s take a look at how to update nameservers in GoDaddy.
First, log into your GoDaddy account and navigate to Domains. Then, click on the Manage button next to the domain name you want to update.
Then, go to Additional Settings and click on Manage DNS.
Now, you’ll need to scroll down to the Nameservers section and click on the Change button.
Next, click the dropdown and switch the nameserver type from Default to Custom. Then, fill in your new nameservers provided by your new web host, and click the Save button.
Now you’ve successfully updated your domain nameservers. Unfortunately, it may take 4 to 48 hours to execute these DNS changes.
In the meantime, you’ll now have the same content on both your old host and new host so users will see no difference and the site migration will be seamless without any downtime (You can check on the cost of downtime using our free downtime cost calculator or even use our website status tool to check if our site is live for your users).
We hope this guide helped you switch your WordPress site from one web host to another with zero downtime. You may also want to check out our step-by-step tutorial on creating a free business email using Bluehost.
Hello,
Great tutorial, I have one question: I have a Shared Web Hosting from Bluehost and I want to move 5 website’s I have on another host providider. I encounter a problem, for me to add a website in bluehost panel it need to change nameservers before uploading ani files from old provider. And if I do so I will have downtime. It’s another way to migrate my website without downtime? Thank you for your response!
Thanks, great article. But what is the best way to migrate a non-WP-Website to WordPress?
You can find it here: How to move from any CMS to WordPress
Hello!
Thank you for your awesome instructions. It worked very well.
After doing everything in this tutorial, should I see WordPress as installed in the cPanel of the new server?
I don’t see it installed even if I do have access to everything in WordPress.
Thank you.
To figure out where your WordPress files are installed, you might want to get free assistance from your hosting support team.
Thank you for the article. The migration process you have mentioned is very helpful for website owners like us. Well if any of you are looking to migrate their website to a new hosting provider then I would suggest you go for Hostripples which provides free migration and setup.
It is a great advice, but i think you missed out Hostnoc, they’re also very good, just a suggestion.