Migrating a WordPress site away from WP Engine to a cPanel server

WP Engine is an excellent host. We here at Mendatech LLC use it as the backbone for our Advanced WordPress Hosting package. If however, you need to move away from WP Engine, it’s nice to have some pointers. It’s just like any other WordPress migration, the below items that are bold are more specific to WP Engine:

  • Preparation
    • Pro-hacker tip – modify your system’s hosts file to see the site working before you launch. Remember to change it back when you’re done.
    • Ensure your server has at least twice as much space as you think you’ll need.
    • Log in to your new cPanel, use a “one-click” or “quickinstall” tool to install WordPress. This will create the database on your server as well as a wp-config.php file which you will need to connect to later on. You can then log into the dummy WordPress installation.
  • Backup and Download your site from WP Engine. Use a fresh backup to ensure you are pulling any changes since the last daily backup. This is useful for the files, we recommend a different process for exporting a modified database.
  • Modify and export your Database – we recommend WP Migrate DB. When you export you will be setting a new URL and filepath. First log into the dummy installation and install WP Migrate DB. Then go to tools->Migrate DB. Copy the URL and filepath values. THEN, in WP Engine, similarly install WP Migrate DB. In WP Engine actually complete the database export, but past the new values in so that the system will export a modified database that aligns with the new environment.
  • Import your new database. From cPanel’s phpmyadmin, import your modified database.
  • Hide the dummy files. Via File Manager OR sFTP, create a /temp/ folder and move all the dummy files to it.
  • Upload your files. Using cPanel’s File Manager, upload your WP Engine zip file and unzip it to your /public_html/ folder.
  • WP-config.php – Remove your wp-config.php file that was from your WP Engine server. Move the wp-config.php file that came with the dummy files to the root folder, but first modify your database prefix to match what was on your WPE server, typically it should become ‘wp_’
  • Cleanup
    • Delete any dummy database tables that you don’t need
    • delete the .sql file that may have uploaded to /wp-content/____.sql
    • delete any temp folders that you created during the process.
  • Update DNS
    • Update your CNAME / A records for www and root

Troubleshooting:

  • If the site doesn’t load or is throwing an error, turn on debugging mode in wp-config.php. Ensure you have enough space allocated and re-upload the items that are causing issues. It is smart to download fresh copies of plugins / themes