This is probably the longest blog post I’ve written in a LONG time. And if you’re used to coming here for the Oracle stuff, this post is not about that. It’s about my blog, and the stuff under the hood that makes it run, AKA WordPress. If you want to skip to the juicy stuff, then use these shortcuts:
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…
My Site Slowed to a Crawl
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 occuring, 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, in getting ready to launch a new website for work that sucked in an RSS feed from my blog, the new page was left waiting for more than a minute. 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.
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 doesn’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.
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 don’t get paid for blogging, I don’t sell ads, and I don’t expense the service fees – this is my personal passion.
So is it worth it?
In the first 4 days, it seems to be totally worth it. Load times have gone from 20-30 seconds to less than 5 seconds. A few folks have told me via Twitter that they notice faster page loads. I anticipate this will indirectly lead to more traffic as Google penalizes you in search results if your site is too slow, and of course some folks won’t even bother waiting more than 5-10 seconds.
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 won’t have a good reason not to write
How I Moved to WP Engine
I signed up for the service and registered my domain. I then took a full export of my ‘old’ site by doing a FTP GET of all my files, then did a MySQL database backup, exported my WordPress Theme settings to a .zip file, and then finally used the WordPress ‘Export’ feature. I then used the WordPress ‘Import’ on the new site to load up my posts. Then I uploaded the theme .zip package from Themify. Then I FTP’d the ‘wp-content’ directory up to my new server using SFTP (WP Engine only supports secure FTP – good on them!)
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.
Then It Was Only Mostly Broken
Many of my plugins weren’t working. Apparently just ftp’ing the wp-content directory up wasn’t the proper way to re-install the plugin. I suspect file permissions or file ownership wasn’t to WordPress’s liking on the new server. Some plug-ins were working, many had their settings wiped to the defaults, and a few just didn’t work at all. I had to delete the directory of the plug-ins manually via SFTP, and then use the WP Dashboard to install them from scratch. And here was my first ‘lesson’ – don’t switch the DNS records until you’ve completely tested your new site.
I wasn’t able to navigate the old WP console to review my plug-in settings. Thankfully I was able to use the Wayback Machine to reverse engineer some things, and of course most plug-ins aren’t that complicated to setup to begin with. An example of one that I had to redo from scratch is the ‘Twitter @Anywhere Plus’ plugin that I use to create the form that allows folks to tweet a post they enjoyed at the end of each story.
How WP Engine ‘Hooked’ Me
I had actually signed up with another provider first. They 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.
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.
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.
The only drawbacks I have noticed so far relate to plugins I used that have been ‘blacklisted.’ In order to guarantee that ‘lightning’ speed, they have banned the use of the CPU-suckiest plugins. One of those is the ‘Related Posts’ plugin. So if you are a subscriber and are reading this in your email, you’ll notice there’s no links back to my blog to continue reading other related stories. Since that referral traffic represents only a very small single-digit percentage point for my site, I decided that I’m OK with that. I’d rather have the warp-speed page loads. Again, I think that will lead to higher traffic down the road.
The other plugins they don’t allow are the caching plugins and WP database management tools that aren’t really necessary since their service has that stuff built-in. Fewer plugins equals faster response times. Faster response times equals happier readers and happier bloggers.
So What Next?
In 50+ days I will need to decide if WP Engine is a permanent solution. I’ll be sure to update this post when that time comes and let y’all know how it turns out.
So far things are looking MUCH better:
These numbers are using a 1,500 page load sample over the past 30 days. Will post updated stats in a few weeks!






Twitter
RSS
GooglePlus
Facebook
Jun 08, 2012 @ 09:24:50
tangentially, I had a blog for over a decade, on Blogger (bad). The other day I was checking out “Living in the Limelight” by Rush on YouTube, and came across a “guitar lesson” about it. I was so impressed with the guy’s work that I wanted to leave little comment of thanks and encouragement. So naturally you have to register — what’s the point of having databases if you don’t have data, right? — and I very uncharacteristically decide to go along. But like a wiseguy I chose “2011″ as my “birth year” and once I hit “send” a message from Google appears saying my account was suspended and, lo, my blogs are G-O-N-E.
Of course I’m absolutely beside myself at this heavy-handed, totalitarian-feeling appropriation and handling of my creative effort (of course somewhere along the line I must have unwittingly or begrudgingly signed on to it) yet I attempt to follow the “support” links to restore my account by proving my age. !!! I even agree to the “submit a *credit card*” option for immediate results — so contrary to my instincts for the sanctity of individual privacy. But Google wouldn’t even let me compromise that, because the links were circular and I never could disclose all that information to them.
I’ve resigned myself to the disappearance of my work and decided that I would never again do anything with google. I hope to eventually find another email address. I feel pretty good being “unplugged,” actually. And my resentment of information monopolies is now cast in stone. If I ever were to publish anything online again, it would not be on the servers of Google or anything like them.
It’s an evolution for me. I first started blogging because I got booted from a political forum — and saw all of my posts disappear. I said, “never again.” Now that it’s happened at Google, I may actually write that book.
But anyway I have a question about Oracle so I’d better go find a relevant post to comment on about that.
Jun 08, 2012 @ 09:44:40
Wow.
Umm, did you try contacting Google to have your blogs restored?
What was your blog URL? I would use the WayBack Machine or Google ‘cache’ to pull up my posts and try to resurrect them. I hope your horror story serves as a warning to others that they need to protect their work by backing it up locally. Does Google allow you to download your posts locally?
I definitely enjoy owning my domain and my content – but I still try to back it up on a regular basis. Actually my new provider claims to do the backups for me, but I need to look at doing independent backups ‘just in case.’
So what’s your ‘question about Oracle?’ Maybe I can give you a jump start in the right direction!
Jun 11, 2012 @ 15:53:19
Hi Jeff,
You’re migration plan of WordPress seemed a little odd. All you really have to do is copy everything in your root wordpress directory and move it to your new host.
Then export your MySQL database settings, and then import it into your new database. Then open wp-config.php and update the database settings and passwords.
Don’t use WordPress Import and Export functions, or copy half the files across (wp-content) like you did. Copy everything across.
Hope this helped.
Jun 11, 2012 @ 16:10:39
Why not use the WordPress Import and Export?
I’m not sure what the proper way to do the move was, but I know that I probably didn’t do it. I hope to never have to move again though!
Jul 15, 2012 @ 10:00:06
WordPress Import and Export does not scale to everything that WordPress can hook into. It’s a nice idea, but import/export has a few issues as well.
One time we were doing it on a Multisite conversion and found that, to prevent SQL injections, WordPress import had added forward slashes everywhere an ampersand was typed. In thousands of posts. We still have a few with slashes on one of the sites I own… I’m sure of it.
Jul 15, 2012 @ 13:33:03
Apparently i got lucky. If i move again, will definitely do my homework. Thanks fit the insight Chris!
Sep 21, 2012 @ 15:53:57
Hey Jeff,
Thanks for the review and so sorry the T-Shirt hasn’t made it over to you yet. Can you please email me directly with your size and address and I’ll have one shipped to you first thing next week?
Thanks again for the review and being an awesome customer. Let me know if there’s anything else we can do for you
-Austin Gunter
@austingunter
Nov 15, 2012 @ 17:40:50
Great review! I’m just now looking into WP Engine and it seems to be a good service. That’s interesting about the blacklisted plugins: I’m sure it would be a little frustrating if one of my favorites is not allowed, but I’m sure overall it’s a good policy. I know I’ve had plugins as a cause of slow site loading but it was a pain to test each one to find the problem. Not installing a CPU-sucky (love the term!) plugin in the first place would solve this problem.
Nov 15, 2012 @ 18:01:23
Still no regrets from me here on this move, other than that I waited so long to move. I’m getting around 1300 – 1500 visits max a day and the load time is still really good.
Mar 15, 2013 @ 16:03:05
I am confused on why WP Engine wont allow caching plugins? Do they have their own caching software on their servers? I thought caching was the be all-end all to speeding up a site.
Thoughts?
Mar 15, 2013 @ 17:54:29
Yeah, they do their own, so adding additional 3rd party caching plugins only adds steps to the process of loading up a web page. You get caching with WPEngine out-of-the-box.
May 02, 2013 @ 20:19:23
I switched to WPEngine a few weeks ago, and I agree — it is super fast. I am getting about 20% more page views, just from the switch. My pages load 5 times faster.
One tiny nitpick — I have experienced a few micro-outages. Maybe three times, the site was down for a few minutes and back up. These weren’t during a maintenance windows. To be fair, they now claim 99.9% uptime, which is what I am getting.
To put it in perspective, it’s not bad at all. FatCow had outages that lasted for up to 8 hours. Outages were also more frequent when I hosted on FatCow.
Since WordPress is a data-driven technology, it’s more fragile than static html pages hosted on Apache or Nginx. I too have worked with web/database technology (Java EE) and when there are surges there’s going to be problems.
So far so good. I am happy with WPEngine. I am monitoring my site. Just set your expectations appropriately. Don’t expect perfection, but they’re pretty damn close. Well worth the money… Indeed, my AdSense revenues have increased (more traffic, more revenue). WPEngine costs 10 times as much as FatCow, but it’s more than 10 times better…
Oh, and working on WP is a joy now. It was frustrating to make edits and have the WP admin tool operate with such latency. With WPEngine, I fly through the admin tool and I am way more productive.
May 03, 2013 @ 09:57:28
I’m paying the WPEngine premium for my blog which generates $0 income, and never will. That’s how much I value their service. For me, it’s worth it.
The only times I’ve had problems, their support staff went above and beyond my expectations. Truly great service there as well.