Well, that was fun. After getting notified by my Web Hosting Provider that my WordPress installation was so old that it constituted a security risk and therefore they must disable my page to save me from myself, I’ve been trying to get things back up.
First order of business was to remind said Web Hosting Provider that updating WordPress goes much faster when you actually have access to the page. Yes, you can do the migration over FTP. Yes, you can follow the recommended step of disabling your plug-ins by simply removing the plug-in folders over FTP. Yes, you could download the site in its entirety, make a copy of your WordPress database, install the whole thing on your home machine, and do the upgrade there, uploading when you are done. None of these things seemed like Plan A, so I asked for access. Support promptly provided me with a password to get into the affected directories.
So, how far behind was I? I’d been running my particular version of WordPress since 2009. It was WordPress 2.8.3. I’d probably updated it a few times, but once 3.0 and then 4.0 came out, it was clearly going to be an involved process.
This time around, once I’d gotten my passwords sorted and gotten into the site, I asked myself ‘why don’t I try the ‘Upgrade Now’ button? It hadn’t worked in the past due to provider permissions on some of the files, but it was worth checking out.
Strangely enough, it worked. Rather than the recommended procedure of incrementally installing every other minor version of WordPress until you got caught up, it just did what it’s supposed to do, and migrated the database as well with no issues. I don’t recommend this for people who actually use their blog a lot and have a big database and complicated installations, but within an hour of getting serious about this, I was back to a good state.
After that, it was updating plug-ins. Most important plug-in is Akismet, the comment spam filter. And of course, it upgraded flawlessly, and then told me I needed a new API key. One credit card transaction later (technically, it’s donation-ware for individual users), I had that back. Other plug-ins seemed to update just fine.
Most of my themes also had updates, given that 4.3.1, the new version of WordPress, is quite different. Those went well, except of course for the one I actually use. Constructor is a nice theme with powerful customization, but that gets wiped out when you update. Unfortunately, the developer has been pretty busy and redesigned the theming system, which meant my backed up theme files didn’t really work. Looking at the site in this state, I realized that the developer had also really improved the CSS for the theme and that many of my overrides were no longer needed. So, I decided to do a minimal edit to get the basic skin going.
This would no doubt go better if I knew more CSS, and understood the theme better. After a lot of trial and error and a maiden run of actually learning how my Safari debug tools work, I got something that looks like the old theme, but better. I changed the paragraph spacing for better readability, and got rid of some changes that just looked dumb now.
The thing about configuring widgets and plug-ins and CSS in WordPress is that because you can tweak a lot of things, you end up tweaking a lot of things. Doing this tweaking can be error-prone, as you have to remember to commit your changes; this is not modern Javascript, it’s PHP. I’ve been at this for what would be a pretty intense work day’s worth of coding and testing. But now I definitely want to explore newer themes and plug-ins.
Of course, I’m still waiting for my Web Service Provider to remove the boot from my site. If you can read this, it’s happened, and I can see just how well this theme works on mobile browsers.
My big takeaway, though is that WordPress has really matured in the last few years. I would have never expected this upgrade to just work out of the box, and indeed upgrading in older versions required permissions I didn’t have. They’ve obviously re-thought that, and now just ask for my FTP password on the upgrade operations. That made a big difference.