How to Migrate a WP Engine Site to InstaWP
You can migrate any WordPress site hosted on WP Engine into InstaWP using the AI-powered InstaMigrate tool — the same guided, no-SSH workflow used for every other host. There is just one WP Engine-specific wrinkle to know about, and this guide walks you through it.
The WP Engine limitation (why the standard flow stalls)
To connect and transfer a site, InstaMigrate needs a lightweight helper plugin — InstaMigrate — running on your source site. On most hosts, InstaWP installs this plugin automatically over the WordPress Application Password (REST API) connection you approve during the migration.
WP Engine's managed platform does not allow this automatic install. WP Engine restricts programmatic plugin installation over the REST API on its environments, so when you start a migration from a WP Engine source, the automatic "install the migration plugin" step fails and the migration is blocked before it can begin.
⚠️ This is a WP Engine platform restriction, not an error on your InstaWP account. It affects every tool that tries to install a plugin programmatically — not just InstaWP.
The fix, in one line
Install the InstaMigrate plugin on the source site yourself, right before you run the migration — then remove it as soon as the migration is done. Once the plugin is present, the Application-Password authorization and the transfer proceed exactly like a normal migration.
The easiest moment to do this is while you're already logged in to the source site's WordPress admin, because the migration makes you log in there anyway to approve the connection. Use WP Engine's magic login (the WP Admin / Log in to WordPress button in the User Portal) to get into wp-admin in one click, install the plugin, and carry straight on into the migration in the same session.
🔒 Install it at migration time, not in advance. InstaMigrate exposes REST API endpoints for database export/import and file transfer — that's how it moves your site. Leaving it installed and active on a live site after the migration is an unnecessary risk, which is why the plugin's own description says "REMOVE THIS PLUGIN AFTER MIGRATION." Install → migrate → delete, in one sitting.
Before you begin
- An active InstaWP account.
- WP Engine User Portal access to the site you want to move (the source) — for magic login into its WordPress admin.
- WordPress administrator access to that same source site (to install the plugin and approve the connection).
- Your source site should be running WordPress 5.0+ and PHP 7.4+.
- ⚠️ Temporarily disable security / login-hardening plugins on the source site for the duration of the migration — see below.
⚠️ The destination is permanently overwritten with the source site. Always migrate into a site you are happy to replace — this cannot be undone.
Disable security plugins first
This is the single most common reason a migration fails to connect. Security and login-hardening plugins block the Application Passwords authorization that InstaMigrate depends on — by disabling Application Passwords outright, hiding the login page, or blocking the REST API.
Before you start, temporarily deactivate anything in that category on the source site — for example Wordfence, Solid Security, Sucuri, All-In-One WP Security, iThemes Security, Hide My WP Ghost, WPS Hide Login, or Admin and Site Enhancements (which has a "Disable Application Passwords" toggle). Complete the migration, then re-enable them.
Step-by-step
Step 1: Create your destination site on InstaWP
Log in to your InstaWP account and create the site you want to migrate into, choosing the plan that suits the site you're moving — size, traffic and the resources it needs. You can compare the tiers on the InstaWP pricing page.
This new site is the destination: everything on it is replaced by your WP Engine site, so create a fresh one rather than reusing a site you still need.
ℹ️ The InstaMigrate plugin does not create the destination site for you — you need an InstaWP site ready to migrate into. If you'd rather have InstaWP create the site as part of the transfer, use the Automated site import instead: Sites → Import Site → From a Live website → Automated (full walkthrough).
Step 2: Magic-log in to the source site from WP Engine
Sign in to the WP Engine User Portal at my.wpengine.com, open the site and environment (production, staging or development) you want to migrate, and use WP Engine's WP Admin button to log straight in to that site's WordPress admin — no separate WordPress password needed.
Step 3: Install and activate the InstaMigrate plugin
In the source site's WordPress admin, go to Plugins → Add New Plugin, search for InstaMigrate, and click Install Now.

When the install finishes the button becomes Activate — click it.

InstaMigrate now shows as active on your Plugins screen. Leave this browser tab logged in — you'll come back to it to approve the connection in Step 6.

💡 If your environment doesn't let you install from Add New Plugin, install InstaMigrate the way WP Engine documents for manual installs — upload the unzipped
instamigratefolder intowp-content/plugins/over SFTP, or runwp plugin install instamigrate --activateover WP Engine's SSH Gateway — then activate it from Plugins. See How to Manage Plugins and Themes Manually.
Step 4: Open the InstaWP Migration Dashboard
Back in your InstaWP account, open the Migration Dashboard (sidebar → Migrations), make sure the engine selector is set to AI, and click New Migration.

Step 5: Connect the source and destination
The InstaMigrate tool opens. Fill in both fields and click Connect beside each one:
- Source site URL — your WP Engine site (the full address, including
https://) - Destination site URL — the InstaWP site you created in Step 1

If the tool asks about the migration plugin, click I have Installed the Plugin → — you already installed it in Step 3, so InstaWP skips the automatic install and moves straight to authorization.
Step 6: Authorize the connection
Click Open WordPress Authorization (or Yes, Continue to Login). You are taken to your WP Engine site's WordPress admin — the tab you're already logged in to from Step 2 — where WordPress shows the Authorize Application screen for "InstaWP Import". Click Yes, I approve of this connection.

This uses WordPress's built-in Application Passwords feature to create a secure, revocable connection. No login credentials are stored by InstaWP.
Step 7: Start the migration and let it run
Review the source-site analysis (WordPress and PHP versions), confirm the destination, and click Start Migration. InstaMigrate transfers your files, database, plugins and themes through its automated stages, showing live progress. You can safely leave the page — you'll be emailed when it finishes. When it's done you'll see Your Migration is Complete! with a Visit site button.
Step 8: Clean up — remove InstaMigrate from the source site
Once you've checked the migrated site, go back to the source site's Plugins screen and Deactivate then Delete InstaMigrate. Re-enable any security plugins you turned off in Before you begin.

🎉 That's it — your WP Engine site is now running on InstaWP.
Troubleshooting (WP Engine-specific)
"Application Passwords" is missing on the Users → Profile screen, or the authorization fails immediately. A security/login-hardening plugin is almost always the cause — see Disable security plugins first. Temporarily deactivate it for the duration of the migration, complete the transfer, then re-enable it.
The authorization page redirects to a 404 or a decoy login. A "hide login" plugin is redirecting wp-admin/authorize-application.php. Temporarily turn off the hide-login feature (or log in at your custom login URL first), approve the connection, then re-enable it.
Authorization keeps failing even with the correct admin login. Some managed-host configurations strip the HTTP Authorization header, which Application Passwords rely on. If you've ruled out a hardening plugin and it still won't authorize, contact InstaWP support — we can confirm whether the header is reaching the site.
I installed the plugin but InstaWP still says it's missing. Check you installed it on the same environment you entered as the source URL (production, staging and development are separate installs on WP Engine), that InstaMigrate is activated, and then purge the environment's caches from the WP Engine User Portal before retrying.
The migration is stuck or taking a long time. Large sites take longer — allow up to ~20–30 minutes. If it appears stuck for over 30 minutes, cancel and restart, or contact InstaWP support.
Related Articles
- Migrate Site - The full AI migration (InstaMigrate) walkthrough
- Import Site to InstaWP from Live Website (Automated) - The automated live-site import flow
- InstaWP Connect Plugin - The helper plugin that powers migrations
WP Engine references
- How to Manage Plugins and Themes Manually - WP Engine's own guide to installing a plugin manually
- Manage SFTP Usage and Access - Where to get your environment's SFTP credentials in the WP Engine User Portal