Among managed WordPress VPS-based hosting providers, WP Engine is the most expensive but has one killer feature that makes it worth the money: it works.
I recently switched my personal site over from a hand-built Rails setup to WordPress (WP). On some level, this felt wrong, my pride saying, “What, you can’t even build a half-decent blogging system?”
But as a freelancer, your time (and your customer’s time) is gold. You should always be looking to maximize time. In the case of having a personal site, that means using a prebuilt CMS so that you don’t have to futz around with things like Haml templates or figuring out how best to manage and store photo uploads. In other words, don’t reinvent the wheel.
It goes without saying, then, that using a prebuilt CMS is worthless if the installation time takes longer than the amount of time you’d spend building a CMS from scratch. It felt like that was almost true at times during my search for a WP hosting provider.
Hostess with the mostess
My initial attitude going into the task of finding a WP host was, to put it mildly, cavalier. I didn’t want to use a “shared” WP host because I’ve done that in the past and performance is terrible–my personal site is my business card, and I don’t want clients thinking that I can’t even get my business card right. VPS was the only route for me.
I expected that because I can get a VPS for $5/mo. from DigitalOcean that I should be able to get managed VPS hosting for around $10/mo. for WP. After all, how hard is it to spin up an Ubuntu image, install LAMP, upload WP, and update it from time to time? Surely a 100% cost increase would cover that plus any customer support.
Oh how wrong I was! As of writing, you have basically three options for fully customizable managed VPS WP hosting:
- DreamHost’s DreamPress 2 service ($24.95/mo.)
- HostGator’s “blog” tier WP hosting ($11.96/mo.)
- WP Engine’s “personal” tier ($29/mo.)
I tried all three, and let me tell you, for the $29/mo. that WP Engine takes from your pocket, you get one really killer feature that the other guys don’t have:
Why DreamHost and HostGator suck
Let’s start with DreamHost.
On the surface, their DreamPress 2 service sounds like a great deal. In particular, these aspects appealed to me:
- $100 Google AdWords credit
- I’ve worked with DreamHost before and they’re great
I set up everything through the DreamPress panel in my account dashboard and everything worked as smooth as silk…at first.
The problem hit when I tried to activate the Jetpack plugin. For those of you who are unfamiliar, Jetpack is a first-party plugin that combines a lot of disparate but useful content formatting and analytics functionality for WP into a single package. Since the plugin is maintained by Automattic, the company behind WP, we should have no problem activating it…
…except that DreamPress throws up the following error when you try to visit your page after installing Jetpack:
Allowed memory size of 268435456 bytes exhausted (tried to allocate 72 bytes) in /home/wp_ffjie/ersinakinci.com/wp-content/plugins/jetpack/class.jetpack-options.php on line 29
A quick Google search revealed a month-old unanswered post on DreamHost’s support forums from a user with the same problem. A month and no fix for an extremely widely-used first-party plugin? Um, pass.
Next up, HostGator.
Let’s set aside the fact that HostGator’s entire branding makes me think of Windows XP getting run over by a Swedish flag colors-emblazoned Volvo 18-wheeler and does not instill the highest levels of optimism. They were cheaper and offered, in theory, some appealing features like free CDN and a shared SSL certificate. Unfortunately, they have hands down the worst onboarding experience of any hosting company I’ve ever dealt with:
- During sign up, I specify a cleartext “account PIN.” Not a password? Weird.
- Within an hour of signing up, I get five e-mails, none of which are a welcome e-mail. Two of them are notifying me that my first backup has been completed. Backing up what, an empty WordPress instance?
- At this point, I’m not sure what’s going on, so I try to log in to my account dashboard. It asks for a username (I guess my e-mail? Not entirely sure) and a password. What is the password? Well, I’ll tell you what it’s not: it’s definitely not the account PIN, because I tried that and it doesn’t work.
- Customer support asks me for my login credentials. I tell them that I don’t have any.
- Two more e-mails about how my WP install has been upgraded. Still no welcome e-mail.
- At this point, I ask customer service to cancel my account. I’ve spent two hours on this and wiped out any potential savings I would have made from using their service instead of the pricier WP Engine.
- Once customer support gets into my account using my PIN, they say “OK sir, now we’ll get you set up with your hosting.”
What WP Engine gets right
Compared to my horrible experience with DreamHost and HostGator, setting up WP Engine felt effortless. The initial installation process isn’t terribly different from DreamHost (and I imagine from what HostGator’s would have been, had I gotten that far). Here’s where WP Engine really stands out, though:
- Managing your installation through git. Source code management through FTP is annoying and clunky to use, yet it seems to be standard in the WP world. WP Engine lets you manage your code via git, which is awesome. I modified a couple of lines in my WP theme, committed, and pushed. WP Engine verified the delta for any syntax errors in my PHP (nifty!) and then updated my site without fanfare.
- Separate production and staging environments. You can set up a staging environment that sits at a different URL to test changes before deploying to production. Staging, like production, can be managed via git. Just add the staging git repo URL to your remotes.
- Blazing fast US-based customer support. I ended up having a weird issue with the Jetpack plugin, again (but this time it was my fault) and needed customer support. I sent an e-mail at 2 AM PST and had an e-mail response in my inbox at 7:30 AM PST from a competent American. Whoa.
- Screening for bad plugins. They literally don’t allow you to install certain plugins because they’re unmaintained, incompatible with your version of WP, or just poorly coded. I’m totally fine with that, just another way for me to avoid headaches.
- Well-designed dashboard with lots of features and easy backups. Saves me time. I appreciate that.
It’s true that WP Engine costs more and also charges you for other services, like CDN, that their competitors offer for free. Right now though, I don’t need those other services. What I do need is a provider that just works, and WP Engine is the ticket.
What frustrates me about all these managed WP VPS hosting providers
Regardless of which hosting provider you go with, what annoys me as a developer is that you can’t actually SSH into the VPS that you’re paying for. You can’t even shutdown or reboot through the account dashboard. I wanted to restart my DreamPress instance, for example, to see if that would fix my problem, but I couldn’t find any way to do so.
If you’re going to charge me extra for a VPS, at least give me root access to my own instance! But I understand it from their perspective, too. If this is a WP-dedicated product, root access introduces too many variables and they’d no longer be able to give the same guarantees and customer support at that price point. Touché.
At the end of the day, however, I’m willing to give up control to have a high-performance WP solution that’s easy to manage and that just works. WP Engine was that solution for me.