How to Migrate a Website using WP Engine’s Automated Migration Plugin

WP Engine's Automated Migration Plugin Tool

Disclosure: This page contains affiliate links. If you purchase a product using one of our links, we might receive a commission. Rest assured, we only recommend products we truly believe in. Learn More

The managed WordPress hosting market is a competitive one. Among one of the most popular WordPress hosts is WP Engine. If you find yourself shopping for a new host, or have recently switched to WP Engine, and need to migrate your website to their platform, I’ll walk you through the process, step-by-step.

While some website migrations involve a bunch of manual steps, WP Engine has made our lives much easier by creating the WP Engine Automated Migration plugin. Once you install the plugin on your existing site, just enter some basic details that WP Engine provides, and you could be up-and-running in an hour or two (depending on how long it takes DNS to do its thing).

Get 4 MONTHS FREE on an annual plan with WP Engine.

Coupon: wpe20off   Get Hosting →

Follow along as I walk you through it…

1. Create a new install in WP Engine account

How to add a new install from WP Engine's dashboard
How to add a new install from WP Engine’s dashboard
  • Give your site a name, and leave “Create a new install” as is
  • You can optionally select to make it a transferrable install and/or enable multisite
WP Engine's New Install Modal Window
New Install Modal Window

This might take a few minutes, so please be patient. You’ll receive an email when it’s ready. Your email will look like this:

Example of a WP Engine migration email
Example of a WP Engine migration email (click image for full size)

2. Install WP Engine’s Automated Migration Plugin

  • Go to your existing site’s admin area
  • Go to Plugins > Add New
  • Search for “WP Engine Automated Migration”
  • Install & Activate the plugin
How to install WP Engine's automated migration plugin
How to install WP Engine’s automated migration plugin

3. Get new site SFTP & admin info

  • Go back to my.wpengine.com
  • Click on your install
  • In the left menu, click “Site Migration”
  • Click “generate password”
  • Keep this page open, or copy all the information to your clipboard. You will need it shortly.
Generate a new, secure SFTP password
Generate a new, secure SFTP password (click image for full size)

4. Add WP Engine information to the plugin on your existing site

  • Go back to the admin area of your site (yoursite.com/wp-admin/)
  • Click “Site Migration” in the left navigation (look near the bottom)
  • Enter the information from the previous WP Engine page into the fields on your site’s plugin page
  • Click “Migrate”
Side-by-side comparison of WP Engine's migration screens
Side-by-side comparison of the two migration screens

WP Engine uses a third-party service called BlogVault to grab a snapshot of your site and copy it over to their servers. You’ll be redirected to something like this:

https://wpengine.blogvault.net/migration/123abc456def789ghijkl

This BlogVault page is where you can track the status of the migration. It might say “Processing” for several minutes before it displays the progress. Keep in mind, the larger your site is, the longer this will take. Please be patient.

You’ll also receive an email confirmation the migration has started. It will contain a link back to your migration status page.

Example of a BlogVault migration status page
Example of a BlogVault migration status page

5. Check that the migration was successful

After the migration has finished, you want to compare your existing site with the new one that is now on WP Engine’s servers. To do this, you’ll want to pull up two sites:

  • yoursite.com
  • installname.wpengine.com

Check all pages, posts, comments & other content. Confirm all your functionality is still working. You might even want to login to your admin area and make sure all plugins match up.

If your two sites DO NOT match up exactly, contact WP Engine support to see what went wrong during the migration.

6. Run the WP Engine automated migration plugin again

Yes, you read that right. It sounded strange to me at first, too. But this time, you will change one key piece of information when you run the plugin. For the “Destination Site URL,” enter your actual domain (ex: piedmontecovillage.org). Keep all the other info the same as the first time.

Running the plugin a second time does two key things:

  • It will grab any content that has been changed since the first migration (new/updated posts, new comments, update user profiles, etc.)
  • It will adjust the site URL settings in your database to reflect your actual domain. After the first migration, WP Engine still thinks you want your site to live at sitename.wpengine.com. But you really want it to live at companyname.com.

Once the second migration is finished…

7. Add your domain to WP Engine

Now we need to tell WP Engine what your actual domain is — because you don’t want people accessing your site at companyname.wpengine.com.

  • Go back to my.wpengine.com
  • Click on your install
  • Click on “Domains”
  • Click the “Add New Domain” button
  • Enter the URL of your site
    • The example below is NOT using www before the domain. If your site uses the www, put your www-version in the “Domain Name” field, and the non-www version in the “Redirect From” field.
WP Engine's add new domain modal
WP Engine’s add new domain modal

While this next part is not necessary, I like to redirect sitename.wpengine.com to my actual domain, as well.

  • Next to sitename.wpengine.com, click the “Edit” link
Edit your wpengine.com sub-domain
Edit your wpengine.com sub-domain

When the modal window shows up, choose your primary domain from the “Redirect to” dropdown menu, and click “Save Changes.”

WP Engine redirect to your primary domain
Redirect to your primary domain

Now your final domain setup should look like this:

WP Engine final domain setup
WP Engine final domain setup

8. Update DNS Records (A Record)

Once you’ve added your domain to WP Engine, you are ready to change your DNS settings. This will vary depending on where you manage the DNS for your domain. I’ll show instructions for GoDaddy below, but if you’re not using GoDaddy for DNS, you’ll need to change the A record for yoursite.com to point to your WP Engine IP address.

An easy way to find your WP Engine IP address is to use the left navigation, and click on “Overview.” You’ll see your IP address listed in your “Install Stats.”

Where to find your WP Engine server IP address
Where to find your WP Engine server IP address

How to update the A record in GoDaddy

  1. Login to GoDaddy
  2. Navigate to “My Account”
  3. Find “Domains,” and click the green “Manage” button
  4. Click the domain name you want to edit
  5. Click on the “DNS Zone File” tab
  6. Click the pencil icon
Edit your A record in GoDaddy's DNS
Edit your A record in GoDaddy’s DNS
  1. Update the IP address in the “Points To” field
  2. (optional) Adjust your TTL settings
  3. Click “Finish”

GoDaddy edit DNS zone record modal

  1. Click “Save Changes” in the red bar that appears on your Zone File page

GoDaddy update DNS, save changes

After you update the DNS, it could take anywhere from 20 minutes to 12 hours for your changes to take place, and for your site to be served up on your new WP Engine server.

TIP: If you see an option to adjust your “TTL,” set it to the shortest amount of time possible. This will make the update happen faster.

9. (Optional) Delete extra database tables

WP Engine automatically creates default database tables when you setup a new install (ex: wp_options, wp_posts, etc.). However, if your old site was hosted on a platform that used custom database prefixes (ex: wp_810xgyt9_options), you’ll have two sets of database tables.

Comparison of WP Engine's migrated tables vs. default database tables
Comparison of WP Engine’s migrated tables vs. default database tables

WP Engine is using your custom-prefixed tables. They ARE NOT using the default tables that they created automatically. If you like to keep your database really clean, you can delete the default ones. Also know that leaving them there will likely do no harm.

NOTE: This is more technical, and requires accessing your database directly. Please take precaution before deleting or modifying anything in your database. And be sure to make a backup first.

  • Go to my.wpengine.com
  • Click on your install
  • Click phpMyAdmin near the bottom-left
  • Click on your database name
  • Click on the table you want to delete
  • Click the “Operations” tab
  • Click the “Delete the table (DROP)” link
How to delete (DROP) a database table in phpMyAdmin
How to delete (DROP) a database table in phpMyAdmin

Get 4 MONTHS FREE on an annual plan with WP Engine.

Coupon: wpe20off   Get Hosting →


Let me know how it worked out for you, or if you ran into any challenges along the way.

You might enjoy our WordPress hosting guide. It contains tips on what to look for, as well as comprehensive recommendations depending on the type of website you manage.

What Are Your Thoughts?

All fields are required. Your email will not be published.

You can use standard <code> and <pre> tags to post code examples, or a service like codepen.io.