Trying to move a WordPress site to a new server or hosting can be a difficult task, not only for beginners but even if you are an experienced WordPress user and have some experience.
As moving a WordPress site from one host to another is a completely different process than launching a new site.
But don’t worry.. we have covered everything for you about how to move a WordPress site to a new server or host step by step.
Here’s a roadmap of the basic steps needed:
Create a backup of your site → Transfer the backup to the new hosting → Restore your site backup → Redirect the domain name so that visitors go directly to the new hosting.
Steps to move your wordpress site to a new host
Now let’s take a look at these steps in detail.
The first step: Create a backup copy of the site
The first thing to do when you want to move a WordPress site to a new host is to create a backup of the site (which can then be moved to the new host and restored there).
There are several ways to do this, and there are many extensions that can back up your site and then restore it at any time.
Here we are going to use the add Duplicator It is one of the best solutions for two important reasons:
It can be used on all hosts.
It’s a free add-on.
Now install Duplicator to get started.
The process of installing and activating the extension is quick and automatic, so you will not face any difficulties or surprises.
After activating the extension on your site, go to Duplicator and click on the Create New button.
On the next screen you can review your backup stats if you want to, but if you don’t want to just click Next
The next section is where the Duplicator extension scans your current hosting settings and assesses the compatibility of these settings in order to allow your backup to be problem-free.
Depending on the hosting type, you might get some notifications, but don’t worry.
The Duplicator extension also gives you some tips on how to tackle any hurdles and proceed with the backup.
If you see any notifications just click “OK” and then click the “Create” button.
If there are no notifications, you can click the Create button directly.
This is where the Duplicator extension does its job, the backup process may take some time depending on the size of your site, you need to keep your browser window open until the whole copy process is finished!
When the backup process is finished, you will see a confirmation screen like this:
Download the installer file and the archive containing the backup.
You’ll need it when going through the next steps on your way to moving your site to a new hosting.
Step Two: Prepare the new hosting
Before you can add the backup to your new hosting, you need to set it up by taking care of several things:
- Add your domain name to the hosting.
- Create an empty website database.
- Repeat your email addresses (optional)
We’ll cover how to do it all now:
Most web hosts use cPanel to enable users to set up their hosting environment themselves.
If your new hosting is using a different control panel that you are not familiar with, you may want to contact support so they can handle these three tasks for you.
Your hosting must provide you with cPanel login details during registration.
Find this email in your inbox that you used to register your account.
Some hosts allow you to go to cPanel directly from the main client area.
From within the hosting control panel, do the following:
1- Add your domain name to the new hostingNS
Once logged into the cPanel, go to the Domains section and click on Add Domain
Enter your domain name in the new domain name field, after that you will see the new domain name in the list.
After that you will see your domain name appear in the list, and at this point the server is ready to host your site with the domain name you entered.
2- Create a new database
The next step that you need to do to move your site to a new hosting is to create an empty database.
This will be the new location for your site data.
To add a new database in the cPanel.. Scroll down to the Databases section and click on MySQL Database Wizard.
Then you have to do the following steps in order to set up a new database.
Step 1: is choosing a name for your database.
Step 2: Create user accounts to then be able to access the new database.
Fill in the required fields and save your login and password, you will need them later.
Step 3: It is the last step where you need to assign a new user account to the database.
Simply select all the privileges and click Next Step.
Thus the new database has been added!
3- Move your email address to the new server (optional)
Most users will have at least one dedicated email set up under their domain name.
Email like firstname.lastname@example.org
When you move your WordPress site to a new hosting, you’re moving your domain name as well, so all emails will start arriving on the new hosting.
If you don’t set up your email accounts on your new hosting correctly, your emails will get lost somewhere or be flagged as ‘Not Delivered’ or ‘Recipient Not Found’
I guess that’s not what you want.
On the cPanel, scroll down to the EMAIL section and tap Email Accounts.
Then on the next page, click on the Create button on the right.
What we will do now is add your existing email addresses to the new host.
You will be asked to add the following data:
the range Select the new domain name you want to transfer.
user name – You need to enter the same username that you used with the previous hosting, for example if your email is Admin@yourdomain.com .. the username is usually Admin.
password The new password does not have to be the same as the old one
Storage space It is better to set it to Unlimited
Then press construction to finish settings.
If you have more email addresses on your old hosting, repeat the process for each one.
Now you should see your email in the list of (existing emails)
At this stage, your new hosting is ready to receive any incoming mail directed to your domain.
Step Three: Upload the site to the new hosting
With your domain name, database, and email ready, we can now upload your entire site backup to the new server.
To do this, go to cPanel and scroll down to the FILES section and click on File Manager:
Navigate to the file created for the new domain name – to which you are moving your site.
In most cases it will be in the form of “public_html / yourdomain.com”
Now all you have to do is download the site archive – which you got from the Duplicator extension, and remember to download both the archive (zip) file and the installer.php file
This is the file that everything will end up with when you move your site to the new hosting.
Fourth Step: Edit the local host file to access your site.
At this point you are almost ready to perform the final import of your site and transfer all of its files and data.
But before you can do that you must be able to access the new server via the browser from your computer.
It sounds rather simple, but there is one problem that we need to address:
At the moment your domain is not officially redirected to the new server – we haven’t done this yet to prevent a crash – and we’ll only do that in the last step.
This is all fine, but it also means that your site is essentially invisible to users (including you) and not directly accessible.
To get around this, you can set your computer to switch to the new server manually when searching for your site’s domain name.
Here’s how to do it:
First – Go back to the cPanel and see the IP address of the new hosting server.
This information is usually visible in the sidebar.
Write down this address somewhere you will need it later.
To set your computer to access the new server manually, do the following:
First: for Windows
The hosts file can be found at: .C:WindowsSystem32driversetc
It may be hidden, so you may want to adjust the file’s display settings to view it.
There is no hosts file extension but it is in plain text format, which means you can open it with Notepad
At the end of this file add a new line like this:
(your server IP address) (yourdomain.com)
For example: yourdomain.com then 10.21.11.192
Then save the file.
Second: for Mac
Use the Terminal app.. You can find it in the App Launcher.
Type sudo nano /etc/hosts..then press Enter.
Enter the password and press Enter.
You are now in the Nano text editor and you have the hosts file open.
Put the cursor at the bottom using the arrow keys, and at the end of this file add a new line like this:
(your server IP address) (yourdomain.com)
For example: yourdomain.com then 10.21.11.192
Then press and hold the (Control and O) keys to save the file .. then (Control and X) to exit.
From now on when you try to navigate to your site from your web browser you will be taken directly to the new server.
Let’s confirm that you can access your new site’s server just this way.
Anyone else trying to visit your site will go to your old site host.
So, you have practically not moved your site to the new hosting yet.
Fifth Step: Install the website on the new hosting
Launch your browser and go to yourdomain.com/installer.php
Once you do that you will see the main interface of the installer, all you have to do here is accept the terms and hit the Next button.
The next step is where you will need to enter the contact details for the new database – the empty one you created before.
For most hosts, the host value should be set to localhost.
Click Test Database when all fields are filled out.
If all goes well you should see this screen:
You can click the Next button to continue, then confirm the pop-up message to run the installer.
Then click the Next button again on the next screen to confirm the site address and URL.
After a few seconds the installation should complete, and here’s what the final confirmation message looks like when you can move a site to a new host:
It is a good idea to check the box labeled “Automatically delete installer files” next to the “Admin Login” button.
Now, click on the “Admin Login” button to access the WordPress site’s control panel on the new hosting.
All of your WordPress accounts are the same as they were before you moved the site to the new hosting.
After logging in, you will see a confirmation that the installer files have been removed.
You may not need to add the Duplicator either anymore, deactivate it and then delete it.
You can see your site on the new hosting now when you visit it.
Keep in mind that you are only seeing it now but not yet published online, due to the hosting files we talked about a little while ago.
Let’s take that into the final step.
Step Six: Domain Name Forwarding
At this point, your entire site has been migrated to the new hosting.
The last step we need to do now is to tell the whole world to go to this new server when searching for your location – instead of the old one.
This is usually done by adjusting the nameservers settings for your domain name.
To do this you will need to go back to where you purchased/registered the domain name.
When changing the nameservers settings you will need to provide new DNS addresses, those assigned by your new host.
You can find these nameservers addresses in the new hosting control panel.
- For example in SiteGround you can find it when you go to:
My Accounts → Information & Settings → Account DNS
- If you are going to host your site at Bluehost they use the same DNS addresses for all the sites, and you can find them at Here.
If you are having trouble figuring out the correct DNS addresses, you can contact your hosting support.
Once you have your domain name’s DNS settings set to point to the new server, you’ll need to wait a while before your site starts working (this process usually takes about 48 hours)
Congratulations, your site has been migrated successfully and you have now learned how to move your WordPress site to a new hosting! 🍾✨
What should be done after moving your site to a new hosting?
First you can go back to the hosts file on your computer and erase the extra entry you made during the migration..you don’t need this line anymore.
Also you may want to re-check if your email configuration is still working in the email tool.
Even though you still have the same email address, it’s possible that the actual configuration details have changed.
Send several test emails to yourself from another email address and check if they reach you.
If it doesn’t work, you’ll need to check with your new hosting company and get information on how to set up the email address correctly.
Now your site is running normally on the new hosting.
Is there anything about the steps described here that isn’t clear? Please share your opinions and questions with us in the comments below this article.