The steps to migrate a website away from wpengine and move to another web host.
1 Perform a full site backup & Download
Using the my.wpending console, perform a fill website back and wait for the email confirmation with the link to download the full backup.
2 Remove undeeded files/folders
Download your backup zip file, extract, and then remove the folder called
mu-plugins which is inside the directory
Also remove the file
3 Take your mysql backup
Inside the backup you've just download, wpengine have helpfully placed a full database dump called
mysql.sql. Find the sql database backup inside the
Create a database and user on your new web host, then use this database dump to restore your databse. Or ask for help: We provide business web-hosting, if you're interested.
e.g. on linux: Restore your database from backup with:
cat wp-content/mysql.sql | mysql -u <yourUsername> -p <databaseName>
Replace your wp-config.php
wp-config.php with the same version (probably the latest version) which Wordpress supplies.
To get this file, go to the Wordpress Codex page, scroll to "Configure Database Settings
" and download
Once you've found the sample
wp-config-sample.phpfile provided by Wordpress, remove thecontents of your current file, and replace it with your new
Make sure you download the
wp-config-sample.phpwhich is right for your version of wordpress! You can see your current wordpress version in your wpengine dashboard, account overview section:
Because you've downloaded the sample config file provided by Wordpress, you needed update your
wp-config.php file with your new databse username & password.
Edit the file manually setting the database username & password accordingly.
4 Correct your
You may need to correct your
wp_ as wpengine may have set it to your a shortend version of your sitename.
5 Mark your files at executable (wpengine permissions)
If you don't do this you will get "Permissions Denied" PHP fatal errors with your wpengine migration. The php interpreter needs the files to have the executable bit set, but the wpengine marks all files in the backup as non-execurable. If you know what you're doing, recursivly change the permissions of your website's files to
775 or similar:
chmod -R 775 /path/to/your/website/files*
6 Test, Test & More test
Test everythings working as expected, has your server got
mod_rewire turned on, for your prerry urls to work? Is AllowOverrides configured correctly and to the correct directly? All these things need to be correct for your site to work. If you're using managed hosting, these things will be handled for you.
Update your DNS A records
After testing locally or by editing your
/etc/hosts you're ready to switch over to your new web hosting provider. Good luck and keep going!
Remember, if you're site is slow, identify the cause or pay someone who knows what they're doing to help you. Don't blindly assume moving web host will help you. Common causes of a slow site include:
- Cheap web hosts cramming too many sites onto one piece of hardware (you get what you pay for, cheap skape)
- Installing far too many plugins
We're a web host and have experience hosting experienced customers who've moved from wpengine and are willing to pay extra for decent customer service and technical ability. If that's you, get in touch.
Remove the wpengine user
There's a wpengine user on the wordpress accounts, which you may wish to remove.
Subscribe to Karma Computing
Get the latest posts delivered right to your inbox