First, I would like to say that I’ve only had my WP Engine experience because I’m working on somebody else’s website, and that website is hosted at WP Engine. There may be some great advantages to using WP Engine, but I’m not in love.
Update: I’ve kept updating this post, and it’s turned into a lot of my gripes about WP Engine, not just a list of what it doesn’t have.
I’ve already mentioned that WP Engine does not allow for changes to file and directory permissions. Here are some other things that haven’t worked out so well for me, because I’m used to a traditional hosting environment (cPanel, unmanaged VPS, or unmanaged dedicated server):
No Real Cron
Yep, you can’t log into the control panel and set up real cron jobs. You may, if you’d like, use WordPress’ cron scheduler, but that’s not like real cron, because that cron scheduler is triggered by site visits. Real crons run in the background, and are triggered by the server.
No cPanel-like File Browser
I use cPanel’s file browser for one reason, to delete stuff. If you’ve ever tried to delete a huge amount of files at once, SFTP in FileZilla can be painfully slow. cPanel’s file browser doesn’t in 1 second what can possible take an hour using SFTP in FileZilla. I just deleted over a gig of stuff, and it took about 70 minutes to process. The owner of the website I’m working on only has the Personal level plan, so I have no SSH access, otherwise I’d just rm -rf ./stuff
SSH Access Not Included for All Plans
In my world, $35.00 a month (the cheapest WP Engine plan at the time I’m writing this) can buy a really nice hosting plan at a “regular hosting company”. But even with a $7 a month shared hosting plan at my favorite host, I’d get SSH access. I’m not searching for reasons why they do this, but why do they do this? So frustrating …
SFTP is Slow
I’ve used SFTP connections to many servers, and my connection to WP Engine is always slow. Before you place the blame on my internet speed, consider that this happens to me at work where I have Frontier FiOS, and it also happens to me at home where I have Time Warner’s Spectrum. At work, my connection to the router is a wired connection. As an example, when I initiate a file transfer to WP Engine, it takes about 5 seconds before WP Engine responds.
Cookies and Sessions Crippled by Caching
Yes, because of WP Engine caching, one cannot simply set cookies and use PHP sessions. You have some ability to set cookies through JavaScript, but that’s not always going to be the right solution. You may tell WP Engine to turn off caching for specific routes, but they won’t let you turn off caching for the entire site.
Only 2 Days of Access Logs w/ No Option to Archive
I recently had a reason to review access logs, and I needed to look 3 days back. When I chatted with customer support, they gave me a little false hope, but then told me that there was no way to get access logs past 2 days. There’s no option to change this, and no option to archive. There’s no way that archiving logs can hurt performance, but it does contribute to the amount of stored data (which a hosting customer pays for anyway, since it’s not unlimited). Why shouldn’t WP Engine customers be able to have their access logs archived?
Order by Rand() Disabled by Default
Seriously, I’m way past the point of needing a hosting babysitter. Maybe some of you aren’t, and so WP Engine is trying to keep you from doing something that might slow down your site, but it is your site after all. By default, WP Engine disables ORDER BY RAND in MySQL queries. So, if you’re doing some queries that require random results, you have to go in an enable ORDER BY RAND. I wasted at least 10 minute of my life due to this setting being set to disable ORDER BY RAND usage.
PHP’s exec Function Disabled, so I Can’t Use mysqldump
Like most hosts, I’m sure WP Engine creates regular database backups and makes them available to their customers, but on most sites I work on, I like to make my own backups, and then use the Dropbox API to store the backups for 30 or 45 days. It’s extremely easy to make the backups using PHP’s exec function to run mysqldump, but I couldn’t do it on WP Engine because they disable the exec function. I’ve used a lot of hosts, and never once had one disable PHP functions.
Summary
At this point, it’s my opinion that WP Engine is for amateurs, which is fine but that’s not the case with me. Instead of great benefits, I feel their hosting environment is simply too restrictive. I’ve always felt that a web host should get out of the way and let their customers do whatever they want, unless there are security or performance issues that could potentially hurt their other customers. I can deal with the things I don’t like about WP Engine, but I’d never recommend or use WP Engine if there was another option.