Moving your website from one host to another is often seen 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 is completing the process without downtime.
Why Avoiding Downtime Is Important When You Move Your WordPress Website
Downtime causes confusion – after all, every site should be up 24/7.
You could scare visitors away - if your site is down, users may consider their alternatives.
It looks unprofessional - there are plenty of legitimate reasons why a website might experience downtime; however, not being there when they need you can make you look unprofessional.
What You Should Consider Before You Move Your WordPress Website
It goes without saying that you can’t migrate a site without having somewhere to move it to. It means finding a new web host, which may require some research if you’re looking for a WordPress-friendly platform.
Once you’ve found and purchased server space on your new host, you’ll need to pick a migration tool to complete the job. We’re big fans of Duplicator, and we’ve extolled its virtues in the past:
However, another popular plugin is UpdraftPlus. This is primarily a backup tool – and is incredibly popular – but it can also be used as a migration tool by purchasing one of its premium plans.
It’s also worth noting that you shouldn’t install WordPress on your new host before the migration. The plugin we’re going to use will take care of the entire process for you, so let’s move right on to the tutorial section.
How to Move Your WordPress Website to a New Host with No Downtime (In 5 Steps)
Before we get started, it’s worth noting that many web hosts offer free migration services for new clients. However, they might not be able to guarantee 100% uptime during the process.
On the other hand, if you don’t mind tinkering with WordPress, install and activate the Duplicator plugin. We’ll be using this throughout because it’s free and easy to use, so let’s get started!
The process will have 5 steps:
Export a Copy of Your Website
Go to WordPress Dashboard → Duplicator → Packages
Click on the Create New button
Give your package a descriptive name
Use the default settings under the Setup tab to store it on your server
Click on the Next button
Give the plugin a few seconds to scan your site and make sure everything’s working properly for the package to be created
Depending on the size of your website, this process might take a few minutes. When it’s done, a Package Completed message will pop up. Underneath, you’ll find two buttons — one to download your archives and another for the installer.
Click on both and save them to your computer. When complete, you’re ready for step number two. It’s worth noting that all of the steps beyond this point will only deal with your new site, so you can forget about this until the migration is complete.
Note: A few warnings might pop up depending on your site’s settings. If so, 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
Upload Your Copied Site to Your New Web Host
Naturally, neither of those files will do much good sitting on your hard drive, so the next step is to upload them to your new server.
Use a File Transfer Protocol FTP) client – we recommend FileZilla. When you signed up for your new web host, you should have received a set of credentials to access 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.
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 and use FileZilla’s upload function to move both your Installer and Archive files to your server.
Modify Your hosts' File
Most operating systems enable you to manually map specific URLs to IP addresses using the system's hosts file. In this step, you are going to map the domain of your existing WordPress site to your new server’s IP address.
Doing this will enable you to access your new web host and migrate your website before changing your domain’s nameservers. Otherwise, you would be pointing your domain to a server that hasn’t been set up yet, so all users would see it is a broken site.
By migrating your website beforehand, you can ensure there are working copies on both your old and new servers while the changes to your domain propagate. Modifying your host file enables you to do this comfortably.
Navigate to C:/Windows/System32/drivers/etc/
Open the system's hosts file in question using your preferred text editor.
Add both your new host’s IP address and your existing domain to the file
Save the changes to the system's hosts file
Note: If you’re not sure what your new server’s IP address is, you can always find out by accessing your cPanel and checking out the Server Information section.
Depending on which type of plan you’re using, you may be looking for either a shared or dedicated IP, so keep your eyes peeled:
You’ll be redirected to your new web host when you type that address into your browser. However, because you haven’t yet set WordPress up, you’ll see a placeholder:
Run Your Installer and Complete the Migration
Next, execute the installer we uploaded to our new host’s root directory.
Set up your Database and a corresponding user for your new website through your web host’s cPanel. You may need to check the hosting's support team.
Navigate to www.yourwordpresssite.com/installer.php, replacing the placeholder domain with yours.
Enter the name of that database, as well as the user and password you chose, into the appropriate fields within Duplicator
When you’re done, click the Test validate button to ensure everything is working as it should. If it isn’t, your database might not get imported correctly, so don’t skip this step!
Scroll to the bottom of the page and click on Run Deployment. The plugin may take a couple of minutes to do its thing. 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
Advance to the next screen. Here, you’ll get the option to test whether your site is working correctly
Click each of the buttons displayed above in order. By the end, your website will be ready and the Duplicator installer will remove any leftover files from your server (or notify you if it can’t do so automatically).
Access your site and double-check that it’s working exactly as it was before the migration.
Update Your Domain’s Nameservers
The only thing left to do now is to update your domain’s nameservers to those of your new web host, which should appear either within cPanel or their knowledge base. Since your site is now available on both servers, your visitors will be guaranteed access to it while the changes propagate.
If you used a registrar such as Namecheap to set up your domain, simply find your new web host’s nameservers and update them according to the instructions on your chosen platform.
You can also do the same if you registered your domain through your previous web host. To do this, log into your old web hosting account and look for the section that lists your domains.
Each web host deals with this process slightly differently, but the result is the same. Essentially, you need to locate your existing domain and look for an option to update its nameservers, for example:
Next, you’ll want to choose to use custom nameservers and replace your existing ones with your new web host. Afterward, save the changes and wait for them to propagate.
Important Note: 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.