How to Move WordPress Site to New Host in 7 Easy Steps

Are you looking to give your website a new home? Moving your WordPress site to a new host can seem like a daunting task, fraught with technical challenges and the risk of downtime.

However, with the right approach, it can be a smooth and straightforward process that brings various benefits to your website.

Whether you’re looking for improved performance, enhanced security, or better customer support, migrating to a new WordPress host can be the key to unlocking these advantages.

In this step-by-step guide, we’ll show you how to move your WordPress site to a new host easily and without any downtime.

Note: Before we start, remember that many WordPress hosting providers offer a free migration service. It may not be listed on their website, so you only need to ask. Usually, it’s free, but some may charge a small fee.

That’s been said, let’s look at the steps to move WordPress to a new hosting server.

Step 1: Choose Your New WordPress Host

If you are stuck with poor customer support or a slow web host despite improving WordPress speed and performance, then it’s time to switch your WordPress site to a new host.

When looking for a new WordPress hosting service, it’s important to make an informed decision so that you don’t have to switch again soon.

Which Host Should I Transfer My WordPress Site To?

If you’re unsure which host to switch to, it’s best to identify your top priority and research providers who excel in that area.

Here’s who we recommend:

  • If you’re looking for shared WordPress hosting, we recommend going with Bluehost. They’re officially recommended by
  • If you’re looking for managed WordPress hosting, we recommend you try WP Engine. They are the most popular managed provider in the industry.
  • For the fastest WordPress hosting, we recommend Kinsta. They are a top WordPress hosting company with faster servers and excellent customer service.
  • Lastly, for cloud hosting providers for WordPress, we recommend DreamHost.

After acquiring your new hosting, do not install WordPress. We will do that later.

As of right now, your new WordPress hosting account should be entirely empty, with no files or folders in your main directory.

Step 2: Install and Set Up Duplicator Plugin for Migration

First, install and activate the Duplicator plugin on the website you want to migrate. For more, check out how to install a WordPress plugin.

Duplicator – WordPress Migration & Backup Plugin

Duplicator is the best WordPress migration plugin available on the market. It also supports automated scheduled backups, cloud storage, one-click recovery, and smart migrations.

Once Duplicator is installed and active, go to the Duplicator » Packages from your WordPress admin area.

Next, click the Create New button in the top-right corner.

Create New Duplicator Package

This will bring up the Duplicator’s backup wizard.

On the next page, you can give your backup a name or just click the Next button to proceed.

Duplicator Setup Settings

Next, Duplicator will scan your system to ensure that everything is in order to prepare the package.

Make sure your scan results are correct (everything should indicate “Good”), then click the Build button.

Duplicator Scan

The process may take several minutes, so keep the tab open while the plugin does its work.

When it’s done, you’ll see a Package Build Completed message pop up. You’ll find three buttons underneath. One is to download your Installer, the second is to download your Archive zip file, and the third is to Download Both Files with a single click.

Download Package Files

Simply click on the Download Both Files button.

The archive file is a copy of your whole website, while the installer file automates your installation process.

Step 3: Import Your WordPress Site to the New Host

After you’ve downloaded both the archive and installation files, the next step is to submit them to your new web hosting provider.

You can do this by connecting to your new web server using FTP.

When connecting to your FTP client, you usually enter your website’s domain name as the host.

However, because your domain name still points to the old host, you need to connect by establishing your server’s IP address or hostname.

This information is accessible through your new hosting account’s control panel dashboard.

IP Information in SiteGround

If you can’t find this information, contact your new web hosting provider for help.

Using the FTP client, upload the installer.php and archive .zip files to your website’s root directory.

This is usually the /username/public_html/ folder.

Again, if you are unsure, contact your site hosting company.

Make sure your root directory is totally empty. When you sign up for a web hosting service, some of them will automatically install WordPress.

If you already have WordPress installed in your root directory, you need to first delete it.

After that, upload the archive zip file and installer.php to your site’s root directory.

Step 4: Update the Hosts File to Avoid Downtime

After you’ve uploaded both files to your new server, go to the installer.php file in a browser.

Normally, this file can be accessed by a URL like this:

This URL, however, will direct you to the old web host and result in a 404 error. This is because your domain name still points to the old web host.

Normally, other guides would tell you to update your domain nameservers and point them to your new hosting provider. However, this is wrong.

If you do this right now, your visitors will see a broken website while you migrate it.

We’ll show you how to temporarily view your new site on your PC without affecting your old site.

This is done via your computer’s hosts file.

The hosts file can be used to assign domain names to specific IP addresses. In other words, it allows you to trick your computer into thinking that the webpage has moved when it hasn’t.

Let’s look at how to create an entry for your domain name in the hosts file so that it links to your new hosting provider.

Making these adjustments will allow you to access the files on your new server using your domain name, while others will continue accessing your site through the old host. This provides 100% uptime.

Create an Entry for Your Domain Name in the Hosts File

The first thing you will need to do is to find the IP address of your new web hosting provider.

To find this, go to your cPanel dashboard and click the expand stats option in the left-hand sidebar. Your server’s address will be shown as a Shared IP Address.

For example, on Hostinger, you can see your server IP address under the hosting plan information tab.

Website IP Address in Hostinger hPanel

If you’re using a Windows computer, you’ll need to open the Notepad applications with administrative rights.

Simply click the Start button and then look for the Notepad application. Right-click on the Notepad application icon and select Run as administrator.

Run Notepad as Administrator

A Windows UAC prompt will display, and you need to click Yes to launch Notepad with administrative privileges.

Now, go to File » Open on the Notepad screen and then navigate to the C:\Windows\System32\drivers\etc folder. From here, select the hosts file and open it.

If you are using a Mac, use the Terminal applications and execute the following command to edit the host file:

sudo nano /private/etc/hosts

Once you open the hosts file, you need to enter the IP address you copied, followed by your domain name. Like this:

Replace the IP address with your cPanel copied IP address and with your own domain name.

Once you are done, save your changes.

You may now access your files on the new server by typing your domain name into your computer.

Important: After you’ve completed the migration (step 6), remember to undo the changes you made to the host file.

Step 5: Creating MySQL Database on Your New Host

Before running the Installer on the new host, you must create a MySQL database in your new hosting account.

Go to your new hosting account’s cPanel panel, scroll down to the Databases section, and click the MySQL Databases icon.

MySQL Databases Option in cPanel

You’ll see a field for creating a new database.

Simply enter your database name and click the Create Database button.

Create New Database

After you’ve created the MySQL database, you should scroll down to the MySQL User section.

Next, enter a username and password for your new user and click the Create User option.

Add New User

Following that, you must add this user to your databases. This will grant the username you just created full access to that database.

You can do so by scrolling down to the Add User to Database section. Simply choose the database user you created from the drop-down menu next to the user, select the database, and click the Add button.

Add User to Database

Your database is now ready to work with WordPress. Remember the database name, username, and password. You’ll need that info for the next step.

Step 6: Start the Duplicator Migration Process

We’re now ready to start the installer process. Simply enter the following address in your browser window. Replacing with your domain name:

Duplicator Installer

The Installer will perform a few checks and display Pass next to the archive and validation tests.

To proceed, check the terms and conditions checkbox and click the Next button.

You’ll now be asked to enter your MySQL hostname, database name, username, and password.

Your host is most likely localhost. Following that, you’ll enter the details of the database you created in the previous step.

Enter Database Details

Next, the Duplicator must verify that it can connect to the database and complete the installation.

Simply click on the Validate button at the bottom to continue.

If Duplicator can connect, the test results will show as Pass.

You may now check the terms and notices box and click the Next button.

Now, Duplicator will start importing your WordPress database from the archive zip file to your new database.

It will then prompt you to update the site’s URL or path. Because you are not changing domain names, you DO NOT need to make any changes here.

Click the Next button to continue.

The Duplicator will run the last step and show the login button.

Duplicator Migration Finished

You may now log in to your WordPress website on the new host to ensure that everything is functioning properly.

Step 7: Update Your Domain Name Servers (DNS)

After you’ve uploaded your files to your new host, you’ll need to change your Domain Name Server settings to point to the new server address. If you do not do this, your DNS settings will still point to your old host.

Your domain registrar will have all of the information you need to do this step but keep in mind that it may take up to 48 hours for your domain to propagate properly. Avoid making any modifications to your website during this time since they will be done on the old version!

Congratulations, your site has been successfully migrated, and you now know how to move the WordPress site to a new host!

For more, check out these other helpful resources:

Lastly, follow us on Facebook and Twitter to stay updated on the latest WordPress and blogging-related articles.