ThatJeffSmith

From Bluehost to WP Engine, My WordPress Story

Updated November 30, 2014

You’ll usually find short and sweet posts here about my day job, Oracle Database and its tools. This post neither short nor about Oracle. It’s about my blog, and the stuff under the hood that makes it run, WordPress.

If you’re like me and don’t like reading all of the words, here are a few quick jump-to-the-point links…

I started thatJeffSmith.com on May 28th, 2010. I had been already been blogging for several years, but a couple of really smart people I respect (@wingnut650, @BrentO – thanks again!) suggested that I take ownership of my content and begin building my personal brand. I thought that was a good idea, and so I signed up for service with bluehost. Bluehost makes setting up a WordPress site very, very easy.

And, they continued to be easy to work with for the past 2 years. I would even recommend them to anyone looking to host their own WordPress install/site. For $83.40, I purchased a year’s worth of service and my domain name registration – a very good value. And then last year I paid $107.40 for another year’s services. And when that year expired I paid another $190.80 for an additional two year’s service in advance. I had been up to that point, getting my money’s worth.

And then, just a few weeks ago [a few years ago now]…

My Site Slowed to a Crawl

That spike was from an April Fool's Day Post, I think


Why? Well, when I first started blogging, I had the same problem that most beginner bloggers have – not many readers. In my first year of blogging, I think the highest number of readers on a single day was about 125. I remember that day as I was very excited to break 100! Bluehost was very reliable, serving up my content with maybe a total of 3-4 outages in the past 2 years. Support was usually very prompt with answers and solutions, and I love their ‘Chat now’ technology – much nicer than message boards only or pay-to-talk phone support.

In the past 6 months however, I noticed a couple of things:

  • daily traffic was increasing – woohoo!
  • my service was experiencing severe CPU throttling – doh!

To be honest, I wasn’t aware the throttling was occurring, but I did know that the response time of my blog was starting to lag. Average load times were approaching 20-30 seconds. Not good when good sites are loading in 5 seconds or less. And just this past week [again, back in 2012], in getting ready to launch a site re-design for work that sucked in an RSS feed from my blog, the page took more than a minute to draw – b/c of the CPU throttling.

Not good!

In fact my boss asked, why aren’t you blogging on Blogger? Ugh.

I tried a few things to fix the problem:

  • I paid for a premium WordPress theme – Themify’s Grido (thanks to @SQLRockstar for the heads-up)
  • I installed a couple of WP caching plugins
  • I read every WP optimization blog post I could get my greedy little eyes on

However, at the same time I was also getting addicted to WordPress bloggers talking about all the cool things you could do with your blog. As a result I had at one point about 30 different plugins installed. WordPress runs on MySQL, and certain queries running via these plugins were starving for CPU. Plugins that would be called every page load meant that as more people clicked on my site, the more CPU I needed. I’m not stupid, so I eventually figured out that maybe less plugins was better, and was able to go down to just 20. But still, the site was running like a dog.

CPU Throttling, makes MySQL wait to run a query

Bluehost runs shared servers. Your site runs on the same box that several hundred (or thousand?) other services are running on. If you take more CPU than they think you should have, they will limit your service by making you stand in line for CPU, AKA ‘throttling.’ This is not bad. This business model allows them to serve many, many users for a very fair price. It works great until, well, until it doesn’t.

I noticed in the last week that for every minute of service, I was being throttled between 60 and 300 seconds. If there were 5 MySQL processes running, then every single one of them were being held in check. The blog visitor notice this as their page requests would take a minute or more to be answered.

Bluehost unfortunately didn’t offer dedicated server hosting, so there was no real upgrade path for me follow and remain one of their customers. So what was I to do? Uninstall every plugin and hope the site sped up? Ask for people to take turns on my blog? I decided to spend my way out of the problem.

Note: Bluehost now offers an upgraded service plan that would probably work OK for me today…

I signed up for service with WP Engine and moved ThatJeffSmith.com

The first 2 months are free, and after that it’s about $29/month to run my site on their system. My math tells me that’s a good bit more expensive than what Bluehost was charging me – to the tune of about 300% more a month. Oh, and I should just say that my blog is a personal blog even though I talk about work stuff here. I’m not here to generate revenue. The hosting money comes directly out of my pocket.

So is it worth it?

It’s totally worth it. Load times have gone from 20-30 seconds to less than 5-11 seconds. No one has ever complained about slow load times. This has directly led, or at least supported the traffic growth on this site, month-over-month since I moved.

I noticed right away that writing posts, uploading pictures, and just using the WordPress dashboard in general was much more responsive. So writing is less of a chore now, which means I have no excuses for not writing on a regular basis :)

WPEngine costs a lot more than $29/month now.

I’ve since outgrown the personal plan. I’m now on the Professional plan at $99/month. They cut me a decent break as I pre-pay for a year, so that’s cool. The professional plan is good for 100k visits a month, but I exceed that by a good bit. It’s an extra $1 per 1,000 visits over a 100k…and the response and up-times for my site are still stellar.

I still think it’s worth the money. I see other big-name sites running on WPEngine that generate way more traffic than me, and that’s nice validation for me.

Moving to WPEngine is Easy

I signed up for the service and registered my domain. I did a WordPress Export on the old site and imported it to the new staging site provided by WPEngine. By the way, WPEngine had a staging area for me to play with in a matter of minutes after signing up for their 2 month free trial.

Using a temporary URL to see my new site, I was able to confirm that everything looked mostly OK – I’ll detail the challenges and issues of fixing the content next – but then it was time to ‘flip the switch.’

I updated the IP address that the DNS lookup tables use to route traffic to my new server. In a matter of minutes the DNS servers around the world were updated and it was time to see the new site!

But It Was ‘Broken’

I had never moved a website before, and in my rush to update the DNS, I had changed the records without really finding out what I was supposed to do first. After re-reading the directions provided by WP Engine and following the guidance of their support engineer, I realized I had needed to set the CNAME (Alias) ‘www’ record to point to a different URL than the ‘www.thatjeffsmith.com’ entry I had set. Once corrected the site was up and running in less than a minute.

After the first call to WPEngine’s support team, I already knew I was working with good people. The engineer held my hand and helped me get everything up and running. He even called me from his car to make sure everything was ok.

How WP Engine ‘Hooked’ Me

WPEngine wasn’t my first choice. I had tried and struck out with another provider. They had ranked highly in Google searches, and a few Tweeps recommended them to me. But hours after signing up and I still didn’t have server ready, I was ready to give up on them. They offered no chat or phone support – only mail and message boards. And the message boards were rife with posts about how the service had gone downhill in the past 6 months. To their credit, they did make it easy to cancel, although I did have to do so via email as their website ‘cancel’ button was non-existent. So to say that I was primed for continued disappointment would be an understatement.

Thankfully, WP Engine really was awesome from the very beginning.

Within minutes of activating my WP Engine account I had received my welcome message and directions on how to get started. I was able to see my staged website right away. They also did something very cool before I even got started – they looked at my existing site and told me by how much they could improve its performance.

The proof is in the web pudding.

I like this for a few reasons, but primarily I liked their business model. It told me they knew what they were doing, and that they were willing to put their money where their mouth was. This was further evident by their 60-day money back guarantee. And if I understand it correctly, they don’t even take your money until after that 60 day period is over.

After a day, I was welcomed by the WP Engine social media team, and was given the opportunity to subscribe to their newsletter and follow their account on Twitter, @wpengine. I noticed their Twitter team posts regularly very helpful WordPress tips several times a day. It’s not just an account that’s setup for the sake of having a Twitter presence – following them really makes me a better blogger. These little things add up and increase the confidence of my decision to choose them as my hosting partner. ‘Partner’ – that’s a lot nicer word than just ‘service provider,’ isn’t it?

Oh, and they offered me a t-shirt. Don’t ever doubt the power of a ‘free’ t-shirt! How awesome is this e-mail, from a customer perspective? I wasn’t really expecting any of this. Exceeding expectations before I have even handed over a single dollar seems like a pretty good business plan.

Still one of my favorite tees :)

This is how you treat customers. Love them to death, and they reward you with loyalty.

But Jeff, You Skipped a Piece Here, Why WP Engine?

I found them on one of those ‘Top 10 WordPress Hosting Services’ list posts, and pulled up their webpage. I noticed they offered a specialized service – they host WordPress installs, and that’s it. Their servers are tuned specifically for running WordPress. They had in bolded text, things like ‘INSANELY FAST. INFINITELY SCALABLE.‘ and ‘LIGHTNING SPEED.‘ And then they offered insurance against hackers and they took care of automatic backups and restores.

And about those plug-ins I tried to speed up my site? The caching stuff – you don’t need that with WPEngine. That kind of tech is baked into their hosting platform. So now I can just concentrate on writing good content. I now run ThatJeffSmith with a total of 24 plugins, none of which seem to be slowing me down.

Today’s Numbers…

So far things are looking MUCH better:

The new trend is looking much better!

These numbers were using a 1,500 page load sample over the past 30 days back in late 2011…let’s look at today.

Server response time is still great, page time is really really good - my pages usually have lots of images, animated GIFs, so I'm ok if it's closer to 10 seconds vs 5.

Server response time is still great, page time is really really good – my pages usually have lots of images, animated GIFs, so I’m ok if it’s closer to 10 seconds vs 5.

WPEngine has won me as a customer ‘for life.’

Their service is outstanding. They address security vulnerabilities before I even get a chance to investigate them. They offer chat support when you’re too busy to pick up the phone. They handle all the traffic I can throw at them and more. They are fun to work with, and are very responsive on Twitter.

They’re simply worth the money.

And now that I truly believe in them, I’m ready to endorse them more officially. However, I do need to pay the bills involved in running the site. I’ll be running ads here to help defray the hosting bills. You’ll also see permanent Ads for WPengine at the bottom of each page.

If you run a WP blog and you want rock-solid site performance, click on that ad and try them out. Yes, they’ll give me a little bit of $ for referring the traffic. That’s how the Internet works these days.