I’d like to apologize to regular readers and first time visitors of Quartzimodo’s Time Journal. 🙁
My blog was suddenly taken offline last January 13th due to problems with my web hosting service. I woke up that morning to check on my blog statistics and to my utter surprise and disgust, instead of the familiar blue themed blog I was expecting, this shocking announcement greeted me instead.
Apparently, my blog was causing a server performance degradation, affecting my neighboring sites that were hosted in the same server box.
Yeah, and it wasn’t the first time either! 🙁
How it all began
Exactly a year ago, I was writing my blog material on the free hosted WordPress.com. It’s a very popular blogging platform, just like Blogger, Blogspot and the like.
I chose WordPress.com because I like experimenting with the various themes which were readily available. I did some research before selecting the right free blogging service. Then I discovered WordPress.org and many sites relating to WordPress plugins, themes and using Google AdSense in blogs.
Back then, my inaugural blog was surprisingly getting visitor traffic beyond my expectations. I mean, I wasn’t expecting incoming links and referrals from other sites (mainly watch forums) and not to mention a high page ranking on Google.
Above: My original website, with WordPress.com looked like this exactly a year ago. (It still does!)
Upon the sage advice of my good friend and watch hobbyist/seller – Stephen Go who runs a very popular eBay site selling vintage Seiko watches, he suggested that I could make some cash on the side since he felt that my articles and reviews were pretty interesting.
Stephen told me about Google AdSense and I did some more research on AdSense, not really knowing what it was and how it worked. Since I was no longer in employment, I thought I’d put my writing skills to the ultimate test and see if I could earn a bit (something’s always better than nothing) from publishing my articles. Or at least, recoup my hosting fees.
That said, Quartzimodo’s Time Journal is a very niche hobby blog with an average of just 800 daily visitors. That’s really peanuts compared to high traffic blogs on technology gadgets, movie reviews, politics, news, celebrity gossip, how to make money online, automobiles, etc.
Perhaps if I’m into Swiss watches instead and have a blog about them, I’d get ten times the number of visitors a day. I don’t expect to make a living out of it, let alone generate revenue enough to buy a Seiko SBDX001 Marine Master in five years’ time purely from AdSense earnings. 🙁
Above: My grail watch – the sought-after-and-expensive Seiko SBDX001 Marine Master.
My experience with web hosting services
I knew a thing or two about web hosting before I started blogging.
Back in the year 2000, I used to work briefly for a local web hosting service company called Krishost. I was appointed as a customer service executive and my job’s detail included planning hosting packages, writing content for the website and of course, providing frontline support to customers via email and phone (we didn’t have online chat services back then).
I had a background in technical documentation and mainframe/PC programming but the hosting business was all new to me. I managed to learn the basics of hosting quickly and my former colleagues taught me about shared virtual hosting, dedicated server hosting and server co-location services. Sitting at my cubicle was boring and I looked forward to the occasional field trip. My favorite assignment was visiting the data center where the server farm was. 😉
Top: Server farms and data centers typically look like this. Each shared server usually hosts up to a dozen web accounts.
OK, so I knew some things about web hosting but never got into the technical details as it wasn’t required in my job description. However, I learned a few things from my co-workers in technical support about scripts, “cgi-bin", FTP and remote administration.
We didn’t have automated, self-service account provisioning – every hosting account had to be activated manually. There were no Fantastico, Simple Scripts, Ruby on Rails and other automated self-service software installers.
Nine years ago, nearly all web sites were static HTML-based sites. The leading server-based operating systems were from Microsoft Windows NT 4.0 Server/Windows 2000 and of course, Unix.
Linux, which was a freeware operating system based hosting was at its infancy then, if I recall correctly. Most websites were on Windows hosting. The blogs, phpBB forums and content management software like Joomla and Drupal that you see today didn’t exist until several years later.
I had no idea what it took to be a webmaster and administrating websites. Now that I was about to select a web hosting service, the roles are now reversed. Which web hosting provider suited my budget and needs?
How I came across Bluehost.com
I can’t really remember which site recommended me Bluehost.com, perhaps it was one of the various blogs on WordPress blogging.
Bluehost is a Utah-based hosting company in the United States offering a free domain registration (as long as you’re hosting with them), unlimited bandwidth and unlimited disk space.
So I thought, “Wow, at USD7.95 per month for a 12-month contract wasn’t a bad idea for beginners like myself!".
What interested me was that Bluehost.com advertised that they make WordPress blog installations easy with Fantastico scripts – at a click of a mouse and you’re all set up to blog. What could be easier than that?
I had no knowledge about manually installing a WordPress blog and I wanted to concentrate on writing and not the geeky technical stuff like .htaccess files, domain name servers, Apache, php, scripts or whatever.
After re-publishing all the content I had done at the free WordPress.com, I continued writing more posts – throwing all caution into the wind. In the course of time, I also discovered about WordPress plugins, which were usually free add-on software that you can install into your core WordPress system to add more features.
One such useful plugin was called StatPress, which was originally authored by Danielle Lippi. Putting it simply, from my WordPress dashboard I could check on my visitor traffic, referral links, which articles people were reading. And not to mention a really cool statistical graph which gave me an instant, upper management-style facts about my blog traffic over a 50-day period.
Top: A sample original StatPress overview graph (borrowed pic)
As time went by, I experimented with additional plugins which I thought would enhance the functionality of my blog. Development of the original StatPress plugin was halted for reasons unknown. Since StatPress was one of the most popular WordPress plugins, someone else took over the development and renamed it StatPress Reloaded, after the well-known “The Matrix" trilogy movies.
StatPress Reloaded offered much more information than the original StatPress. It could gather site visit data for up to 50 days and a user can purge the old records after a preset period.
I did not know that StatPress Reloaded was unfortunately also a huge server resource hog. Every single page view was recorded and data about the reader’s IP, browser type, operating system, etc were also logged.
StatPress Reloaded’s data collection resulted in an equally huge MySQL database size after a week, especially when you have hundreds (let’s not talk thousands!) of blog visitors a day. By early December 2008, my database size had inflated to over 100MB and I thought it was pretty “normal".
After all, didn’t Bluehost say that they offered “unlimited disk space"? So, size shouldn’t have mattered in the first place.
The first signs of trouble
I noticed that after upgrading to WordPress 2.7 (the latest version at the time of writing), it was unbearably slow even to log into my blog’s dashboard. I read reviews of WP 2.7 and the reactions from WordPress users were mixed.
Some complained that WP 2.7 had problems with auto installing plugins, it was slower than the previous version 2.6.5, etc. Yet others reported satisfaction with the new interface and features with version 2.7.
I began to uninstall WP 2.7 and reverted to the previous version, 2.6.5. Things were getting awry from this point on. Apparently some of the plugins that were meant for 2.7 were also causing problems for the older version.
Finally I decided to do a final upgrade to version 2.7 and I didn’t look back ever since. All went well for a month or two.
Just after Christmas, it was in the wee hours of the morning when I discovered that I couldn’t view QTJ. Not just that, I couldn’t even log into my WordPress admin panel! Bluehost had a live chat service with their tech support, so I immediately contacted the company.
Top: Bluehost’s live chat support pop-up window.
The tech support guy informed me that my blog was causing problems to their server and they had to suspend my account temporarily. He mentioned that my WordPress database was “too large" and was chewing lots of CPU cycles. He also gave me access to my hosting control panel and told me to empty the StatPress tables, using the phpMyAdmin applet, something I’ve never attempted before (for fear of ruining my blog).
Sure enough, after doing the task the blog’s database shrunk to a tenth of its original size. I told him “OK, I’ve emptied the tables" and he reactivated my blog. This time I made sure to configure StatPress Reloaded to purge the old data after 30 days and to show me a 30-day graph instead of 50 days.
I also kept a watchful eye on my blog’s database every few days. In early January, it was about 30 MB, which I thought was admissible by Bluehost’s standards. Boy, was I dead wrong! 🙁
Top: A daunting looking phpMyAdmin screen to manipulate your WordPress database. Not for beginners!
On the morning of January 13th 2009, Quartzimodo’s Time Journal was yanked offline again. This time it was not a temporary suspension.
I quickly contacted Bluehost via chat and another tech support staff, who was rather surly and uncooperative told me that I had to submit a support ticket, which I did. Instead of guiding me on how to resolve things, he just mentioned that he had received instructions not to reinstate my site.
He merely activated my hosting control panel and told me to “you’ll have to fix it myself and then tell us what you did to rectify things". What was this – a trick question? Some friendly customer support eh?
I didn’t sleep the whole morning. I researched the Internet on how to get my hands dirty into MySQL manipulation. This time I managed to delete the offending StatPress Reloaded tables rather than emptying them. I also manually deleted the StatPress Reloaded plugin via FTP.
The next day, my blog was still offline and I felt helpless. My support ticket wasn’t even read by anyone from the company. I contacted Bluehost via live chat again and this time another tech support guy helped me.
He told me that StatPress Reloaded was consuming too much server resources. So it wasn’t a database size issue – rather, it was the sheer amount of server queries. I pleaded with him that I had put a lot of work into my blog and I had I wasn’t very technical with blog administration.
Lady Luck smiled upon me again. The tech support guy sympathized with me and reactivated my blog within minutes. I had already convinced him that StatPress Reloaded was gone for good.
By the time my site was reinstated, my visitor count had dropped to an all-time low. Worse still, my site ranking also went downhill – and AdSense was showing irrelevant and public service ads on my blog!
Quartzimodo.info evolves into Quartzimodo.com
Enough was enough! 🙁
My hosting account with Bluehost was about to lapse in early March 2009 and I made up my mind not to renew my hosting with the company. It was time to select a better web hosting service. Finally I selected one which offered me a one-time discount @ USD4.95 for a 24-month contract (thanks to a discount coupon I found somewhere).
The sales representative whom I chatted online was a woman named “Ann" and to my surprise she knew a lot about technical issues with WordPress plugins. Heck, I thought sales reps only knew how to sell and nothing technical.
Within an hour of chatting with Ann, I learned more about databases and limitations of shared server hosting. She confirmed that certain plugins like StatPress were notorious for causing server problems. I did tell her that my database once ballooned to 100 MB. Ann replied that she has customers with database sizes three times that amount with a ten thousand daily visitors – no problems. (So it wasn’t the visitor traffic either).
I was sold and immediately signed up a hosting account with her company. As domain name registrations were also free as long as I was a customer, I decided to take over the Quartzmodo.com domain which formerly belonged to a friend of mine, Kenneth.
Setting up a fresh WordPress 2.7 installation was the easiest part. Importing the old database and the hundreds of Megabytes’ worth of images from Bluehost was another matter. Downloading the image files took over two hours to complete. It wasn’t because of my ISP, as I later discovered that people have complained of slow, throttled FTP bandwidth to Bluehost’s servers. 🙁
Top: FileZilla is a popular, freeware File Transfer Protocol (FTP) utility to transfer files to and from your web host.
Which left the daunting task of importing of my former MySQL database at Bluehost and exporting it to the new server. There were several tips on how to move your blog from one hosting company to another but the steps I tried didn’t work.
I left the old site, Quartzimodo.info running in parallel while I got things sorted out. A few days later and losing a lot of hair in the process, I finally managed to successfully migrate the old blog into the new one (which you are reading now). There was one very informative website which taught me in simple steps on the proper way to do the migration.
There were still some kinks to iron out on the current website, like missing images which I’ve already fixed. If there’s anything that’s annoying to me is having to revisit my old posts and re-edit them but it has to be done. Nothing irritates a reader more to come read an interesting post with broken image links.
So, what happened to old Quartzimodo.info site?
It’s actually still running, but I’ve modified its .htaccess file to redirect all requests to the new Quartzimodo.com. (Yeah, I had to read up on how to do redirects correctly). I also figured I should give enough time for all the various search engines to crawl the new site until the old account with Bluehost.com lapses in March.
I check my email daily. The least Bluehost could have done was to email me in advance instead of just suspending my blog. Turns out that I wasn’t the only victim as you will find out at the end of this post.
After all, if the folks at Bluehost had doing their job right they would have been monitoring my website’s performance before any trouble brews. I don’t believe server speed degradation occurs overnight, it happens over a period of time.
It’s downright embarrassing to see your website account being suspended with no prior notice. 🙁
The valuable lessons learned
I spent a few days studying MySQL database queries, database optimization and how to make a WordPress blog run more efficiently.
From my experience, writing articles in my blog is one thing, maintaining it is another matter altogether. Perhaps this why many watch bloggers prefer the free hosted ones like Blogger, Blogspot, TypePad and WordPress.com so that they won’t have a headache.
Above: WordPress.com is an ideal free blogging platform for first time bloggers.
And so, what did I learn from this painful, hair-pulling experience?
Here’s my personal Top 10 list:
Don’t expect too much from cheap hosting plans, no matter what they tell you on their website. Choose one with a real-time live chat tech support in case of emergencies.
Avoid hosting companies that oversell their services to tons of customers (which means, you get a smaller piece of the pie). Do a background research on the company first and read their fine print.
“Unlimited bandwidth" and “unlimited space" is not the same as “unlimited CPU quota".
pHp based blogs like WordPress consume significant server resources.
Read user comments about unfamiliar plugins that you intend to install, lest they screw your blog after installing it.
Unless you have your own server or rent a Virtual Private Server (VPS) service and run a WordPress blog, don’t use StatPress Reloaded. For statistics, use your web host’s built-in AwStats or link from the free WordPress.com’s statistics server.
Use some kind of WordPress caching plugin (I’m using WP-Supercache right now) to decrease server load. I’m also using a DB cache to reduce the number of database queries.
CSS compression plugins can screw up certain blog themes.
Backup your image files and database to your PC or laptop frequently.
If it ain’t broke, don’t fix it! 😉
Well, I really didn’t mean this post to become another “I-hate-Bluehost" article on the blogosphere because you can readily find them on the web.
Don’t believe me? You can easily read them by merely clicking here. Now, you be the judge! 🙂
Sorry for the long read and the downtimes for the past few weeks. Switching web hosts and moving your data wasn’t that easy as I initially thought.
All’s well for now.