WordPress hosting: possibly the most contentious issue since capital_P_dangit()1. There can only be a lucky few WordPress pros who haven’t had to deal with the results of bad hosting. I’m certainly not one.
Back in 2012, I’d been freelancing, mostly with WordPress for about three years and had built up a valuable clutch of something like 100 hosting clients all hosted on a single VPS. One day, I woke up to find that all 100 sites had been hacked – a clever PHP injection that performed a sophisticated redirect for Google alone. I caught (and cleaned) the hack quickly and the client site impact was minimal but the stress, cost and potential impact on client sites was something I never wanted to relive.
It was then that I started looking for new hosting solutions and came across WP Engine. At the time it looked like they were US-only.
Where are we now?
First, let’s run through the key points WP Engine promotes about its service. If they think those are the important things, who am I to argue?
OK so the WP Engine plans page doesn’t really mention this explicitly but it seems obvious!
In three years, we’ve had some small amounts of unplanned downtime. I estimate we’ve had 99.98 percent uptime.
Calculations if you’re interested.3
- Git Version Control
- One-Click Restore Points. For us, these first two (Git and Restore Points) are essential and have been 100 percent reliable. I simply can’t imagine trying to run a serious WordPress agency without them.
- One Click Staging Area. This isn’t a feature we’ve used much; partly because it doesn’t work with our workflow (staging sites aren’t backed up) and partly because we’ve found it unreliable in the past, and still on occasion. While it’s nothing serious, we’ve had a few missed images here and there, which makes us nervous that there could be less visible errors. So the rating on Dev tools is high, but that’s definitely subjective.
- Unlimited Data Transfer. We certainly haven’t ever felt limited in terms of data transfers, although on premium plans, you pay extra for bandwidth.
- Enterprise Architecture. We have no arguments here.
- Top-Shelf Hardware. This feels true, especially with the newer pods4.
- CDN Ready. We’ve found the CDN integration powerful and slick
- Dedicated Environment. Yep, as long as you’re happy to pay, you can get your own pods. Back in the early days, we did once find that our dedicated pod was also hosting a handful of sites that weren’t ours. But that did get resolved quickly.
Something that’s worth mentioning is that whilst all this is true, the service isn’t as scalable in terms of being elastic as an Amazon instance. Instead, there are relatively fixed pod packages that come with various price-points. It’s definitely true that WP Engine can handle absurd amounts of traffic (and absorb peak traffic bursts very well), but if your traffic requirements change periodically or seasonally then you’d either need to go for a higher capacity package than you typically need, or be prepared to switch up and down (the minimum duration for each package is three months). Again, I suspect this is a pretty unusual challenge, but definitely one we’ve faced with clients a few times.
- International Data Centers. This is super important for us because of our mainly UK/European client base. This discounted other premium WordPress hosting providers for us.
- No Caching Plugins!5 O, the joy of not fighting with caching plugins. This cannot be overestimated.
- EverCache Super slick, smart caching that’s easy to control and very sophisticated. Combined with the CDN, EverCache is a powerful way to handle high volumes of unauthenticated traffic.
Something that is definitely worth mooting here is that when it comes to un-cached traffic, the difference can be huge. In fairness, that depends totally on the level of resource contention on the pod. If you have only one site on a premium pod, you’re laughing. For us, we know when there are too many sites on a pod because the CMS becomes very slow to use6.
If we’re hosting a site that runs WooCommerce or a membership site with lots of authenticated traffic (or even a site that has lots of editors working on content) then we charge a premium for that to help offset the load that adds to the pod.
- Firewall and
- Malware Scanning. It’s re-assuring to get updates from WP Engine telling us that an install we’ve migrated in has had its TimThumb updated to the latest version. What’s more valuable to us is that if someone suspects their site has been hacked and want to migrate it to our hosting package, we know that all we need to do is to migrate it onto the WP Engine platform, open a support ticket and Sucuri and WP Engine’s own security tools will clean up anything that shouldn’t be there. That’s a saviour for our clients and a real value-add for us.
- Surprising Support. Surprising isn’t the word I’d use. In the past, words might have been more like “slow” and “frustrating”. But as WP Engine grew, it was clear they understood that challenge and was able to greatly improve its support experience. For a long time now, I’d choose words like “consistent”, “friendly”, “knowledgeable” and “reliable”8. I should say too that the support team has always been helpful, polite and friendly, it had just been overwhelmed at times while overcoming the challenges of rapid growth.
- Daily Backups. These are totally essential, and flawless in our experience9.
- Managed Updates. Again, these are very re-assuring. It’s caused us a couple of minor issues in the past, but on the whole I’m glad they do it, and they do it well.
- Chat Support. Right now, chat support is during US office hours only, but it’s a lovely feature to have and we’re looking forward to having more chat options in the future.
- Generous SLA. Honestly, this does nothing for us. If the sites are down, it’s always far more stress for us (and client communications/inconvenience) than any refund could compensate for.
- No Lock-In. I’ve never tried to leave WP Engine so I can’t vouch for this.
Stuff we wish they had but they don’t
As with any service or product, there are always features we long for and wish WP Engine would fill – here are some. There’s nothing here that’s a criticism.
- Off-site backups to our own S3 / cloud provider
- Command line access through WP-CLI
- Ability to scale up pods without migrating
- External API access
- A better dashboard. The dashboard isn’t super helpful when you have multiple pods with many installs in. There’s no way of analysing performance and load at the pod level, although the support staff clearly does have access to this information. This is probably a relatively uncommon issue, but one that would definitely make our lives easier.
We love WP Engine and count on them every hour for our business. I’d give them a 95 percent overall positive rating and I’m happy to round that up to 5 stars. I know that a lot of this write-up is subjective – and necessarily so. The features you use and the importance you place on them will make your experience different from ours. I’ve tried to be clear where I think things are particularly subjective.
There was definitely a period of growing pains where (in hindsight) it is clear that WP Engine was a victim of its own success – too many new clients, not a big enough team to support that growth. We had a few painful hours of all our sites being down (during which my mobile phone and email went pretty crazy – and not in a good way) on several occasions. I think that because we were (from the early days) on a dedicated pod, we got away more lightly than others. My take is that too much success equalled too much hosting contention and too little support. That left a bitter taste with some people, which I can understand because it’s a premium service.
It got bad enough at one point that we were actively researching alternate providers. What convinced us to stay was that WP Engine did actually come good and sorted the problems out. It took a little longer than I wanted, but it did happen. They showed us commitment, and we returned it.
Things have drastically improved over the last 18 months or so. A couple of years ago we started noticing lots of new names on our support tickets. Over the following six months, the quality (as well as the quantity) of support responses has increased and for a long time we’ve been confident that when we put a ticket in, we’ll get a pretty fast and helpful response.
In the last six months we’ve also started to see some awesome new features rolling out, like install copying. We’ve also seen bugs being fixed in the older functionality. There’s clearly pride and attention to detail in the WP Engine product team as well as the support, sales and account management teams.
As a WP Engine partner, we have a confidential window into the roadmap for some of the upcoming features and we’re excited to see some of those trickle into our dashboard and that innovation is great to see. We look forward to remaining a WP Engine partner into the future.
Why am I writing this post? Three reasons:
- To reflect on what’s become a key business partnership for Pragmatic
- To answer the concerns that clients come to us with
- NOT to generate affiliate income (there are no affiliate links in this post but there is one in the site’s footer that)
I want to be clear that this post isn’t affiliate link-bait. We are a WP Engine partner and we do have an interest in their success.
500 installations of WordPress doesn’t mean 500 live sites. We’ve probably got about 250 live sites – some on multisite – the rest are for development and testing purposes.↩
4 periods of 4 hours of downtime across average of 100 installs that’s fair to call WP Engine at fault = 1,600 hours of site downtime.
8765 hours in a year * 3 years * 350 mean number of installs across that period = 9,203,250 total site hours.
100% – 1,600/9,203,250*100% = 99.98% uptime.↩
Basically a web server↩
Their emphasis, not mine↩
Not the best way to find out, about which more later.↩
Lots of touching wood↩
As a partner, we do bypass some front line support channels, so your mileage might vary but I have only heard good things from others without that access.↩
Just a quick note that if you’re using the dashboard-based restore points, they don’t include your media uploads. Those are backed up, but to access that backup, you’ll need to create a ticket.↩
I can be a princess like that.↩