Migrate Away From WP Engine
I am just as much of a fan of WP Engine as the next person, however, if you try to migrate a website away from them, this is another story. There are a few things you should know so you can plan accordingly. With a normal web host, I can download a backup, move the MySQL database, and have everything back up and running on a new host within about 10-20 minutes depending on FTP download time. However, this last weekend, it took me about 2 hours to migrate a website because I ran into a few hitches. Below is a list.
1st Delay – Slow FTP
You cannot use WP Engine’s backup feature to transfer your site. The reason is because the backup file excludes a lot of directories and files that you need. For example, they exclude your upload folders…
You can see a full list of excluded files here: http://wpengine.com/support/restore/. They have a good reason for doing this and when you are only working within the WP Engine environment, it does make it fast to backup and restore. However, when you are leaving WP Engine you will need to FTP your files. When you download (FTP) your files from WP Engine you will discover it is incredibly slow. And that is is because they are actually hosting a majority of the files remotely. My site was 250MB and it took 1 and 1/2 hours on a 70Mbps connection. If you can, I would recommend asking their support for a full zipped up download; which should be a lot faster.
2nd Delay – Folder Permissions
Ran into permission errors on files and folders once I migrated the website to a standard Apache server. If this happens to you, you might want to look at what your current PHP handler is. You might have to switch yours to SuPHP or DSO depending on which was running on the previous side.
3rd Delay – WP-Config.php File
WP Engine uses a slightly modified wp-config.php file, located in the root of your WP Install, and so you might end up having to generate a fresh one at your new host. I recommend using the wp-config.php Generator.
4th Delay – Removing WP Engine Remnants
The last thing you have to get rid of is the WP Engine menus in your WP dashboard and the extra unnecessary files. The first folder you will want to delete is the “mu-plugins” folder, which will be located here: wp-contentmu-plugins
You can also remove the two files, .gitattributes and .gitignore. from the root folder.
The most important file that you will want to remove is the object-cache.php file located in the /wp-content folder. If you don’t you could very well end up with a blank or white screen when you are migrating to a new host.
You can then also remove the mysql.sql file located in the /wp-content folder. This is used by WP Engine for their automated backups.
Delete WP Engine Administrator Account
And last but not least, most WP Engine WordPress sites will have a 2nd administrator user besides their own called “wpengine.” This account is used by their staff to gain access to your admin area to provide support and troubleshooting. This is no longer needed and can be deleted.
Hopefully this helps someone and makes your migration process a little quicker. I actually moved to Kinsta and it is much faster (by about 2 seconds without caching plugins), and support is beyond comparison. They also don’t overcharge you based on the number of visitors you receive each month. If you are looking for other hosts check out my list of recommended WordPress hosts.
As always feel free to leave your comments below.
73 thoughts on “Migrating Your Website Away From WP Engine”
Thanks for the useful post, helping a client get away from there right now!
No problem! Glad I could help. Hopefully it makes your site migration a little easier :)
Thanks again, thankfully the only problem I ran into was “Where are these menu links etc. still coming from?” Then I read your article and deleted that MU-plugins directory.
I wish I had read this like 6 days ago. I’m moving a client away from WPengine to InMotion hosting. My second choice was Knownhost. This took me way longer then planned, but it was worth it. WPengines caching caused all kinds of site problems in addition to weird URL issues.
Yes I love WP Engine, but they definitely make it difficult if you ever leave them. They should have better tutorials on their website about problems you might encounter.
Brian, should I change anything in wp-config apart from table_prefix? I am asking because earlier site was hosted with multisite not moving to standalone.
Sorry for the delay in getting back to you. I think with multisite if I remember correctly simply adds an id on the table_prefix. So you would just want to make sure the table_prefix in your wp-config file matches what is actually in your mysql db. Each sub-site should have sets of tables that correspond to the blog_id in the wp_blogs table.
What about the mysql.sql file on the wp-content folder?
Oh great find! I have updated my post above. Yes you can remove the mysql.sql file in the wp-content folder as that is used by WP Engine’s automated backup process. Thanks!
Hi, I also found a folder called hyperdb on the plugins folder that can be removed and the file advanced-cache.php too. What I am doing is install a fresh wordpress and replace the database and the plugins and themes folder so everything is like is supposed to be on a fresh install without any mod by wpengine. Going to try Kinsta in the future, it looks good. Happy new year!
Hey Brian – Thank you SO MUCH for this! You made it so that I wasn’t terrified of the migration :)
You were right about the slow download times! I didn’t run into a file permissions issue, but I DID have to revert to the wp-config-sample.php file because WP Engine extensively customizes the wp-config.php file. I’m still crossing my fingers on the PHP stuff (that’s totally out of my league), but at first blush it looks like I’ve gotten the site safely migrated.
FWIW, at this point, I had a tougher time migrating *into* WP Engine than migrating the site away, and it had to do with the uploads folder not copying in correctly. I use A2 hosting, and while they were willing to provide help with migration, it wasn’t as simple as “I’d like my free site migration, please” because WP Engine doesn’t use cPanel.
i agree that WP Engine should provide at least some documentation for migrating away from them… it would make me more likely to use them in the future (for most of my clients, the cost is prohibitive, but in this case, it wasn’t… *until* she wanted to have two sites. then it was like, well, I can do $30 but not $60).
Np D’nelle :) Thanks for the great comment! Now that you mention it I have also had to generate a fresh wp-config file many times when migrating people away so I just updated the post above. You can see it in step 3.
Ya I wish WP Engine had more flexible plans cause they really are a great host.
Hey this really helped me out! I also had to create an .htaccess with the wordpress rewrites as well.
Great glad it helped!
Hey so this was pretty helpful, as I’m currently in the process of migrating my site away, but I’m finding that I’m still having so many issues and I think they may still be connected to WPEngine. Basically almost all of my image links are showing up as the wrong file path for some reason, and I can’t figure out how to correct this. On the admin end, everything looks fine, with the right images showing up in the right posts/pages, but when you go to the live site the images are broken. Any idea what this might be/how I could fix it? Any help is appreciated!
What is your website’s domain? I can take a look.
Thanks so much, it’s gemhunter.com
All of the image files are saved in gemhunter.com/wp-content/uploads/2014/…. whereas when I look at the image paths on the live site, they’re changed to http://www.gemhunter.com/thumb/w=320&h=320&zc=1/2014/
I’m assuming a plugin on your site is generating thumbnails in that location or your theme? Do you happen to have your old site still up on WP Engine to look at the path of the thumbnails on there? My guess is that it is possibly a permissions issue. I’m seeing from your IP your new host is either GoDaddy or MediaTemple? If so I would open up a ticket really quick and have them check permissions on your folder directories. They could be set wrong due to WP Engine. That happened to me once on a migration away from WP Engine.
No, no longer have the site on WP Engine unfortunately….I am on GoDaddy though, so I’ll do that. Thanks for responding!
Thanks Brian, you answered my questions and confirmed my fears as I set up this migration process away from WPEngine. Personally I don’t why anyone would want to move away from them but I guess not everyone understands the benefits.
Hey Jim, thanks for your comment. I know a lot of people have been migrating away simply because they charge you based on visitor counts which is not the greatest. I prefer a host which charges a simply monthly fee or by bandwidth model. Also I migrated away to move to Kinsta which actually is much faster than WP Engine. However all that being said, WP Engine is still a great host and for small business owners I still recommend them because they will never have to worry about their site.
Just want to say thanks for the great tutorial. Simple and to the point :) I am migrating my website in minutes :)
Glad I could help Anastasia! :)
Thank you for the article. I wanted to add one more thing. If you do the backup via the WP Admin >Tools and use CDN, it does not have all your files. We had many files in /wp-content/uploads and They did not exist in the WP backup. Make sure you grab all your files off their SFTP server. You should also plan on taking some time. The SFTP was very slow. Even over fiber internet, it was slow.
we do like WPEngine service, but when you are stacked on a server that has adult content on your same IP, not so good.
I agree. Always grab files via FTP to make sure everything comes over. I also had very slow speeds with their SFTP.
Ouch, adult content on same IP? That is not good lol :)
Great article – the most comprehensive on this topic out there (and I’ve read a few!). I have followed the steps but am getting an “Error establishing a database connection” error. Any ideas what it might be? Or is it possible to hire you to help with this process?
Thanks Ross, glad you liked it. So I’m assuming you created the database on your new host and imported it? I actually have a tutorial that might help you: https://brianjackson.io/migrate-wordpress-website-new-web-host/ I’m betting its something with your database and your wp-config file. Hopefully that helps. Also your new host should be able to help.
Thank you for saving me what I know would have been hours and hours of frustration and hair tearing! Your instructions worked a treat.
Glad I could help Rose!
Rather than using FTP/SFTP for the uploads folder, you can use a plugin like Updraft Plus to download all of them in a jiffy.
Hey Scott, thanks for your comment. I actually just acquired http://wpseer.com this last weekend and I tried out Updraft Plus when I was moving servers. I was pleasantly surprised with the free version. Great little plugin indeed for backups and quick migrations.
I just followed this tutorial to get a site moved off of WPEngine. It seems like it went pretty smoothly, the only issue is that on the new server it runs REALLY slowly, but only if I’m logged in. Looking at the page it’s fine, then I log in and any time I click a new area in the admin section it takes a long time to load. Any idea if this might be related to the site being on WPEngine?
Thanks, great tutorial!
Hey there – hope this comment thread is still being read. Just a note on the 4th Delay – removing the mu-plugins – I am attempting to move away from wpengine to go daddy – There’s a guide here for manual migration and it says not to remove this folder – are you meaning the entire directory or just the plugins relating to wpengine – Refer here to the steps on Go Daddy that mentions not to. https://au.godaddy.com/help/managed-wordpress-manual-migration-12371 – I am staying with wpengine for most of my sites but there’s a few clients who find the fees cost prohibitive unfortunately. So I’m trialling Go Daddy.
Ok – looking further and comparing to a GD clean install – there’s two plugins specific to GD that they’re referring to – so to add – don’t overwrite the original GD install mu-plugins folder with the one from wp-engine – delete it first before uploading i.e ensure you leave the “gd-system-plugin” folder and the “gd-system-plugin.php” file in place – 5 thousand steps and access via sftp later….!
Thanks for a great overview. One question: You noted that the 3rd delay was WP-Config. Was that file slowing down the site, or preventing you from accessing the site successfully.
In other words, if my site loads, should I still recreate WP-Config.php as you mentioned?
Hey Matt. I have actually moved a lot of sites away from WP Engine without doing that step. It is only really necessary if your wp-config.php file is a mess. Hopefully that helps!
Thanks, it doesn’t seem to be causing an issue to leave the old one, so I’ll leave well enough alone!
Thanks. I’d forgotten to remove the mu-plugins and clean up all the wp-config.php code. Finally, the migrated away site now works.
Really helpful article Brian, thanks for writing it. I’m migrating a few sites away from WPEngine to SiteGround – was scared at first as I thought I’d miss WPEngine’s customer support, but actually SiteGround support blows them away! Plus WAY cheaper and great load times with their Cloud plan too.
Thanks for the article. I moved a client away from WP engine (which was a pain). This helped remove all the leftovers.
Hi Everyone. I found this post as we were helping a client move away from WP Engine. WP Engine recently had been compromised and they had forced everyone to make security changes. This along with a host of other issues (I won’t get into them here unless someone asks) left our client uneasy staying with WP Engine.
This post was very helpful. Since my feedback is in January 2016, you may find a few things different from the original posting.
1. We did a full backup from WP Engine and the backup file we received included everything we needed including the Uploads folder and content. We did not find this to be a problem.
2. Folder permissions has not come up as an issue.
3. The wp-config.php file definitely had to be changed to an original version from Wordpress.
4. We did ditch the mu-plugins folder.
5. The .git* files were also ditched as recommended.
6. The object-cache.php file did not exist in our case, rather a advance-cache.php This might be a change on the part of WP Engine.
7. The mysql.sql file was removed after we created our own MySQL setup through WHM’s phpMyAdmin.
All of this helped removed the WP Engine link in the navigation too once you entered WP Admin.
At present our client’s site is functioning as intended without WP Engine.
Hope this helps others.
I had to get my new hosting platform’s IP whitelisted since they had blocked every IP except my my home computer.
Very helpful post. We had to move host’s due to terrible WPengine performance with an ecommerce site and didn’t want to pay their premium for the dedicated servers. Thanks again.
Np, glad it was helpful!
Thank you very much for this post. My website’s Theme got broken after a move from WPEngine to SiteGround. Your solutions solved my problem!
Great, glad it was helpful. Have an awesome weekend.
Koji, how has your experience been with Siteground?
Just finished a chat with a wp-engine support person. They claim that */uploads*/2012/
*/uploads*/2013/, etc are included in the backup provided in the dashboard. We’ll see. Nonetheless, thank you for this writeup.
Thanks. Migrated from WP Engine and was dead in the water. The config.php was the key. Thanks for your post. You saved a lot of time and headache.
Great, glad it was helpful!
Found this helpful. Thank you Brian
Yes! Finally something about web domain register.
I’m currently with WPE but have clients who aren’t wanting to pay $99 month. I’ve looked into Siteground but not sure which other hosts you’d recommend thats comparable to WPE. Site speed is crucial.
Any help would be greatly appreciated.
I totally understand that not everyone can afford Kinsta or WP Engine. I have tested a lot of hosts, and my 2nd best recommendation would be SiteGround. You can check out my review: https://woorkup.com/siteground-review/ I got great speeds from them!
Thanks, Brian. I’m in the process of moving from WPE to SiteGround. I had no problem copying my site (using All In One WP Migrate plug-in), but couldn’t work out how to get rid of the WPE software. Some google-fu brought me to this page, where you had just the info I was looking for. And it was also nice to see you recommending SiteGround. Thanks again, and I’ll be returning to your site in the future.
Great, glad the post was helpful Richard!
Thanks this!. All I ended up needing to do today was to rename the mu-plugins folder and that eliminated WP Engine from the mix. I had previously 1) installed WP at destination; 2) FTPed all content into wp-content folder; and 3) imported the database via myPHPadmin.
Great, glad you got it working Cliff!
Went with Cliff’s steps and worked great, installed on windows 2012 server without issues. Glad to be away from wpengine. Renamed directories and cache files as well.
thank you! this sped up one of my sites by 10x.
I see this article was posted a couple years ago, but it was at the top of my search for ‘Remove WP Engine from Wordpress”. Good job.
Your article gave me all the clues I needed. Something that made my ‘migration’ easier was an UpdraftPlus backup prior to migration. Probably any other standard WP backup would work, but I’ve used Updraft for a while, it works well. It puts backups of everything (I usually backup to cloud storage) on the current server in zip files so they can be downloaded locally, including the MySQL database and ALL folders and files below public_html.
When your site is backed up:
Download the .zip files locally.
Point your name servers to the new hosting.
Set up a new empty version of WP.
Install the backup plugin.
Upload/Restore all the files.
Updraft has a migration tool, but if your domain name hasn’t changed, it’s not necessary and the process only takes a few minutes. Actually, even if your domain changes, you can restore, you just have to do a global find/replace on the domain name in the .sql file. That may be a bit daunting for some, but it works.
THEN I removed all the WP engine junk per your instructions. Thank you very much for the assist!
This has been so good to see, migrating from WPE has been a nightmare.
That being said, I cannot for the life of me get the migration to work. I’ve tried manual file downloads and re-up to Godaddy, and the All-in-one import / export and duplicator pro and everything goes off without a hitch…right up until I try to access the site or admin and boom, nothing but some kind of TLS / Security error.
Anyone see this before or have any tips?
Man you are the best. Seriously! I just spent 1 hour with liquid web on the phone trying to figure out what was wrong with a website that I migrated from WP Engine, and we could not figure out. Then I start searching on google how to remove the stuff from Wp Engine. After I did what you mentioned everything was good.
And now the website loads 2 times faster.
Thank you for your help!
Awesome, glad to hear it Alex!
Change file directory permissions from 700 to 755
find . -type d -print0 | xargs -0 chmod 0755
A plugin which can also be removed would be
Thanks for this post, a total lifesaver! Two sites I migrated from WP Engine are now loading properly, your guide worked perfectly.
Great, glad to hear it Rich! Thanks for letting me know.
Thanks for the tutorial! Removing that mu-plugins was the key for my site migration. Fixed a whole boat load of problems. Cheers!