Update July 9, 2018: I have since had the opportunity to test out Kinsta and Flywheel, updates on Kinsta below, more on Flywheel in the coming months.
A few months ago, I was starting to feel the limits of shared hosting. I didn’t need a dedicated server, and I had no desire to host my own on an un-managed VPS. I could do it, but I have better things to do, like helping my wonderful customers. So I started to look at upgrading to managed hosting. While I had found a very good shared host, it was still shared hosting after all. The performance was good, but as someone who focuses on website performance, it wasn’t awesome. So I began my search for a managed WordPress host with solid performance.
I started by doing what any sensible person would do: reading reviews. Wpkube.com had one of the best reviews, so I started through their list. I was looking for speed and performance, but I needed something that was developer friendly too. As a former server admin, I feel most at home on the command line, not using some fancy IDE. As such, I wanted to be able to edit the files on my site using the command line. That alone ruled out a good many of the managed hosting companies mentioned by WPKube and others.
Kinsta, Pagely, and WordPress.com VIP were ruled out for me simply based on price. Kinsta has new pricing plans starting at $30/month that make it more affordable for smaller businesses. DreamPress never responded to my sales inquiry, which was a bit of a surprise, so they were out.
Initially, this left me with one option: SiteGround. After talking to the sales folks at WP Engine, however, their Git Push feature gave the platform a fighting chance. Since those two web hosts consistently rank at the top of the list, I decided to give them both a try. Note that there is a link at the bottom where you can save 20% with WP Engine, there are no other affiliate links.
SiteGround Hosting: Great Caching and Friendly Support
SiteGround offers three plans, but for the price you might as well just GoGeek. Several of the features I liked the most were only available on this plan. Even though it is regularly $29.95/month, they seem to run sales a lot. Every time I have checked, they have been offering promo pricing of 50% off (or greater). With the GoGeek plan, you get all the usual features, plus:
- Staging sites
- Git pre-installed
- PCI compliance
- Priority Support
- Premium Backup & Restore Service
- Full SuperCacher functionality
- 30 GB storage
When I first setup my site at SiteGround, I thought it was pretty good. It was certainly faster than what I was used to on shared hosting. They use a customized cPanel, which has some built-in guidance for getting your site going. This was something that wasn’t overly obvious at first. I just saw the “guidance” as large banner ads originally, and ignored them. With shared hosting, there’s always something to up-sell, and that’s what I thought SiteGround was trying to do.
I setup the same site at WP Engine, and after doing some testing on page loads, I was ready to give up on SiteGround. WP Engine was consistently twice as fast (or more), and there didn’t seem to be any comparison.
Support with a Smile
That’s rather anti-climatic, but enter SiteGround’s friendly support. When I told the support rep my reason for wanting to cancel my service, he asked if I had turned on their SuperCacher? Of course, I hadn’t. SuperCacher had been featured on one of the aforementioned graphics at the top of the site manager. However, I (incorrectly) assumed they would have all speed optimizations enabled by default.
To make sure I gave SiteGround a fair shot, I followed the steps with the support rep. He knew exactly what needed to be enabled, and my site speed rocketed. I proceeded to put SiteGround through their paces for about two weeks, and found some things I really liked.
Using Git for Site Development
First, of course, was the ability to SSH directly into the server. This allows one to make config and plugin edits directly. However, I had also grown to like the ability of using Git to make changes on my local dev install, and push those to production after testing. The added bonus was that SiteGround’s Git feature goes both ways. You can push changes from your local environment, but if you make a change in production, you can also pull that down to the dev environment to make sure things stay synchronized.
In the process of setting up the Git integration, I accidentally removed a bunch of files from the server. As a result, I found myself needing to use the backup and restore function. Since I had opted for their GoGeek plan which came with Premium Backups, I was about to put it to the test. It allowed for a “fill” restoration, but the interface was not intuitive. I chatted with a very friendly support rep for a while, but neither of us seemed to know exactly the right buttons to push. So, I just guessed and (fortunately) got it right. Now, the GoGeek plan also comes with unlimited restores by their support staff. So I could have just asked them to do it for me. I’m sure the folks in charge of performing restores would have known exactly what to do, but it’s done and over now.
After two weeks, there were a couple things I didn’t like. The first was that it took an unexpectedly long time to get my database imported. My database was larger than the limit for importing from cPanel, so I had to submit a ticket to have SiteGround do it for me. While I waited (not very patiently) there was a lack of progress updates for several hours. Something else, that didn’t really affect me too much, was the fact that their servers have a hard timeout of 30 seconds. I’ve encountered this numerous times in developing the EWWW Image Optimizer. Sometimes, you just can’t process an image in 30 seconds when a theme has generated 20 (or more) resizes. Fortunately, that was not an issue during testing, but it was something that still bothered me a bit.
Lots to Love
There were a bunch of things I really liked though:
- SuperCacher made my site way faster.
- PHP 7 was available by default on my server, for even more speed.
- I could have multiple sites, and more storage, for the same price as WP Engine. Cheaper, since they were running a sale.
- Their support staff were always very friendly. Not just courteous, but they felt genuinely friendly.
- The ability to use Git AND use it in for both push and pull operations.
- PHP errors were output to a file within my home folder on the server. This makes debugging problems much easier.
Overall, I thought SiteGround had an impressive platform, but while their support staff were super friendly, a couple of them seemed like they needed a little more training on advanced features. So what about WP Engine?
WP Engine Hosting: Fast and Polished, like Greased Lightning
With WP Engine, I was only looking at their base plan, which was $29/month. This includes the following:
- 10GB storage
- 25,000 visits: they count visitors by IP, so someone that loads 20 pages on your site is still only 1 visit. They also no longer count search engines as visitors.
- Staging sites
- PHP 7
- LargeFS, which adds storage for your media using Amazon S3 (very affordable).
- Automated SSL certificates.
- Git Push
The “Personal” plan only comes with one site, but you can normally add sites for $29/month (currently $14.95). The next plan is $99/month, with 100k visitors, 20GB storage, free CDN, and multisite ready.
At first, I was a bit hesitant about the lack of SSH access, but they did allow SFTP access to the files on the server. Also, using their Git Push feature worked very well. Their systems do a whole bunch of sanity checks anytime you push new code to production. Additionally, the lack of pull access gives you built-in discipline to perform all changes in a dev environment. They also make it really simple to setup a staging site on their servers. However, I liked Git Push so much that I hardly touched the actual staging environment.
I was a bit nervous about how limited the resources were (storage and visits). If you build client sites, they do let you build unlimited sites and transfer them to client accounts. The LargeFS feature takes care of the 10GB limit for those with a large media library. My site is just over 1GB, so I have a long way to go before I fill that up.
I was a bit worried about the 25,000 site visits included in my plan. It looked like I was going to exceed that, and I thought I’d have to pony up for the $99/month plan. Fortunately, they have an overage system that simply bills you for the extra visits, so that worked out alright too.
That’s all for limitations, now for the good stuff. On shared hosting, PHP error logs tend to be a bit elusive. With WP Engine, the PHP error logs were visible right from the management console (and searchable). They have a completely custom management interface, which felt very well designed. I also discovered something nice under the hood: all outgoing mail from sites on WP Engine is handled by SendGrid and Mailgun. As such, your emails have a much better chance of being delivered. Compare that with the typical shared hosting setup that has only a handful of mail servers with the inevitability of being abused by spammers.
What About that Speed?
All that said, I started this journey looking for speed, so did I find it with WP Engine? While they advertise PHP 7 support, my site was originally setup on PHP 5.6. When I asked, they were able to get my site moved over to a PHP 7 server rather quickly. Looking at the checkout page, there is a PHP 7 option. So perhaps they recently added that to the signup process, or I just plain missed it.
Even before that switch though, the site was fast. There was nothing to setup or configure, it was just plain fast. In my testing and monitoring, I consistently saw page loads of 300-500ms, which I didn’t even know was possible with my site. WP Engine caches all pages, so you get lightning fast load times without a caching plugin. Of course, as a business I had some pages that shouldn’t be cached. I jumped on the live chat, and within a couple minutes, they had added the exclusions for my site.
Consistently, when I talked to their support folks, I almost felt like I was talking to the engineers who built the system. A couple years ago, I had heard WP Engine was having growing pains and their support quality had suffered. That time is no more. No matter what I’ve thrown at them, they’ve been able to handle it. Just recently, I discovered that WebP files didn’t have the same cache and expiration times as other images. So I hopped on the chat, expecting they would submit it to their engineers. I was hoping they could possibly implement something in a week, or a few days at best. Instead, the support rep checked on it right away, confirmed the problem, tested a fix in development, then pushed the changes to production in less than an hour.
Over the last year, I’ve had the opportunity to test out a few more platforms, and one that deserves a mention here is Kinsta. Their performance is at the same level as WP Engine and the support is phenomenal. They launched new plans late last year that put it in contention with WP Engine for a wider range of business sizes. Kinsta also offers SSH, WP-CLI, and New Relic performance monitoring on lower tiers compared to WP Engine. You need a custom (dedicated server) plan with WP Engine to gain access to such things, but Kinsta offers New Relic integration with all plans, and SSH/WP-CLI for Business plans and above. The only thing that would hold me back on Kinsta is that their storage space is a bit more limited than WP Engine. Additionally, WP Engine has a LargeFS feature that allows you to offload your images to Amazon S3 automatically and seamlessly to keep you within your plan limits, and I’m not aware that Kinsta has any such functionality. If you have no such concerns, then Kinsta is a fine choice for any website that wants top-notch performance and premium support. Now, on to our regularly scheduled programming…
SiteGround or WP Engine, decisions, decisions…
While SiteGround is fast, once SuperCacher is setup, their backend servers never felt quite as quick. If a page had expired from the cache, it often took over a second to rebuild the page. Granted, that’s pretty fast if you’re used to shared hosting, but WP Engine never had lag times like that. Even at the fastest, SiteGround just couldn’t beat WP Engine on raw performance.
Add to the performance, the expertise of the WP Engine support staff, the polished user interface, and did I mention they have a built-in plugin that prompts you to make a backup anytime you do a WordPress, plugin, or theme update? WP Engine have nailed the user experience, making a platform that is enjoyable to use.
Not Your Average Web Host
That said, WP Engine is not what some would consider a “normal” web hosting company. There are things that I’ve come to expect (but don’t want or need) in a hosting platform. While WP Engine handles outbound email nicely, there is NO inbound email. I host my email elsewhere, and WP Engine recommends G Suite (Google Apps for Work) if you don’t already have a home for your email. They also don’t have DNS, but I’ve hosted mine for years with Cloudflare. That’s one more “feature” that I’d never use and I won’t miss. Many web hosting companies also double as domain registrars, but not WP Engine. I’ve kept my domains with Dreamhost for over 10 years, and moving domains is messy.
Perhaps it is this lack of extra “features” that allows WP Engine to have a laser sharp focus on what they do best: hosting WordPress sites on a user-friendly platform, and making those sites fast. Investing in website performance is a sure way to bring in more customers (and keep existing customers). Regardless of whether you choose WP Engine or not, a quick website is a must if you want to increase your revenue.
*Disclaimer: I have no affiliation with either company, other than being a customer. There are no affiliate links above, and I do not expect to make any money for my opinions. I simply hope they help you and save you some time. Siteground plans are usually always discounted, but use this link to save 20% at WPengine (I get $200 if you stay with them, but if it weren’t for the discount I wouldn’t even have that link).