Ideally, you’ll pick a hosting provider that’s so good you won’t ever need to move your website. However, not all hosting providers offer the same level or quality of service. If you choose the wrong one, you may have to move your WordPress site at some point.

Fortunately, migrating your site isn’t as complex as you might imagine. It can take a few hours, but the process is relatively straightforward, Plus, if you choose a web host that offers better performance and more features, the effort will be well worth it.

In this article, we’ll teach you the best way to migrate a WordPress website, step by step. Then we’ll introduce you to some WordPress migration tools you can use to simplify the process. Let’s get moving!

Should I Migrate My WordPress Site Manually or Automatically?

Migrating a WordPress website isn’t hard. However, if you want to do so manually, you’ll need to be comfortable using File Transfer Protocol (FTP), accessing databases, and modifying files on your site’s back end.

Those processes sound complex, but they’re simple enough if you follow a clear tutorial. However, if you’d rather try a simpler approach, you can always use a WordPress migration tool or plugin. There are several options, and we’ll introduce you to some of our top picks later on.

Keep in mind that large websites can be more prone to errors when using migration plugins. In those cases, manual migration is the better approach. If you follow the instructions carefully, you shouldn’t run into any problems.

Finally, it’s worth noting that some web hosts offer free migration services to new subscribers. You can also hire a third-party service to help you move your site, although that can be a pricey solution (and you’d need to make sure you choose a company with a sterling reputation).

How to Migrate Your WordPress Site Manually

Even if you’re not afraid to roll up your sleeves and migrate your site by hand, you’ll probably want a little help getting started. Let’s walk through the process, one step at a time.

Step 1: Choose a New WordPress Host

If you’re researching how to migrate your website, there’s likely a reason you’re leaving your current host. You’ll want to keep any problems you’ve experienced in mind as you shop for a new home for your WordPress website.

For example, if your site suffered a breach, you’ll want to look for a new provider that offers top-notch security features. It’s also important to understand the different kinds of hosting that are available to choose from. These include: 

  • Shared: This is when one server houses many websites that all share resources, and is typically the most budget-friendly option.
  • Virtual Private Server (VPS):  A VPS involves virtual partitions within a shared server, so your site has dedicated resources available to it.
  • Dedicated: With this type of plan, you get a physical server that houses and supports only your website.
  • Managed: Any type of hosting plan can be managed, if the hosting provider is managing technical tasks such as backups and updates for you. 

In order to choose the best option for your website, you’ll want to assess what your main priorities are. Key considerations include security, data storage, speed, and customer support. For example, if you have a large eCommerce operation, security may be higher on the list than other items.

Step 2: Back Up Your Site’s Files

The first thing you need to do is make a copy of all your website’s files. To do this, you’ll want to use an FTP tool. If you don’t already have one, FileZilla is an excellent (and free) option.

After you connect to your site’s server via FTP, you’ll need to navigate to your WordPress root folder, which contains all the files on your site. It’s usually called either public_html or www, or is named after your site:

Now, right-click on your root folder and choose the Download option:

This will download a copy of your entire root directory to your computer. The process can take a while, but when it’s done you’ll be ready to move on.

Step 3: Back Up Your WordPress Database

At this point, you already have a copy of your website’s files. Now you need to back up its database. This is where all the information about your site’s content, users, and lots more is contained.

To do this, you’ll need to access your database. Most web hosts enable you to do this through your control panel. For example, if you’re using cPanel, you’ll find a section called Databases. In that section, you’ll want to click on the phpMyAdmin option:

Step 4: Export Your WordPress Database

Once you’re in, choose your site’s database from the list on the left, and navigate to the Export tab using the top menu. Select the Quick option under Export Method, and hit Go:

This will download a copy of your site’s database in .sql format.

Step 5: Create a New SQL Database and Import the Contents of Your Old One

Next, you have to create a new database on the web host you’re moving to. Then you’ll import the file from your old database, which will override the contents of the new one.

If your new WordPress host also uses cPanel, here’s what you’ll need to do:

  1. Go to the Databases section in cPanel, and choose the MySQL Databases option.
  2. Create a new database and add a user to it from this same tab (and take note of the names you use for later).
  3. Access the new database using phpMyAdmin, as you did during the previous step.
  4. Go to the Import tab within the new database, and upload the .sql file you generated earlier.

That’s it! Now your old database is located on your new web host. However, you still need to re-upload the rest of your site’s files.

However, if you’ve chosen a host that does not use cPanel, you’ll need to consider a different set of instructions. For example, if you’re migrating to one of our WP Engine hosting plans, you can use our helpful and interactive migration checklist tool: 

You’ll find this in your User Portal. It can be used to guide you through a migration to a production environment. 

Step 6: Upload Your Site’s Files to the New Web Host

For this step, you’ll need to first log into your new server via FTP. Then, navigate to its root folder.

Right-click anywhere within that folder, and select the Upload option. Locate the folder you downloaded during the first step, open it, and select all the files and directories within.

The upload process can take a while, since we’re talking about hundreds of files. If you’re patient, however, you’ll soon find yourself almost at the end of the journey.

Step 7: Edit Your Site’s wp-config.php File

Once all your files are up on the new server, you’ll need to access your WordPress root folder one more time. If you try to actually visit your website now, it won’t work, because you need to update WordPress’ wp-config.php file so that it points towards your new database.

To do this, locate the wp-config.php file within your new root folder, right-click on it, and select the View/Edit option:

This will open the file using your local text editor, enabling you to make changes. Here are the three lines you’ll need to update:

define('DB_NAME, 'db_name');
define('DB_USER, 'db_user');
define('DB_PASSWORD, 'db_pass');

Currently, all three lines will include values that point towards your old database. Go ahead and replace the lowercase variables with the credentials for your new database, which you created during Step 3.

Then, save the changes to the file and close it. You should now be able to access your WordPress website, which will look just as it did before.

Step 8: Configure and Change Your DNS

Finally, you’ll need to make sure your Domain Name Server (DNS) is pointed towards the correct host. For example, if you are migrating to one of our hosting plans, you’ll need to point your DNS to your new WP Engine server. 

To do this, you’ll need two things: 

  1. Information from your new host 
  2. Access to the registrar where you purchased your domain name

You can find the details you need by going to your WP Engine User Portal again and clicking on Domains

Near the bottom of the Domains screen, you’ll find a section called DNS Details. There you’ll find both a CNAME Record and an A NAME for your website: 

This is the information you’ll need to enter into your domain name account. Depending on where you purchased the domain, the process for doing so can vary. In order to help you complete the DNS configuration process, we’ve put together a list of the most common registrars, along with detailed instructions for each one. 

How to Migrate Your WordPress Site With a Plugin

When you need to migrate your website, it’s not unusual to have some anxiety about the process. After all, you’ve worked hard to build what you have, and you don’t want to lose any of it along the way. Fortunately, there are several excellent migration plugins available that can help. 

Using a plugin often provides you with an insurance policy. That’s because many of these tools can create complete site backups for you, as well as providing recovery services. Additionally, if you only need to migrate part of your site, there are plugins that can customize the process to meet your needs.

WordPress Migration Tools to Make Your Move Easy

Knowing how to migrate a WordPress website manually is useful. As we mentioned earlier, however, there are also some tools you can use to simplify the process. Here are some of our favorites!

WP Engine Automated Migration

migrate to wp engine

If you’re moving your site to WP Engine, WP Engine Automated Migration can make the entire process a lot simpler. It takes care of everything, from copying your files and database to moving them to the new server. All you have to do is enter some credentials, and the plugin will take care of the rest.


If you’re looking for a plugin that enables you to automate the entire migration process, Duplicator is one of your best options. It works with any WordPress website, and takes care of copying both your files and database. You’ll still need to do a few things by hand to get your website set up on its new server, but the overall process is much simpler.

WP Migrate DB

WordPress Migration Tools

WP Migrate DB enables you to skip the part of the migration process where you need to export your database manually. However, you’ll still need to import the .sql file the plugin generates to your new site by hand. This is a small timesaver, but it’s still very welcome.

All-in-One WP Migration

All-in-One WP Migration is one of the most streamlined backup and migration plugins you can find. It enables you to create copies of your site in minutes, and then import them to another WordPress installation using the same plugin. In our experience, it’s perfect for small websites, although it can struggle with larger installs.

WPvivid Backup plugin

WPvivid Backup plugin is perfect for site migration, as well as for keeping a copy of your WordPress site on hand. It supports both automated migration and manual migration (uploading a backup to a destination site then restoring it). What’s more, it’s completely free and has no restrictions on the size of the website you can migrate.

Migrate Your Site to WP Engine

Our main goal at WP Engine is to make your life easier. That’s why we provide you with a dedicated plugin you can use to facilitate the migration process from any other platform to ours.

If you’re ready to migrate your WordPress site to WP Engine, all you have to do is choose a plan and follow our guide on how to use our migration plugin!