Before we go any further, let us reassure you that it isn’t difficult to migrate a WordPress site from one hosting provider to another. Preparation is the key, along with the right tools.

That said, getting everything prepared ahead of time is where the uninitiated may encounter issues. We’ll briefly discuss what to look for, but it’s best to check with both your old and new hosting companies if you’re feeling any trepidation.

Things to Be Aware of Before You Begin

If we included everything there is to know about migrating a website here, this post would become an eBook. We’ll be focusing solely on the process of moving your website. We won’t be discussing migrating email, setting up your DNS, migrating your domain, or how to migrate non-WordPress websites.

Depending on the features your website uses, it’s also possible that you may need to migrate more than just your WordPress site. Be sure to have your hosting provider’s technical support contacts handy in case you need them.

It’s important to note that you shouldn’t change your DNS to your new hosting provider until AFTER you’ve migrated your website. If you do it first, you may not be able to access your original website to complete the migration. Most web hosts provide a temporary URL you can utilize for the migration process before your DNS is updated.

Before beginning, you should check to make certain that both of your hosting accounts have the same version of PHP installed. If they don’t, contact your hosting providers about updating them.

To check PHP version, log into both new and old web hosting control panels (We are using cPanel below, which is very popular) and choose either “MultiPHP Manager” or “MultiPHP INI Editor” to check your current PHP version.

For example, in MultiPHP Manager we can see that our original hosting account is running PHP version 7.4. You’ll want to ensure that your new hosting account is running the identical PHP version and PHP settings before the migration to avoid potential errors.

It’s also crucial that you install a fresh copy of WordPress on your new hosting account. You won’t need to do anything with it, and it will be overwritten when you import your website. But it needs to be present for the migration tool to do its magic.

Most hosting providers offer a one-click WordPress install option. If yours doesn’t, contact support to get WordPress added.

How to Migrate a WordPress Site in 3 Simple Steps

We’re going to use a free WordPress plugin called All-in-One WP Migration to move our sample website from one hosting provider to another. The free version does limit you to a website no larger than 512 MB, but most sites fall well below that threshold.

Step 1: Install the Plugin

You’ll need to download and install the plugin to both your original WordPress site and new freshly installed WordPress with the new hosting provider. Log in to the WordPress admin sections for both hosts. Then follow the next few steps for each. You can start with either one, the order is unimportant.

On the left hand side of the page, hover over “Plugins” and then click on “Add New”.

You’ll be presented with a page of recommended plugins. We’ll wave our hand and say, “these aren’t the plugins you’re looking for.” You’ll need to search for “All-in-One WP Migration” in the search bar at the top right.

You should see the tool populate as the first item in the list. Click “Install Now” to…install now. See? Easy so far.

The plugin will begin its installation process.

Once finished, you’ll need to click “Activate” to…activate the plugin.

These steps take very little time. Once the activation process is completed you’ll be presented with a list of your active WordPress plugins. You should see All-in-One WP Migration included.

The plugin installed successfully! Now repeat this process for the second, fresh WordPress site you installed on your new hosting account.

Step 2: Export Your Site From Your Old Hosting Account

All-in-One WP Migration works by combining every file that constitutes your website into a single archive that’s easy to transfer between accounts. If offers several ways to accomplish this, but the simplest is to export a file to your local computer. You’ll then import this file on the other end.

To migrate a WordPress site, begin by finding the All-in-One WP Migration tool in the menu on the far left of your admin section. Hover over it and then click on “Export”.

A clean, simple interface will greet you.

Click on “Export To” and choose “File”.

A pop-up window will ask you to download the migration backup. Conveniently, it will tell you the size of your site. If it’s smaller than 512 MB, you’re clear to use the plugin for free.

Once you’ve clicked the download button, you’ll choose a destination folder on your computer. Make sure to remember where you’re saving the file!

Your entire website is now sitting on your local hard drive, ready for transport up to your new hosting account.

Step 3: Import Your Site to Your New Hosting Account

Make sure you’re logged into the WordPress admin section at your new provider and find the All-in-One WP Migration tool again, but this time, click on “Import”.

Here you can either drag and drop the backup file we exported earlier or click on “Import From”.

Once again, choose “File”.

Locate the exported backup file in the folder where you saved it and click “Open”.

A progress bar will appear, charting the upload process. Once complete, you’ll be presented with the following warning.

This is nothing to worry about. You’ll be overwriting the fresh WordPress install you added earlier.

Of course, be certain that you’re exporting and importing from the right accounts. You don’t want to inadvertently export from your new hosting account and then overwrite your website.

Click “Proceed” to…proceed. In almost no time you’ll see that your site has been imported successfully.

Before you click “Finish” choose the “Save permalinks structure” link. This is a critical step that you don’t want to miss. The permalinks will open in a new window.

You’ll likely be asked to log in to your account again. Bear in mind that you now need to use the admin credentials from the WordPress site on your old hosting account, even though you’re logging into your new. This is a result of the transfer.

Your site's new permalinks should populate automatically. All you need to do is choose “Save Changes” and the permalink structure will update.

Now go back to the last window and click “Finish”.

And That’s How Easy it Is to Migrate a WordPress Site

Your migration is complete! This is what the website on our new hosting account looked like before the migration. It’s the stock website that’s included in a fresh install.

And here’s the same website URL after the migration is finished.

You can see that our sample website has been migrated successfully and has replaced the stock site. Granted, this sample is pretty dull, but it demonstrates that a change has been made.

Once you’ve tested your newly migrated site thoroughly to make sure everything is present and working properly, you’ll want to update your DNS settings so that they’re pointing to your new hosting account.

Your website will continue to be accessible on your old host while the DNS changes propagate. Because this process can take up to 72 hours, it’s best practice to migrate at least a week before your old hosting account is set to expire. This gives you some breathing room for mistakes and avoids any possible downtime for your visitors.

Hopefully, everything went well. If it didn’t and you have a question, we can provide this as a paid service, or you can contact your hosting providers for help. Enjoy your new web hosting!