HelpWithWebGet Help Now

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 wordpress

Managed 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

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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.php
    define( 'DB_NAME', 'the new database name' );
    define( 'DB_USER', 'the new user' );
    define( 'DB_PASSWORD', 'the password you just set' );
    define( 'DB_HOST', 'localhost' );
  6. 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
    • Email
    • The registrar transfer
  7. 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 downtime

    It 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 delays

    Above 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 downtime

    Mailboxes 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 delays

    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. 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 delays

    There 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 delays

    The 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

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.

← All migration guides

CallTextMessage