Tuesday, June 11, 2013

Web Host Shootout: Finding the Best (and Cheapest) Web Host

I just spent about $1,000 testing 7 different host providers. Thankfully, (almost) all of it is getting refunded. I'm in the process of completely redoing this website and decided I needed more power to make it how I really want it. Blogger doesn't provide the features I want, so I started looking for a proper hosting service so I could host my own website. I tested several hosts in an effort to find the best "bang for the buck."

How I tested

First impressions are everything. I didn't do any kind of extended testing. I looked for something that was awesome from the start. I didn't want to learn to love my host after several months of use. I wanted to love them today.

With this in mind, I focused on server ping time, server response time, download bitrate, max file upload size in a WordPress blog, and how well things "just worked." I didn't want to spend more than $10/month (trying to stick close to $5/month), which makes things tricky because in this world, you typically get what you pay for (if you pay very little, you get very little).

I analyzed things from different homes/offices (and different ISP companies) across a period of two days. I tested using curl from the command line to check raw download speeds (redirected to /dev/null) and Chrome's developer tools (for network response times and other network protocol information), as well as Google's Page Speed Insights. I tried to optimize all pages for the highest Page Speed index score (enabling compression and caching on files), as well as overall server response time and download bitrate (from a clean cache). I tested each host repeatedly, averaging results (after discarding outliers). All tests were run with a WordPress blog serving a single post entry (same theme, same blog entry, same settings). In reality, this test was dead simple and doesn't give an in-depth analysis, but it works for showing what kind of basic features your host provides. After all, all the other features are built on top of these basic features.

Without any more words, I'll show the results!

Namecheap

  • Price: $3.45/mo for 2 years
  • Max WordPress upload size (default): 32MB
  • Down: ~4765kBps
  • Ping: ~53ms
  • Server response time: 475-675ms (averaged about 600ms)
  • Other thoughts: Overall, decent. Response times could be better, but download speeds were great. I use them for my domain purchases, so I figured I'd try them for web hosting too.

SiteGround

  • Price: $3.95/mo for 3 years
  • Max WordPress upload size (default): 24MB
  • Down: ~800kBps
  • Ping: ~50ms
  • Server response time: 275-600ms (averaged about 300ms)
  • Other thoughts: Pretty good response times... very slow download speeds. Awesome customer service (who also tried to talk me out of canceling, but that wasn't too bad).

Omnis

  • Price: $5.95/mo for 2 years
  • Max WordPress upload size (default): 32MB
  • Down: ~4469kBps
  • Ping: unpingable
  • Server response time: 400-800ms (averaged about 600ms)
  • Other thoughts: From the start I was hesitant. The checkout process was buggy and kept restarting things and making me re-enter things. The install scripts sucked. When the install script asked if I wanted to host the WordPress site on example.com or www.example.com (i.e. with or without the "www" subdomain), I selected without the "www" subdomain. After the install script ran, I found it appended "empty" to my domain name because I had left the subdomain empty (literally, it had set up all my hosting options and now thought my domain was emptyexample.com instead of example.com). I had to redo it with the "www" subdomain set. Canceling the service went fine, but I was still charged $9.95 for the domain (which I expected) and $11.88 for WHOIS privacy (which I think is overpriced for such a simple service). Overall, I wasn't impressed.

BlueHost

  • Price: $4.95/mo for 3 years
  • Max WordPress upload size (default): 10MB
  • Down: ~1637kBps
  • Ping: ~38ms
  • Server response time: 550ms-850ms (averaged about 700ms)
  • Other thoughts: Refunding went very well. Full refund for everything! I was expecting to have to pay for the domain name and not be able to refund it.

DreamHost

  • Price: $8.95/mo for 3 years
  • Max WordPress upload size (default): 7MB
  • Down: ~2051kBps
  • Ping: ~85ms
  • Server response time: 660-880ms (average: 700ms)
  • Other thoughts: No cPanel (uses their own panel). Incredibly disappointing max file size (was able to increase it to 20MB following these instructions (could not get it higher than 20MB without doing more fiddling that I didn't care to do)). I'm not in love with cPanel, but having a custom panel means now I have to relearn everything (unlike other webhosts, where you can get up and running in no time since the panel is familiar). Confirmation emails were flagged as spam and I never got a receipt email. No webchat for support. I was disappointed after having higher expectations (from all the good things I've heard about them).

HostGator

  • Price: $3.96/mo for 3 years
  • Max WordPress upload size (default): N/A
  • Down: N/A
  • Ping: N/A
  • Server response time: N/A
  • Other thoughts: 12 hours after registering, I got an email saying I needed to call them to verify the account. At this point, I was done with them. The "just works" factor is very important to me. Also, I hate using my phone.

DigitalOcean

  • Price: $5/mo (no long term commitment) (also can be less, as it's really billed hourly and you can control the hours)
  • Max WordPress upload size (default): 2MB
  • Down: ~3893kBps
  • Ping: ~47ms
  • Server response time: 150-200ms (averaged 160ms)
  • Other thoughts: I was easily able to increase the WordPress file size limit to 50MB. Root access! VPS! They don't have "unlimited" disk space or bandwidth like the other hosts do (20GB disk space (on an SSD!) and 1TB bandwidth), but then again, my website is so small that these "limitations" are, realistically, as good as unlimited to me. I'll never use all 20GB of disk space or a full terabyte of bandwidth.

Conclusion

I almost never found DigitalOcean. I wasn't looking at VPS hosting because it's usually a lot more than shared hosting. But wow, am I glad I googled "vps hosting." I almost tried Virpus and DirectSpace, but they don't offer SSDs and I highly doubt they can beat an average 160ms server response time. If you want something for less than $5/month, I'd look at them.

DigitalOcean completely annihilates the competition, in my book. They absolutely nail the "just works" factor (their UI is the most gorgeous of the other hosts, and it conveys a professional "just works" attitude). Spinning up a new VPS with my selected Linux flavor took less than a minute (and was incredibly easy). Rebooting Ubuntu took less than 5 seconds. Server response times are amazing (only about 60ms longer than Google's home page response time, in my testing, and Google has an army of servers). Download speeds are great (usually hits >5MBps after ramping up). The OS took about 1GB, leaving 19GB of free space to use. Root access is awesome to have, and now I'm not sure I can ever have a server without it (not that I need truly need it; the geek in me loves it and the ability to tweak with things exactly how I want them). No long term commitment means I can always switch to another host if I decide (without having years left on a prepaid service). I do wish they had HDD mass storage available in combination with the SSD, but I'm perfectly happy with them. Seriously, after refreshing the page with a clean cache, my page loaded instantly. I thought it loaded everything from cache it loaded so fast (and had to double check that it didn't).

As of this moment, I have canceled all of my other hosting accounts and am now moving everything to DigitalOcean. They have totally won my heart.