WP Engine Site Migration Plugin
WP Engine Site Migration is a new WordPress plugin that simplifies the process of moving any WordPress website to WP Engine or Flywheel. Allowing site migrations from just about any WordPress host or local hosting environment, WP Engine Site Migration is easy, fast, and secure.
About
The WP Engine Site Migration plugin was developed by the Delicious Brains team specifically to help migrate WordPress sites from almost any host (including locally hosted!) to the WP Engine or Flywheel platforms.
This plugin includes two options for migrating content: Migrate the full site or Customize the Migration.
Migrate the Full Site
This option is recommended for most sites. A Full Site migration copies the necessary assets to help ensure the migration succeeds, the new site performs as expected, and excludes any items that may conflict with the WP Engine platform.
When running a full site migration, the plugin will perform the following actions.
- Copy all WordPress database tables and site files, including:
- Database tables
- Media uploads
- Themes
- Plugins
- Must-use Plugins
- Other files in the wp-content directory
- Update all instances of the site path and URL in the database, including serialized data
A full site migration will exclude disallowed plugins and other files such as logs, backups, and caches that are known to slow down migrations or otherwise cause issues on our platform.
Customize the Migration
The custom option gives more flexibility when migrating, to specify which parts of the site are needed and which are not. Additionally, a custom migration can be used to exclude specific files which may be causing a full site migration to fail.
A custom migration can be configured to include or exclude:
- Database tables
- Media uploads
- Themes
- Plugins
- Must-use Plugins
- Other files in the wp-content directory
Additionally, migration options can be adjusted for the database search and replace, replacing GUIDs, excluding transients, and more.
Minimum Requirements
To perform a successful migration, the source and destination environments should meet the following minimum requirements.
- WordPress 5.0
- PHP 5.6
- MySQL 5.0
- WP REST API enabled
- A modern browser such as Chrome, Firefox, Safari, Edge
- Internet Explorer not supported
Migrate a Site
Migrating a site requires two main steps: install the WP Engine Site Migration plugin on the source site, then enter the migration details into the plugin.
Prepare the WP Engine Site
- Open the Sites page in the User Portal
- Click the destination environment name
- Need to add an environment? Learn how here.
- In the secondary lefthand menu, select Site Migration
- Select the New migration plugin (Beta) tab
If this tab is not visible, the plugin is not yet available to this account. The WP Engine Site Migration plugin will be available in the coming months. In the meantime, we suggest using the WP Engine Automated Migration plugin instead.

- Click Generate Connection Information
- This will take a moment to both install the plugin on the WP Engine site and generate the necessary connection details.
- While this processes, continue to the next step.
- We suggest leaving this page open in a separate tab for easy access in the next steps.

Connect and Migrate the Site
- Install plugin on the source site
- Download the WP Engine Site Migration plugin.
- Be sure to take note of where the file is saved so it can be found easily in the next step!
- Open the wp-admin dashboard of the remote site
- This is the site on the previous host, not the WP Engine site.
- From the menu, select Plugins
- Select Add New (/wp-admin/plugin-install.php)

- Click Upload Plugin

- Locate and select the plugin ZIP
- Click Install Now
- Click Activate Plugin
- Migrate the site to WP Engine:
- From the wp-admin main menu, select Site Migration (/wp-admin/admin.php?page=wpe-site-migration)
- Optional – Enter an email address for migration status notifications
- Click Continue

- Paste the connection information that was generated when preparing the WP Engine site.
- Click Connect

- Migration Options:
- Migrate the full site – WordPress database and site files. Runs a search and replace for the domain in the database. (See above for more.)
- Customize the migration – Customize the migration by including/excluding database tables, files, and the search and replace. (See above for more.)
- Click Start Migration

A status page will be displayed detailing the migration progress. Migration completion or failure notifications will be sent to the email address provided once the process has finished.
Second Migration
A second migration is not always necessary, but it may be helpful in situations where the source site has changed since the previous migration. For example, changes to the database such as new posts, pages, or user-generated content may require a second migration to sync content just prior to pointing the DNS to WP Engine.
Second migrations can be completed much faster by customizing the migration and use the following techniques to include only what has changed.
- In the Database panel, expand the Tables sub-panel and select only the tables that have changed.
- In the Media Uploads panel, choose Push media uploads by date and include only new and modified files after the date of the last migration.
- In the Themes and Plugins panels, helpful icons and tooltips next to each theme and plugin name indicate whether the result of the migration will cause the version to be added, upgraded, downgraded, or remain the same. To speed up the migration, choose Push only selected themes/plugins and select only the items that have been added or upgraded since the last migration.

After Migrating
Once the site is migrated a migration success or failure email will be sent to the email address provided. Test the site on WP Engine and confirm everything loads as expected.
Add Domain and Go Live
The last step is to take the domain live on WP Engine. When complete, this process will send any visitors to the domain to the site hosted on WP Engine.
To go live, add the domain in the WP Engine User Portal then point DNS to WP Engine. Learn how to go live with a domain here.
Add SSL (Optional)
When pointing DNS to WP Engine’s new advanced network or Global Edge Security, WP Engine adds SSL and CDN automatically. Learn more in this guide.
To add an additional third-party SSL, learn how to do so here.
Limitations
Currently there are some caveats when working with the WP Engine Site Migration plugin. As we continue to modify and improve the plugin, these may change in the future.
Multisite Migrations
Multisite networks can be migrated if the WP Engine site has been converted to a multisite before the migration. At this time, individual subsites cannot be migrated using the plugin.
eCommerce and Other Dynamic Sites
Dynamic sites that change frequently due to eCommerce sales or other user activity require special consideration. For example, it’s a good idea to put the source site into maintenance mode to prevent data loss during a migration.
While the WP Engine Site Migration plugin is capable of migrating these dynamic sites, we recommend that eCommerce customers continue to use the WP Engine Automated Migration plugin and follow the eCommerce Migration Process.
New documentation for migrating eCommerce sites with the WP Engine Site Migration plugin will be available in the future.
Root Files
The WP Engine Site Migration plugin does not currently support migrating files outside of the wp-content directory, such as those that exist in the website’s root directory. If root files are needed, consider manually migrating the files via SFTP or using the WP Engine Automated Migration plugin.
Common Issues
Rewrite Rules & Access Restrictions
WP Engine has deprecated support for .htaccess files. As a result, if the source site uses Apache and .htaccess files to handle rewrite rules or restrict access to certain directories, then those behaviors will not carry over to the WP Engine site.
Similarly if the source site uses NGINX to configure rewrite rules or restrict access, then additional steps may be required to maintain those behaviors on the WP Engine site.
In both cases, rewrite rules and access restrictions can be configured on the WP Engine site using the Web Rules Engine.
Security Plugins
Security plugins, such as Wordfence, which include a Web Application Firewall (WAF) are known to cause issues with migrations. When a migration occurs, many consecutive requests take place between the source and destination, which can trigger the rate limiting behavior of these security plugins. Disabling such plugins during a migration can improve the chances of success.
Basic Authentication
Migrating to a private site that is using Basic Authentication requires a username and password to be provided along with the connection information in order to establish a connection. The plugin will prompt for these credentials if Basic Authentication is detected.
Migrating from a private site that is using Basic Authentication may prevent a connection from being established. The plugin will attempt to detect the Basic Authentication credentials automatically, but this is not always possible depending on the host. Disabling Basic Authentication on the source site may improve the likelihood of establishing a connection.