Migrating (back) to WordPress
I am blogging for some time now, I think I started somewhen in the late 90s. Back then I used a self written Perl script which appended content to itself when you published a new post. At some point I migrated to S9y. It just came out, so it had to be somewhen around 2002. Two or three years later I moved on to WordPress which, back then, was the new hotness. But as we all know WordPress was not the pinnacle of software engineering or security. I briefly thought about writing a CMS in Django – as I did a few times in a professional setting – but decided to go fully static. And as everyone with some free time I wrote my own static site generator in 2011. I also took the opportunity for a fresh start. Before that I was blogging primarily in German, but being in software engineering it made sense to switch to English. I still got my old posts in a backup, some day I should put them on a subdomain. While there might not be a lot of value in them, I like looking back to see where it started – and sometimes to question how I could have ever thought $x is a good idea.
I already talked a bit about static site generator burnout. Early December I looked at a bunch of drafts in my blog directory, some actually nearly finished, and I had a feeling of not wanting to publish them for the already outlined reasons. So I set out to find a new home for my blog. And also do some necessary housekeeping.
Evaluating software which will power your blog is a bit like shopping for a new car. Every single checkbox looks appealing. Every. Single. One. It should be fast. And support off road trips, just in case. Maybe I will have to tow a trailer. I do not smoke, but the smoke package makes sense, I could use the cigarette lighter to power devices I do not own and do not charge in my car. The list goes on. You can nearly always justify why a certain feature might make sense at some point. Practically you will likely never use it. So my checklist became pretty small.
- I prefer writing in markdown (or another form of easily formatting my text while typing)
- Mobile apps would be nice, but are negotiable
- Draft support and a web interface are a must have
- It should support blog posts and static pages
- Custom theme support
This does not sound too crazy to me. Especially with two out of five points being “nice to have”. The problem is that nearly every second blog engine in existence checks those boxes. Thinking a bit about my requirements I added an additional one. I wanted something with a hosted offering.
I have to mess with infrastructure on a regular basis and make sure things stay online. I have been doing this for nearly two decades now. But what I really wanted for my blog was something where I log in, write, hit publish and that is it. Some people argue about the cost of hosted services. Those people either do not factor in time, see time as something disposable or simply enjoy hosting things in their free time. All of those are legitimate approaches to hosting, but none of this is true for me.
With the requirements set, it came down to Ghost vs WordPress. Ghost is an interesting one. A lot of money went into the Kickstarter. They still break macOS / iOS spelling correction and the mobile experience is horrible. WordPress is, well, WordPress. It actually got better, especially if you drop all plugins but one for caching and add a CDN in front. What I did not expect back then was how stupid the new editor will be in version 5, but thankfully the old one is still around.
Housekeeping was pretty straight forward: consolidate all my online presences on timo-zimmermann.de, redirect all existing domains and make sure redirects for old content are setup. I think most time went into tagging old content. Thanks to the best hosting provider ever all of this but tagging was taken care of for me. There was a bit back and forth which domain to use, my wife took care of the design based on my absurd requirements and some surprises with WordPress’ URL handling. “/2019/01” and “/2019/1/” are the same. I disagree, but it works and drastically reduces the amount of redirects needed. Good ol’ WordPress, never ashamed of doing stupid.
While not all content is online, I have a working blog and all domains are being taken care of. It is actually quite enjoyable to be honest. With all excuses gone for not blogging on a regular basis I am looking forward to see how much I will be publishing in 2019.