The personal website of Matt Henderson.
21 January 2016
This website runs on WordPress, and over the past several years has seen its hosting move from the DreamHost shared environment, to DreamPress managed hosting, to GoDaddy managed hosting to, finally, DigitalOcean. This article explains why.
Probably close to 10 years ago, I signed up for an unlimited shared hosting account at DreamHost. At around $100 per year for unlimited websites, storage and bandwidth, it’s a great deal, and it’s in this environment that my website was first hosted.
Of course, the problem with shared hosting is that the server resources are shared. Although the use of caching plugins like WP Super Cache help keep the public side accessible, working in the WordPress CMS itself is very slow, and ultimately is what drove me to look for a better solution.
Just around the time I seriously began investigating hosting alternatives, DreamHost announced their specialized managed solution for WordPress hosting called DreamPress, which consists of a pair of VPSs (virtual private servers)—one for the WordPress installation and one for the MySQL database—specially configured and “optimized” for running WordPress.
A benefit of going with DreamPress for existing DreamHost customers is the ability to move an existing WordPress install from the shared environment into DreamPress with a click of a button.
So for several months this site ran on DreamPress, and I enjoyed much better responsiveness in the CMS than when the site operated in the shared environment.
In the end, however, I became dissatisfied with DreamPress for the following reasons:
Once again researching managed WordPress hosting, I came across a number of articles that surprisingly pointed to GoDaddy Managed WordPress Hosting as one of the best services in terms of cost versus value. Although nobody would traditionally think of GoDaddy as a leading managed hosting provider, that changed with their acquisition of Media Temple back in 2013.
The GoDaddy economical offer was attractive — for $15 per month, I could host up to five WordPress sites. I signed up, and began the process of migrating this website, and four others that I manage, to GoDaddy.
GoDaddy’s migration wizard actually didn’t work successfully on any of my sites. Unlike DreamHost, GoDaddy don’t offer online chat-based support, but rather require that you call in, something I wasn’t too fond of. But credit where credit is due, GoDaddy’s telephone support provided excellent service in hand-migrating each of my sites into their hosting environment.
In terms of performance, I found GoDaddy’s environment to be much faster than DreamHost’s shared environment, but slightly slower than DreamPress—which made sense, since sites at GoDaddy live in a shared-resources environment. And like DreamPress, GoDaddy’s managed environment take care of caching and scaling, and so you’re not allowed to run your own caching plugins. And in fact, you’re not even allowed to perform your own update of the WordPress core; that’s handled by the “platform”.
When the second month at GoDaddy rolled around, I was surprised to see a charge of $25 appear on the credit card. When I called, the GoDaddy staff explained that the $15 sign-up offer is only valid for a many months as I committed to paying up front, which on a monthly billing plan is one. Upon the first “renewal”, the price reverts to the normal price of $25.
I said that if the onboarding process had made that clearer, I would have paid for a year in advance. The GoDaddy support person then “spoke with a manager”, and allowed me to go ahead and pre-pay for a year at the monthly cost of $15. She also said that after a year, I would automatically get moved to $25 per month, and that I should make a note to call in just prior to that renewal and ask for a continuation of my current price.
So for close to a year, this site and four others I manage have been hosted at GoDaddy and for the most part I’ve been satisfied. The one negative, which turned out to be enough to keep my eyes open for alternatives, was that in the GoDaddy environment, working in the WordPress CMS was just slow enough that it frequently caught my attention.
Going through my RSS feeds at lunch one day, I read an article by Don Melton (creator of Safari and WebKit at Apple) talking about how just after having moved his blog to WordPress an article of his got linked to by John Gruber, Rene Ritchie and iMore. As a result, it received nearly 100,000 page requests in a day, and handled them all without breaking a sweat.
He pointed to two reasons for being able to handle this traffic:
The first time I’d come across the idea of hosting WordPress in a VPS was when my friend Michael Tsai told me that he hosts his own blog in a VPS at DreamHost. But I discounted the idea given that operating a VPS requires knowing how to manage Unix servers using the command line — things like configuring the Apache web server, MySQL database, applying security patches, etc. I’d had enough experience tinkering with that stuff in Mac OS X to know that my level of knowledge was just enough to get me in trouble.
A few years back, in 2014, my office mate experimented with the hosting of a WordPress site in a $5-per-month droplet at DigitalOcean. He’d been very impressed with both the low cost and high performance, but at the end of the day a DigitalOcean droplet is a VPS, and he ended up spending so much time with things like enabling swap spaces that he finally also moved to a provider like Media Temple.
But since that was a few years ago, reading Don’s article prompted me to check whether the situation of hosting WordPress sites at DigitalOcean had improved since my colleague’s experience.
Turns out, it has.
There is now a service available called ServerPilot (and if you signup through that link, I’ll get a little tip!) that handles most of one’s server-management needs when hosting WordPress in DigitalOcean droplets, including one-click installations of WordPress, setup and configuration of Apache and MySQL, and automatic server security patches when necessary. The basis service is free. A $10 per month paid upgrade gives you access to stats and some other services that, currently, I don’t really need.
I decided to give it a try:
From creating the DigitalOcean droplet, to setting up a WordPress site on it using ServerPilot, to migrating my website, the total amount of time involved was about an hour. And that’s only because I was doing things extremely carefully.
A few tech updates since originally writing this:
With my entire site migrated, I logged into the WordPress CMS and was delighted to find that it absolutely screams. It’s even faster than what I remember at DreamPress. And once again using the WP Super Cache plugin, the public side of things feels super snappy as well. (Maybe somebody like John Gruber could link to this article, so I can really check that out properly.)
And of course, what’s great about this setup is that the DigitalOcean droplet is just a VPS—which means I can install as many WordPress sites on it as I wish! (I’ve read, however, that this is precisely the reason one should not use DigitalOcean’s WordPress installer, as apparently that limits the droplet to a single install.)
Seeing how fast dafacto.com was running, I then migrated the Money for Something over as well. I figure that with caching, the server should easily handle the load of both sites, and I’ll only ever work in one CMS at a time. That second migration took only perhaps 20 minutes in total.
With both sites publicly running for a while in the single droplet, I checked in on the stats in ServerPilot and DigitalOcean. The memory usage has remained very stable at about 30%, and the CPU seems hardly used at all. (And as it happens, my 2011 blog article about The Big Short has been getting a lot of traffic since the release of the movie.)
While ServerPilot handles regular security patches automatically, I was initially a little concerned about what I’ll do when major upgrades are needed to the OS or components like PHP. For that, instead of hiring a Linux admin, I think I’ll just spin up a new droplet and move my sites over! Heck, maybe I’ll even do that one a year just to be on the latest stack.
What’s also nice about this setup is that if the site goes down again when I’m on a hike, I can simply fire up an iOS app and reboot the whole server.
So at long last, I seem to have found what I’ve always been looking for — a way to host WordPress that’s fast, economical, doesn’t limit me to a single site and doesn’t require me to do any Unix system administration.
Enjoy this article? — You can find similar content via the category and tag links below.
Questions or comments? — Feel free to email me using the contact form below, or reach out on Twitter.