As you can see, the blog is finally back the way it was before last week’s major trouble. And it took me doing something I absolutely hate doing: going through HTML code line by line to trace a problem.
But here’s how it all started.
My former host was wonderful for the first six months or so. Most of my interactions with the company’s tech support were through the CEO himself, a courteous, personable young man who was willing to migrate my blog from my previous host for free so that I could preview the site on his server, just to make sure all was working well, before I even paid for hosting on his system.
That was a major selling point for me because I am not a tech guy when it comes to building the back-end of websites.
THE FIRST BUMP IN THE ROAD
All went relatively well until Sept. 28, 2011, when a major glitch befell their data center, which was then in New Jersey. As I understand it from their official explanation, their SAN — and no, I have no idea what a SAN is and I don’t particularly care to know — failed because of a software upgrade. To make matters worse, there was apparently a second failure with a backup system that was supposed to ensure that no data was lost in a server crash.
The result of this, when things were finally back up, was that I lost a post or two. Not a big deal, but certainly a concern; no one wants to lose data. That got me searching for backup options.
The outage in September lasted the better part of a day or so with several minor outages around that same day. Fortunately, that was the only issue in which data was actually lost, and in my case, I only lost one or two posts. Still not acceptable in my book, but far less serious than it could have been.
There were minor outages in October. There was another problem on Nov. 6 and another on Nov. 13. In both cases, the outages weren’t as bad, but service was definitely spotty and unpredictable. On Dec. 19, there was another issue. Service was slow to load on Jan. 25 of this year.
This monthly problem normally meant that anyone who visited my site would receive a browser error that the page wasn’t able to load, or that it would take an inordinately long time for the site to load. But it was getting old fast.
THE WORST OF THE WORST
Then came Feb. 12, 2011. That Monday began a very slow progression toward a major outage:
My monitoring stats, I should point out, come from Pingdom, a third-party service that monitors websites you register and alerts you (if you choose) to potential outages. The idea is that green is good: green indicates that your site is up. You want graph that’s nothing but green.
As you can see, starting that Sunday, Feb. 12, service was less and less predictable until Friday, Feb. 17, when their server went to Hell in a hand basket. From about 12:30 p.m. that Friday until early Monday morning on the 20th, the site could not be reached at all.
My host did its best to update customers through its own support forum. Said forum, I need hardly mention, was not remotely affected by this outage. This problem, they said, was a different issue from what had happened in September. In fact, after the issues back then, they had switched data centers and were now serving data from Dallas. But now Dallas wasn’t being kind, either.
So after missing an entire Saturday, I immediately began searching for a new host. I asked some friends for recommendations, and I tried the first one that had been recommended by more than one of them. Employees at this host were courteous, but they had one major problem: while they were willing to answer questions and give me advice on migrating all of my content from my current host to their server, they were not willing to migrate it themselves.
This meant that I was forced to play Super-IT guy, a role I was neither prepared nor happy to play.
A LESSON LEARNED AND REINFORCED
Remember that I mentioned I had started searching for a good backup option? I found one in a third-party service called MyRepono.com. That service is paid, but very inexpensive, and it makes a complete backup of your domain and stores it elsewhere, so that you can access it even when your domain is down.
So I had my entire WordPress installation, as recent as Feb. 16, the last day the site was even reasonably accessible, to work with. I used this critical backup to get everything moved over.
There was only one thing I was missing: the actual WordPress database, which contains all of the content of the blog itself beyond themes and media. Without the database, you’re making the best tomato-based spaghetti sauce you can, then you suddenly realize that you have no tomatoes to work with.
When my old host finally was working, I immediately requested a copy of my database. I didn’t explain why; I’m sure they probably knew why. But they graciously sent it to me. I also learned that I can export it myself through their CPanel. (I didn’t know this, as I’d never had to do so before.)
Even so, with this final critical piece of the puzzle, I just couldn’t make my site work. This new host just wasn’t willing to do this service for me.
So I canceled my service, got a refund and went elsewhere. Before I left, I explained exactly why they’d lost me. I also explained that I was going to find a host that would do this complicated work for me, since I clearly had no idea what I was doing.
NEW HOST, NEW HOPE
I found that host in InMotionHosting, which is now the hosting service from which this blog comes to you. They were very courteous, and despite warning me that it could take up to 7 days to get the work done, managed to complete everything in about a day and a half.
They explained things for me every step of the way, answered all of my questions, and there were quite a few of them, and stayed incredibly patient the whole time.
There was just one minor problem. My site wasn’t loading correctly on either server: theirs or my old host’s.
Since my old host had come back from the dead, I was seeing multiple errors on the dashboard of my site. I contacted them about this, convinced that there was just too much “coincidence” in the timing of when these errors appeared. My old host gave me the sage advice that was the final nail in their coffin:
“It’s probably a plugin problem. Just turn them all off and then activate them one by one until you see the errors disappear.”
This is tech-speak for, “We don’t give a damn, find it yourself.” Most of the time, when I hear that response, that’s a first sign to me that I’ve gone as far with a service provider as I’m willing, because they’re no longer interested in truly helping me solve the problem.
Such a response is particularly upsetting when it comes from a company that posts on its site a “99.9% Uptime Guarantee” and has a record, according to Pingdom, of failing to deliver this benchmark in any metric I could measure at that moment, from past day, past week, past month, past three months, past six months or even past year!
I assured them that nothing changed in my plugins, and that these errors only appeared after they had relocated the data from the troubled server to a “local disk” and suggested that something must have gotten lost in the translation.
They decided that they’d try to search for the issue. And they ultimately deactivated all of my site’s plugins, despite my warnings that a handful of them had to be up and running or else my site wouldn’t function properly.
I received an email from a guy named “Sam,” who seemed nice enough, and told that after he had “made a few changes,” the site appeared to be working. One of the few changes that I found most disturbing was that he had downloaded, but not activated, a plugin called “WordPress Ecommerce Data Feeder.” Why had this been added? I’d never even heard of it, and I after checking my backup from just before the outage, I confirmed that it had not been there before.
But when “Sam” wrote me to tell me that the site was working, he hadn’t bothered to look anywhere on my blog except the front page, which was, indeed, loading fine. The trouble was that every single post was hanging up as the headline was attempting to load, resulting in a few scan lines of it, the thumbnail image, and a blank, black page. No content. Nothing.
And because these issues had apparently been part of the database I was able to extract from my old host, I was having the same problem with the new host as well.
That’s why I temporarily had to do something drastic: revert to one of WordPress’s basic themes, “Twenty Eleven,” while I sorted through the problem.
I only solved it last night, when I found the original download of this theme before I had its designer perform some customization for me. I went through the code, line by line, the 21st century equivalent of searching for a proverbial needle in a haystack. Finally, after I began studying where the customized sections varied from the original, I spotted a familiar name: a plugin whose title I recognized from my list of installed plugins.
I wondered if that could be it. Sure enough, that one was still deactivated. I reactivated it and suddenly all was right with the world again. And suddenly, this theme is back up and running.
TWO BIG TAKEAWAYS
Have you backed up your domain lately? Or your WordPress database? Have you searched for a plugin that will do this for you? If not, please take time this weekend to find something that will perform that task. It is so important that you have a viable backup to your content in case your hosting company should take an unexpected nosedive.
I highly recommend MyRepono.com. The nice thing about them is that they start new users off with a $5 credit. Depending on how big your database is, this could serve you for quite a while. My database is rather large because, let’s face it, there is eight years of content contained there. My estimate is that my site is being backed up on a daily basis for approximately $6 a month or so. It might work out to be slightly more or slightly less than that. But that, in my book, is a small price to pay for a little extra digital security.
The other thing that I have a much stronger feeling about coming out of all this is the current design of this blog. I searched through ThemeForest.net, and in particular any developed by this theme’s designer. But in all honesty, there just wasn’t any design I was going to be happy with. Short of having a completely custom design constructed — an expense that just wasn’t an option for me at this point — anything else I chose was going to be a case of me “settling” for something I deemed inferior, just to get closer to what I had.
Thank goodness I found the line of code that mentioned that one little plugin the design needed to work again.
But I’m glad to have had the chance to test-drive some other designs so that I could appreciate what I have that much more.
Not that this design is perfect, but I honestly haven’t found one I like better, and that goes a long way in making me happy with how the site looks at the moment. And for someone like me, who occasionally feels the itch to try a different layout, I think that itch has been scared off for quite a long time. That feels good.
InMotionHosting seems to be loading faster and has certainly been more reliable so far. I’ll keep my fingers crossed that there are no “monthly” snags along the way with this company. I suspect it’s a lot bigger than my old host, but maybe that’s a good thing after all.
It comes down to this: a hosting company is really only as good as its data center. And if you can’t depend on that, you really have nothing to depend on.
Even personal interaction isn’t a guarantee; I wrote the CEO of my old host an email, sent to his work email address. In it, I explained what had happened with “Sam,” and requested a detailed list of every one of the “few changes” he claimed to have performed, so that I could review them and troubleshoot them myself to see which one might have caused my theme to have been rendered inoperative. I wrapped up with this:
I am really at a loss to understand the events of the last week, but I realize that you guys have been scrambling to get things back online for your customers. Now I must do the same thing for my customers so that my site is back the way it was and I can continue to serve my audience.
I didn’t receive a reply to this after a couple of days, but I have since been informed that the person in question has no internet access at the moment because he is in the middle of a move cross-country.
In any case, I felt I had to make a move to ensure better dependability of the site, so that when you come to visit, there’s actually something for you to see.
So here we are, on a new host, and hopefully with no major problems ahead.