WordPress hosting: possibly the most contentious issue since capital_P_dangit() (Insider WordPress reference.) This was a controversial function written by WordPress’ co-founder that corrected Wordpress to WordPress (source). 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.

But one tweet and one reply later and a beautiful relationship was born:


It’s now pretty much bang on three years later.


Where are we now?

We’re three years and 500 installs – (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) which receive an average of 1.6 million total monthly visits into our experience with WP Engine. What have we learned?

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?

Uptime

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.

Downtime

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.

Total time

8765 hours in a year * 3 years * 350 mean number of installs across that period = 9,203,250 total site hours.

Reckoning

100% – 1,600/9,203,250*100% = 99.98% uptime.

That’s impressive and worth a 100 percent positive rating for WP Engine around uptime.

Dev tools

The WP Engine site currently promotes:

  1. Git Version Control
  2. 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.
  3. 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.
These tools save us time and add value to our business.

There are more too. Copying installs, or creating new installs from templates are all super-useful features. As are the redirects, domain management and centralised SSL purchase, configuration and installation tools.

Scale

  1. Unlimited Data Transfer. We certainly haven’t ever felt limited in terms of data transfers, although on premium plans, you pay extra for bandwidth.
  2. Enterprise Architecture. We have no arguments here.
  3. Top-Shelf Hardware. This feels true, especially with the newer pods (Basically a web server).
  4. CDN Ready. We’ve found the CDN integration powerful and slick
  5. 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.

Overall, no complaints about scale.

Storage

Plenty of storage, with the ability to use their LargeFS storage for unlimited storage if you have high storage demands.

Speed

  1. 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.
  2. No Caching Plugins! (Their emphasis, not mine) Oh, the joy of not fighting with caching plugins. This cannot be overestimated.
  3. 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 use (not the best way to find out, about which more later.)

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.

Great caching technology but make sure you leave enough resource for non-cached users too.

Security

Security was the driver for me investing in WP Engine in the first place, so how has that worked out?

  1. Firewall and
  2. 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.
We’ve never (touch wood) had a security issue with any site hosted on our WP Engine pods. That’s a 100 percent record. Thank goodness.

Support

  1. 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”. 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. 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.
  2. Daily Backups. These are totally essential, and flawless in our experience. 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.
  3. 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.
  4. 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.
  5. 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.
  6. No Lock-In. I’ve never tried to leave WP Engine so I can’t vouch for this.
While I’m going to have to give a less than perfect mark for support, that’s only because this is a three-year wrap-up – not a current state of affairs. WP Engine has obviously invested heavily in improving its support, fixed many of its early growing pains

Product development

It’s easy to get frustrated at not having access to all the tools you want. Especially when you know that their internal teams have them (e.g. server load monitoring, WP-CLI, etc). But, comparing feature release with other services we use (FreeAgent, CapsuleCRM, JIRA), I’m actually pretty impressed with the direction and pace of feature releases. Considering what a conservative industry web hosting can be, WP Engine feels different.
Not full marks I’m afraid, not whilst there’s so much more to do!

Account management

As a client with hundreds of installs, I feel like we’ve always deserved (I can be a princess like that) a bit of personal management: to know someone in the company has our direct interests at heart. And, after a fashion, we’ve always had that. In fact, I’d go so far as to say that’s one of the key reasons we’re still aboard. WP Engine’s account management got us through the really tough times. Now, and again for a long time, account management has been good to great. Now that the UK office is fully operational, we’re building the kind of strong partnership that only an occasional beer together can cement.
So, again, full marks only missed because of historical stretch problems. Currently: all is great.

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.

  1. Off-site backups to our own S3 / cloud provider
  2. Command line access through WP-CLI
  3. Ability to scale up pods without migrating
  4. External API access
  5. 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.

In Summary

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.

Full disclosure

Why am I writing this post? Three reasons:

  1. To reflect on what’s become a key business partnership for Pragmatic
  2. To answer the concerns that clients come to us with
  3. NOT to generate affiliate income (there are no affiliate links in this post but there is one in the site’s footer).

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.