One question we get a lot is, “Can I migrate my site to Flywheel myself?” and the answer is yes! We’d love to move your site over to Flywheel for free, but if you are the do-it-yourself type, this article is for you.
Another option is to use the plugin WP Migrate Pro to push and pull from Flywheel using this guide. You can also use WP Migrate Lite and Local following this guide (this option is free).
If you’d prefer not to use a plugin, or you have your site files ready to go and just need to import them to Flywheel, we recommend migrating your site to Flywheel manually.
WP Engine Site Migration is a new WordPress® plugin that simplifies the process of moving any WordPress website to Flywheel or WP Engine.1 Allowing site migrations from just about any WordPress host or local hosting environment, WP Engine Site Migration is easy, fast, and secure.
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 Flywheel or WP Engine platforms.
This plugin includes two options for migrating content: Migrate the full site or Customize the Migration.
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 Flywheel platform.
When running a full site migration, the plugin will perform the following actions.
A full site migration will exclude certain plugins that are not recommended and other files such as logs, backups, and caches that are known to slow down migrations or otherwise cause issues on our platform.
The custom option gives you more flexibility when migrating, allowing you to determine which parts of your 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:
Additionally, migration options can be adjusted for the database search and replace, replacing GUIDs, excluding transients, and more.
To perform a successful migration, the source and destination environments should meet the following minimum requirements.
Migrating a site requires the WP Engine Site Migration to be installed on both the source and destination sites. Connection information retrieved from the Flywheel destination site will be used to initiate the migration on the source site.
The Flywheel site (where you are migrating to) needs to have the WP Engine Site Migration plugin installed.
First, install and activate the WP Engine Site Migration plugin on your Flywheel site.
/wp-admin/plugin-install.php
) Next, you’ll need to generate and copy the connection information.
/wp-admin/admin.php?page=wpe-site-migration#settings
)The source site (where you are migrating from) also needs to have the WP Engine Site Migration plugin installed.
First, install the WP Engine Site Migration plugin on the source site.
/wp-admin/plugin-install.php
)Finally, connect the sites and start the migration.
/wp-admin/admin.php?page=wpe-site-migration
)A status page will be displayed detailing the migration progress. If an email address was provided, you will also receive migration a completion or failure notification once the process has finished.
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 lead you to run a second migration just prior to pointing your DNS to Flywheel.
Second migrations can be completed much faster if you customize the migration and use the following techniques to include only what has changed.
Once your site is migrated you will receive a migration success email if you provided an address in the plugin. Test your site on Flywheel and confirm everything loads as expected.
When you’re ready to take your site live, follow this nifty guide to point your domain to your newly migrated site on Flywheel!
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 networks can be migrated if the Flywheel site has been converted to a multisite before the migration. At this time, individual subsites cannot be migrated using the plugin.
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.
New documentation for migrating eCommerce sites with the WP Engine Site Migration plugin will be available in the future.
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.
Flywheel does not support .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 Flywheel 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 Flywheel site. Configuring redirect rules can be done directly through the Flywheel App.
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.
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 you 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.
If a failed loopback request is detected prior to starting a migration, then an error panel will appear that prevents the migration from starting until a successful loopback request is detected. Possible causes of failed loopback requests include basic authentication and hostname resolution.
In the case of hostname resolution, the server hosting the site needs to be able to resolve the hostname of your site. The plugin uses wp_remote_post()
to make requests to your site at http://example.com/wp-admin/admin-ajax.php
. If you can’t ping your site’s hostname from the server, the plugin will not be able to dispatch the background processes necessary to perform the migration. Work with the site administrator or hosting provider of the source site to correct any issues with hostname resolution.
New to Flywheel? Start here, we've got all the information you'll need to get started and launch your first site!
View allLearn all about managing your Flywheel user account, Teams and integrations.
View allFlywheel hosting plans include a ton of great features. Learn about how to get a free SSL certificate, set up a staging site, and more!
View allAll the server and setting info you'll need to help you get the most out of your Flywheel hosting plan!
View allTips and tricks for managing your sites on Flywheel, including going live, troubleshooting issues and migrating or cloning sites.
View allLearn more about Growth Suite, our all-in-one solution for freelancers and agencies to grow more quickly and predictably.
Getting started with Growth Suite
Growth Suite: What are invoice statuses?
Growth Suite: What do client emails look like?
Learn more about Managed Plugin Updates, and how you can keep your sites up to date, and extra safe.
Restoring Plugin and Theme Management on Flywheel
Managed Plugin Updates: Database upgrades
Managed Plugin Updates: Pause plugin updates
We can help! Check out our Brand Resources page for links to all of our brand assets.
Brand Resources