Changes, They Are A Comin’

To the blog. I mean, yeah, sure, the world too (boy, are they!), but this post is about my blog. I’m sorry. It’s been about 4 years since the last refresh, and even that was kicked off accidentally and thus never quite achieved what was truly needed. Since then, additional requirements have come to light, and I figure it’s finally time to take a serious look at the technical foundations of Kaedrin.

Since 2002, this weblog has been powered by Movable Type. At the time, this was pretty much state of the art. It was significantly better than Blogger (the original platform I used) and other competitors at the time (i.e. Greymatter, etc…) WordPress was still three years away, and the initial versions were probably a bit behind Movable Type. For a long while, I feel like the two platforms kept up with each other and the competition was probably good for both. Movable Type even offered an Open Source option under GPL for a while. Alas, WordPress became the standard… but by then, I’d build up a solid decade’s worth of posts and the transition seemed like a lot of work for little benefit.

Well, things have changed a bit. Movable Type retired their Open Source version and basically priced individuals out of the software. I’ve mostly limped along since then, never really finding the time or motivation to seriously fix some of the issues. I could certainly continue on this path, but there are a few things I’ve wanted to do for a while now and it seems like WordPress would be a much better (and more sustainable) option for the future. You know, the one where people still care about and read blogs?

So anyway, after 18 years of service, I’m planning to retire Movable Type. Take a bow. Yeah, I probably should have made this transition a decade ago, but for all its faults, MT has served me well. So, what are the reasons I’m making this change? Here’s a few things:

  • HTTPS – Security has become more and more important over the years and somewhat recently, browsers and search engines have started penalizing sites that don’t use TLS/SSL. There are ways to do this on MT, but WordPress appears to be much easier.
  • Pretty Permalinks – Back in 2002, the only option for permalinks was to just use the numerical post id in the URL. A while later, the standard changed to using something more descriptive and while MT offered that option, I’d built up enough history that the change wasn’t as easy, and then it only got worse as time went on. So while I’m updating to HTTPS (which counts as a URL change), I might as well switch to a better, more descriptive permalink. More about how I’ll achieve this below…
  • Responsive Design – I technically already have this, but as already mentioned, it’s barely functional. In general, the design of Kaedrin has degraded a bit over time, and one of the things that WordPress is really good at is allowing quick and easy theme changes. They have a massive library of thousands of designs to choose from, while MT has, like, a dozen (maybe, I’m not checking). Now, the process of browsing and choosing a design theme leaves a lot to be desired, but I think I’ve found a few that could be interesting (and many allow for enough customization that it’ll be fine).
  • Comments – It’s possible to comment here, but man I’ve made it obnoxious to do so, haven’t I? Well, there are plenty of limitations on the MT side and it relied on some third party services that are no longer working (particularly, Google’s OpenID system broke again a few years back after I managed to briefly fix it). In any case, WordPress seems to have a much better way of capturing comments and their anti-spam measures are also better.
  • Support – In general, WordPress has a much better support community. This is also why it has so many design themes and plugins.

And there’s plenty of other reasons. You may have noticed that everything looks the same, and that’s because the transition hasn’t quite happened yet. So why isn’t this fancy new blog shooting into your eyeballs right now? What have I done and what’s left to do?

  • Installation – Installation was a breeze, actually. Only minor little kerfluffles here and there. WordPress is actually powering the main kaedrin.com page right now. It’s not much to look at, but now I’ve got some more options.
  • Importing Posts – Also a relatively simple process. There was one snag, which had to do with the CONVERT BREAKS indicator not being imported properly, but a quick google search for “wordpress movable type import line breaks WHY THE FUCK WON’T IT WORK” yielded a good solution. The only other annoying thing was that the importer can only work on files that are 1 MB or less. Believe it or not, this blog exports to a 12 MB file, so I had to spend some time splitting up the files and importing in batches. But all in all, it was a pretty easy process.
  • Stupid Rewrite Engine – So WordPress does this thing where it uses .htaccess rewrite rules to run the entire URL structure. Which, like, sure, it’s probably better than MT’s static HTML files, but it’s also not nearly as flexible in terms of where you can publish your blog. In particular, since this “weblog” directory already exists, WordPress has difficulty displaying the main page (everything else works fine – I can go to individual posts, archives, etc… with no problem). If you came here in the last few days when I’d been playing with this, you may have seen the main blog page show a 403 error (and you may see that again as I work out kinks). Now, the grand majority of users probably aren’t migrating 20 years of posts and are, in fact, just starting something new and thus won’t experience any issues. But after a few decades and several content management strategies, my directories are a bit of a mess, which causes issues with WordPress’ rewrite engine. It’s nothing insurmountable, but it will take some time to resolve.
  • 301 Redirects – Basically, I need to set this up for every blog post (I’m less concerned about Monthly/Category archives, etc…) There are easy ways to do this and I think there might be a way to do it in bulk, I just need to figure it out. I was hoping that the new and old blog could coexist for a while so that I could do a more leisurely transition, but this may ultimately be for the best anyway…
  • Updating Manual Links/Images – There may be some weirdness in the beginning as some of the old links and images are hardcoded into entries. The 301 redirects should function for the links, but it’s not a good practice to keep them in place; they should be updated to the new URL structure. I should be able to fix the majority of these using find/replace capabilities in WordPress, but again, some weirdness may persist in the archives.
  • The Beer Blog – I haven’t even started on the beer blog, but I’m anticipating basically the same problems there. Not only does that directory already exist (thus probably breaking the rewrite engine), but I also made that directory a sub-domain (again, WordPress’ lack of flexibility in terms of publishing makes this problematic). I’m also shuddering about the thought of reorganizing all the categories there (the import process flattens the category hierarchy – I’m hoping there’s a plugin that allows for better category management, I just haven’t looked yet).

There’s still plenty left to do, but it all seems more approachable than I had feared. A big part of this is the huge ecosystem of plugins and support that WordPress has built up (and that is practically non-existent for MT). I’m hopefully that the new blog will be up and running for the 20th anniversary of the weblog (while Kaedrin existed in various incarnations before the weblog, the first post here was on July 14, 2000). Until then, stay safe and healthy out there folks.

Update 6/30/20: The changes have come and are blasting into your eyeballs as we speak. Turn and face the strange. Moar to come.

4 thoughts on “Changes, They Are A Comin’”

  1. Pingback: Turn and Face the Strange - Kaedrin Weblog

  2. Pingback: Changes and Upgrades - Kaedrin Beer Blog

Leave a Comment

Your email address will not be published. Required fields are marked *