Skip to content
WPShout content is free. When you purchase through referral links on our site, we earn a commission. Learn more

How to Move WordPress to a New Server or Host (In 6 Steps With No Downtime)

How to Move WordPress to a New Server or Host

Trying to move WordPress to a new server or host can be an intimidating task, and not just for beginners but even if you’re a fairly seasoned WordPress user.

That’s all because moving WordPress from one host to another is an entirely different type of challenge than launching a 100% new site.

Don’t sweat, though! We have you covered. Here’s how to move WordPress to a new server or host, step by step, and with no downtime in between.

Here’s the roadmap of what we’re going to do:

Create a backup of your site → move that backup over to the new host → restore it there → redirect the domain name so that visitors go directly to the new host.

Step 1: Duplicate the site

The first thing to do when you want to move WordPress to a new server is to create a backup of the site (which then can be taken to the new host and restored there). You can then use an online cloud solution to keep your backup safe.

There are many methods of getting that done. There are even services in the market that will take care of the process for you, not to mention tens of different plugins that promise smooth backup/restore experiences.

Here, we’re going to focus on one of the best solutions of them all. A couple of reasons:

  • it can be used on all hosts
  • it’s free
  • it does work hiccup-free

That solution is called Duplicator – a WordPress plugin. It’s been getting a lot of good press on the web, and for a very good reason. It simply. Does. Work.

Okay, so get Duplicator installed to begin. The installation process is standard, so no surprises there.

With the plugin ready, go to Duplicator and click on the Create New button next to Packages:

Move WordPress to a new server or host: first create a new backup

On the next screen, you can review the parameters of the backup if you want to, but that’s not mandatory. If you’re in a hurry, simply click on Next.


The next section is where Duplicator scans through your current hosting setup and evaluates how compatible that setup is in order to allow the backup to be made hassle-free.

You might see a notice here and there depending on your host but, in most cases, you don’t need to worry about those. Duplicator also gives you some tips on how to get these all cleared and proceed with the backup.

If you see any notices, check the Yes field and then click on the Build button. If there are no notices, you can click on the Build button right away.


This is where Duplicator does its magic 🧙. The backup process might take a while depending on the size of your site. You need to keep the window open until it finishes!


When the backup finishes, you’ll 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 move WordPress to a new server.

Step 2: Get your new host ready

👉 Have you chosen your WordPress compatible hosting? If not, our survey information can help you make the decision. We recommend Bluehost.

Before your new host can receive the backup, you need to get it prepared by taking care of a couple of things:

  • add your domain name to the server
  • create a blank database for the site
  • (optional) duplicate your email addresses

We’ll cover how to do all that next:

Most web hosts use cPanel to enable users to set up their hosting environments on their own, without having to understand what’s going on under the hood. If your new host uses a different management panel, you might want to contact the support so that they can handle those three tasks for you.

Your host should have provided you with login details to cPanel during signup. Look for that email in your inbox. Some hosts let you go to cPanel directly from the main client area. For example:

Here's how to access cPanel with SiteGround:
SiteGround cpanel
Here's how to access cPanel with Bluehost:
Bluehost cpanel

Add your domain name to the new server

Once you’ve logged in to cPanel, go to the DOMAINS section and click on Addon Domains:

addon domains

Enter your domain name into the New Domain Name field. The other two fields will be filled out automatically. Click on Add Domain.

new domain

After a second, you’ll see your new domain on the list. At this stage, the server is ready to welcome your domain name and website.

domain ready

Create a new database

The next thing we need to do in order to move WordPress to a new server is create a blank database. This will be the new home for your site’s data.

To add a new database in cPanel, scroll down to the DATABASES section and click on MySQL Database Wizard.

database wizard

This is a helpful step-by-step interface that will guide you through the process of setting up a new database.

  • Step 1 is about picking a name for your database.
db name
  • Step 2 is about creating user accounts that will then be able to access that new database. That new user account is how WordPress accesses the database back and forth. Fill out the required fields and note down the login and password somewhere. You’ll need those later on.
db user
  • Step 3 is the final one, and it’s where you need to assign your new user account to the new database. Simply select All PRIVILEGES and click on Next Step.
db assign

The new database has just been added!

(Optional) move your email address to the new server

Most users will have at least one custom email set up under their domain name. Do you? In other words, do you have an email like

If so, read this section. If not, skip to the next step.

When you move WordPress to a new server, you’re effectively moving your domain name to the new host as well, so all your emails will start arriving at that new host.

However, if you don’t set up your email accounts on the new server correctly, those emails will either get lost somewhere or be marked as “undelivered: recipient doesn’t exist.” I’m guessing that’s not what you want.

Luckily, preventing this is quite simple:

In cPanel, scroll down to the EMAIL section and click on Email Accounts:

email accounts

Click on the + Create button that’s on the right.

create email

What we’re going to do now is add your existing email addresses to the new server.

Here’s the form:

email add form
  • Domain – select your new domain name – the one you’re moving
  • Username – this is important(!), you need to enter the same username that you used with your previous host; for example, if your email is then the username is mark
  • Password – a new password, doesn’t need to be the same as the old one
  • Storage Space – best set to Unlimited

Click on + Create to finalize the setup.

💡 If you have more emails set on your old host, repeat the process for each one.

You should see your email on the list.

existing emails

At this stage, your new host is ready to welcome any incoming mail addressed to your domain.

Step 3: Upload the site to the new host

With the domain name and database ready (and email as well), we can now upload your entire site backup to the new server.

To do that, in cPanel scroll down to the FILES section and click on File Manager:

file manager

Navigate to the directory that’s been created for the new domain name – the one you’re transferring in. In most cases, that’s going to be something like public_html/


Once there, simply upload your site’s archive – the one you’ve got from Duplicator. Remember to upload both the archive (zip) and the installer.php file. This is the directory where everything will end up when you move WordPress to a new server.


Step 4: Edit your local hosts file

At this stage, you’re almost ready to perform the final import of your website and transfer over all its files and data.

However! Before you can do that, you need to be able to access the new server via the browser from your local computer. This does sound fairly simple in itself, but there’s one problem that we need to address:

Right now, your domain hasn’t been officially redirected to the new server – we haven’t done it yet to prevent downtime, and we’re only going to do that at the very last moment. This is all fine and dandy, but it also means that your new server is basically invisible to the public (including you) and cannot be accessed directly.

To work around that, you can configure your local computer to go to the new server manually when looking for your website domain.

Here’s how to do that:

First, go back to cPanel and see what your new server’s IP address is. This piece of info is usually visible in the sidebar. Example:

server ip

Note this address down somewhere; you’ll need it in a minute.

How to edit the hosts file on Windows:

The hosts file can be found in C:\Windows\System32\drivers\etc. It may be hidden, so you might want to adjust the file display settings to see it.

The hosts file has no extension but it’s in plain text format, which means that you can open it with Notepad.

At the very end of this file add a new line like this:


For example:

Save the file.

How to edit the hosts file on Mac:

Fire up the Terminal app. You can find it via App Launcher.

Type in sudo nano /etc/hosts and hit enter.

Enter your admin password and hit enter.

You’re now in the Nano text editor and you have the hosts file open.


Position the cursor at the bottom using the arrow keys.

At the very end of this file add a new line like this:


For example:

Once you have the line there, hold down 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’ll be taken straight to the new server.

💡 Let’s emphasize that only you can access your site’s new server like that. Everyone else will still go to your old server when they try to view the site. So from their point of view, you didn’t move WordPress to a new server just yet.

Step 5: Install site via online installer

Fire up your browser and navigate to

Once you do that, you’ll see the main interface of the installer. All you need to do here is accept the terms and click on Next.

duplicator installer

The next step is where you’ll need to enter the connection details of your new database – the blank one you created a couple of minutes ago.

db setup

For most hosts, the Host value should be set to localhost. Click on Test Database when you have all the fields filled in.

If all went well, you should see this:

db success

You can click on Next to proceed, and then confirm the popup message to run the installer.

Click Next again on the next screen to confirm the site title and URL.

After a couple of seconds, the installation should be complete. Here’s what the final confirmation message usually looks like when you manage to move WordPress to a new server:

Move WordPress to a new server or host: Duplicator success!

It’s a good idea to check the box labeled, “Auto delete installer files …”

Click on Admin Login to access the WordPress dashboard of the site on the new host. All your WordPress accounts are the same as they were before moving the site to the new host.

After you log in, you’ll see a confirmation that the installer files have been removed. You probably don’t need the Duplicator plugin anymore so go ahead and deactivate/delete it.

You can see your website on the new server in all its glory when you navigate to Just keep in mind that it’s just you seeing it right now (it’s not yet been made public on the web) – this is due to the hosts file thing that we talked about a minute ago. Let’s address this in the final step:

Step 6: Redirect the domain name

At this stage, your website has been fully migrated to the new server. The final step that we need to do now is tell the whole world (web) to go to that new server when looking for your site – instead of the old server.

This is usually done by editing the nameservers assigned in your domain name setup. To change those, you’ll need to go back to where you registered the domain in the first place.

When changing the nameserver settings, you’ll need to provide the DNS addresses of your new nameservers – the ones assigned with your new host. You can find those namserver addresses in your new host’s user panel.

For example, at SiteGround, you can find those when you go to My Accounts → Information & Settings tab → Account DNS:

SiteGround DNS

If you’re going to be hosting your site with Bluehost, they actually use the same DNS addresses for all sites. You can find those addresses here.

If you’re having trouble finding out what the correct DNS addresses are, you can always contact the support at your new host. They’ll let you know no problem.

Here are some tutorials on how to change the nameserver settings with a couple of popular registrars:

Once you set the DNS settings of your domain to point to the new server, you’ll need to wait a while before they propagate throughout the whole web. This process usually takes around 48 hours.

Congratulations, your website has been successfully migrated and you’ve now learned how to move WordPress to a new server! 🍾✨

What’s next after you move WordPress to a new server?

First off, you can go back to your hosts file and erase that additional entry you made during the migration. You don’t need that line anymore.

Also, you’ll probably want to double check if your email configuration still works in your email tool. Even though you still have the same email address, the actual details of the configuration might have changed.

Send a couple of test emails to yourself from another address and see if you’re getting them. If not, you’ll need to check with your new host and get info on how to set up your email software correctly.

And that is it! Your WordPress website is now with the new host.

Are you struggling to move WordPress to a new server or host? Is anything about the process described here unclear? Let us know in the comments.

Don’t forget to join our crash course on speeding up your WordPress site. Learn more below:

Yay! 🎉 You made it to the end of the article!
Karol K

Inline Feedbacks
View all comments

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!

Would love your thoughts, please comment.x

Most Searched Articles

Best JavaScript Libraries and Frameworks: Try These 14 in 2024

In this post, we look at the best JavaScript libraries and frameworks to try out this year. Why? Well, with JavaScript being available in every web browser, this makes it the most accessible programming language of ...

20 Best Free WordPress Themes for 2024 (Responsive, Mobile-Ready, Beautiful)

If you're looking for only the best free WordPress themes in the market for this year, then you're in the right place. We have more than enough such themes for you right ...

12 Best WordPress Hosting Providers of 2024 Compared and Tested

Looking for the best WordPress hosting that you can actually afford? We did the testing for you. Here are 10+ best hosts on the market ...

Handpicked Articles

How to Make a WordPress Website: Ultimate Guide for All Users – Beginners, Intermediate, Advanced

Many people wonder how to make a WordPress website. They’ve heard about WordPress, its incredible popularity, excellent features and designs, and now they want to join the pack and build a WordPress website of their own. So, where does one get ...

How to Start an Ecommerce Business: Ultimate Guide for 2024

Is this going to be the year you learn how to start an eCommerce business from scratch? You’re certainly in the right place! This guide will give you a roadmap to getting from 0 to a fully functional eCommerce business. ...