Website files & database · WP Engine
Move your website to WP Engine
Moving the files is the only part of a hosting migration that touches the website itself. Everything else moves pointers.
WP Engine offers a free Automated Migration plugin, which is usually the right starting point. The part that matters is what it does not carry across, because those things fail silently.
Do it while the old host is still live. Nothing here is visible to the public until DNS changes, so a mistake at this stage costs time and nothing else.
Checked against WP Engine's documentation on August 9, 2026.
What is different about WP Engine
The process is standardised. These are the parts that are not — the things that are true of WP Engine and not of everyone else.
The Automated Migration plugin is free
Install the WP Engine Automated Migration plugin on the source site and supply the destination details from your WP Engine install. Typical duration: Varies with site size. Documented limits: It copies the site so you can verify it before changing DNS, rather than moving it; WordPress only — there is no facility for other applications.
What the migration deliberately excludes
WP Engine states that it does not carry across DNS records, email, the registrar transfer. Every one of those fails quietly — the site arrives looking perfect and simply stops doing something it used to do. Rebuilding them is your job, and it is the difference between a migration that looks finished and one that is.
Check compatibility first: WP Engine cannot run Non-WordPress PHP applications
WP Engine executes PHP (managed versions), with MySQL for storage. It is built for wordpress, and only wordpress. What it will not run: Non-WordPress PHP applications; Node.js or Python services; Arbitrary static sites outside a WordPress install. That is the question to settle before any of the mechanics below matter — no file manager rescues an application the platform cannot execute.
The control panel is a managed dashboard
File access is via SFTP, SSH Gateway, and databases through phpMyAdmin. The web root is the site's WordPress install.
WP Engine at a glance
- Languages / runtimes
- PHP (managed versions)
- Databases
- MySQL
- Built for
- WordPress, and only WordPress
- Cannot run
- Non-WordPress PHP applications; Node.js or Python services; Arbitrary static sites outside a WordPress install
- Control panel
- managed
- File access
- SFTP, SSH Gateway
- Database tool
- phpMyAdmin
- Web root
- the site's WordPress install
- Assisted migration
- Automated Migration plugin (free)
- Typical duration
- Varies with site size
- Not covered
- DNS records, email, the registrar transfer
WP Engine hosting packages
WP Engine sells more than one kind of hosting, and they are not interchangeable. Pick the row that matches what you bought before following any steps.
Managed WordPress
managed wordpressManaged WordPress hosting with staging environments, platform-level caching and SFTP or SSH Gateway access. There is no cPanel and no email service.
- Best for
- WordPress sites where performance and managed infrastructure justify the cost
- File access
- SFTP, SSH Gateway
- Database tool
- phpMyAdmin
- Languages
- PHP (managed versions)
- Databases
- MySQL
- Cannot run
- Non-WordPress applications; Node.js or Python services
- No email hosting at all — mailboxes must live elsewhere
- A disallowed plugin list, mostly caching and backup plugins that conflict with the platform
- Plans are bounded by monthly visit allowances
Migrating into it: The Automated Migration plugin copies the site so you can verify it before touching DNS. Email is not part of the picture and needs planning separately.
Step-by-step
- 1At your current provider
Back up before anything else
Take a copy of the files and the database and keep it off both hosts. This is not the migration copy — it is what you restore from when the migration copy turns out to be incomplete.
- Files from your current host's file manager or over FTP
- Database as a single SQL export
- Store both somewhere that is neither the old host nor the new one
- 2At WP Engine
Request the Automated Migration plugin
Install the WP Engine Automated Migration plugin on the source site and supply the destination details from your WP Engine install
- Typical duration: Varies with site size
- It copies the site so you can verify it before changing DNS, rather than moving it
- WordPress only — there is no facility for other applications
- Create a dedicated admin account for the migration rather than sharing your own, and remove it afterwards
- 3Either side
Or move it by hand into the site's WordPress install
Compress on the server and move one archive. Dragging thousands of small files over FTP is where migrations stall.
- Turn on hidden files before compressing, or .htaccess is left behind
- Upload the archive into the site's WordPress install and extract it there
- If the archive contained the web root folder itself, move the contents up one level
- SSH is available on some plans, which makes this considerably faster
- 4At WP Engine
Create the database, then grant the user
The database and its user are separate objects. A site that loads but reports a connection error is almost always a missing grant rather than a wrong password.
- Use phpMyAdmin
- Grant All Privileges on the new database
- Panels usually prefix both names with your account name — use the full names
- 5At WP Engine
Import the database and update the credentials
Import into the empty database, then point the application at it. Check the table count against the source; a partial import reports nothing useful.
wp-config.phpdefine( 'DB_NAME', 'the new database name' ); define( 'DB_USER', 'the new user' ); define( 'DB_PASSWORD', 'the password you just set' ); define( 'DB_HOST', 'localhost' ); - 6At WP Engine
Rebuild what the migration left out
The exclusions again, because this is the step people skip: DNS records, email, the registrar transfer. List them at the old host before you cancel, because afterwards the list is gone.
- DNS records
- The registrar transfer
- 7At WP Engine
Test before you touch DNS
This is what separates a calm migration from a bad one. Load the new copy while the old host still serves the public.
- Use the temporary URL WP Engine provides
- Better: a hosts file entry so the real domain resolves here for you only, which catches redirect loops a temporary URL hides
- Click through properly — forms, logins, checkout, an image deep in an old post
- Match the PHP version to the old host first; upgrade later as a separate change
hosts file entry (macOS/Linux: /etc/hosts)203.0.113.10 example.com www.example.com
Best practice
The habits that make this go smoothly, independent of which providers are involved.
- Confirm WP Engine runs your application's language and database before anything else — PHP (managed versions) with MySQL
- Copy rather than move, and keep the old site running until the new one is verified
- Test on a temporary URL or via a hosts file entry before changing any DNS
- Compress on the server and transfer one archive, not thousands of files
- Match the old PHP version first; treat upgrading as a separate change
- Stop publishing on the old site once the copy is taken, or that content is lost at cutover
- Keep the old host active for two weeks after cutover as your rollback
- Rebuild everything the Automated Migration plugin excludes, and check it off explicitly
What goes wrong
The failures that actually happen when WP Engine is the destination.
WP Engine cannot run everything
Can cause downtimeIt does not support Non-WordPress PHP applications; Node.js or Python services; Arbitrary static sites outside a WordPress install. If your site depends on any of those, this is not a migration — it is a rebuild or a conversion, and finding that out after you have started is expensive. Confirm what your application actually needs before moving anything.
Hidden files are silently skipped
Can cause downtime.htaccess and similar dotfiles do not appear in most file managers until you enable hidden files, and are not included in an archive built from a selection that never showed them. A WordPress site missing .htaccess loads the homepage and 404s everywhere else.
Large database imports fail quietly
Can cause delaysAbove roughly 50 MB the import hits an upload or execution limit. Sometimes it errors, sometimes it stops partway and says nothing useful. Check the table count against the source rather than trusting the absence of an error.
Email does not live in the files
Can cause downtimeMailboxes are not in the web root and not in the database. If your old host provided email, that is a separate migration — download it over IMAP before cancelling, or the messages go with the account.
The assisted migration has documented limits
Can cause delaysIt copies the site so you can verify it before changing DNS, rather than moving it. WordPress only — there is no facility for other applications. Check these before relying on it, because discovering them halfway through means falling back to a manual move you had not planned for.
Product note: WP Engine
Can cause delaysThere is no cPanel and no email hosting; mailboxes have to live somewhere else entirely. Confirm which product you are on before following any of these steps, because the routes differ.
Product note: WP Engine
Can cause delaysThe Domains screen publishes both a CNAME and an A record target, and WP Engine commonly suggests using a DNS provider that supports CNAME flattening at the apex. Confirm which product you are on before following any of these steps, because the routes differ.
Where are you coming from?
Most of this job depends on the destination. These are the bits that depend on where you are coming from.
Coming from cPanel hosting
WP Engine does not use cPanel, so the shape differs at this end: files go in via SFTP or SSH Gateway and the database through phpMyAdmin. The export side is familiar; the import side is not.
Coming from managed WordPress
There is usually no cPanel and no phpMyAdmin to export from, so use a migration plugin that produces a portable archive, or lean on WP Engine's Automated Migration plugin. Do it while the source is still publicly reachable — most tooling, including this one, works by fetching the live site.
Coming from a site builder
Wix, Squarespace and similar do not give you the files at all. There is nothing to migrate in the normal sense; the site has to be rebuilt or exported to static HTML, and content moved across separately.
Common questions
What languages does WP Engine support?
PHP (managed versions), with MySQL. It is intended for wordpress, and only wordpress. It cannot run Non-WordPress PHP applications; Node.js or Python services; Arbitrary static sites outside a WordPress install.
Does WP Engine migrate my site for me?
Yes — Automated Migration plugin, free of charge. Install the WP Engine Automated Migration plugin on the source site and supply the destination details from your WP Engine install. It covers files and databases but explicitly excludes DNS records, email, the registrar transfer.
Can I move without downtime?
Yes. Copy the site, test it on a temporary URL while the old host still serves the public, and change DNS only once it works. There is no window where nothing answers — the risk is cutting over to an untested copy, not the cutover itself.
What about my email?
It does not come with the files. Mailboxes are a separate system, and MX records are a separate job again. Plan both explicitly rather than assuming a hosting migration covers them.
What happens to my SSL certificate?
Certificates do not transfer. WP Engine issues its own once the domain resolves to it, which means a short period after cutover where HTTPS may warn. Provision it as soon as DNS points here, and check the site still forces HTTPS.
Reference documentation
Provider interfaces change. When these steps and the official documentation disagree, the documentation wins.
The same job at other providers
Move your website to Bluehost
Decide which Bluehost product you are moving to first
Move your website to GoDaddy
Decide which GoDaddy product you are moving to first
Move your website to SiteGround
Decide which SiteGround product you are moving to first
Move your website to Hostinger
Decide which Hostinger product you are moving to first
Move your website to Cloudflare
Decide which Cloudflare product you are moving to first
Want this done for you?
I move sites onto WP Engine regularly — files, database, DNS and the registrar — with the old provider kept as a rollback until it has settled.