Leaving WordPress for Zola

I've used WordPress to run this website for the last 4 years. I first hosted it with Laughing Squid, who resell Pressable's service and then for the last year or so I've hosted with Mythic Beasts, who run their own servers. I've enjoyed using WordPress as a piece of software; it does the job well. Without it, I'd never have blogged so often or on the range of topics I have done to date.

Recent actions by Automattic and Matt Mullenweg have showed they are no longer the benevolent stewards they once pitched themselves as and, unfortunately, I feel I have to move off their platform. Realistically, this blog only ever used 1% of the capacity or capability of WordPress, and very little of the content could be considered "dynamic", so a static site generator is more than adequate for my needs.

A screenshot of this blog's config file.

Like every dev out there, I've prototyped and half built several SSGs over the years, but that has always led to more time being spent on the software and less time actually blogging. Instead, this time I've just selected a piece of software that matches up with my "head view" of the structure of the site and have chosen Zola. I can't vouch for it's long term usability, but I've managed to convert all of my WordPress posts to markdown files, wrapped them up in a git repo on Codeberg, and slapped a few templates together and managed to get a working site out of the other end. I'm still hosting with Mythic Beasts, but instead of their hosted WordPress service, I'm renting a virtual server and serving the static files with Caddy.

Caveats

There are two problems with the migration. The first is that there was a misconfiguration in my old WordPress site that despite naming posts with fixed slugs like poison-the-wellms, WordPress still knew those posts by its own internal naming scheme like ?p=1023. This was invisible everywhere except for the unique ID within the RSS and Atom feeds, so unfortunately anyone who was subscribed to my blog before the migration has just seen all of my old posts pop up again as if they were brand new. My apologies.

The second problem is one of accepting comments. WordPress runs on PHP, so providing interactivity such as comment submission is practically automatic. Static sites, though, can't do that. I very rarely receive comments, but I didn't want to remove them entirely from the site. Somehow, I must score quite highly on the SEO front when it comes to failing VanMoof batteries. Both of my VanMoof reverse engineering and repairing posts have received a fair few comments and I like to believe I've helped a few people get their rather expensive bikes back on the road.

I spent an afternoon investigating ways of adding comments, either via JavaScript plugins or through some sort of social network embedding, but in the end I realised I could just accept emails and then update the pages manually. My workflow on WordPress was to manually approve comments once I received an email notification, all I've done is add a copy & paste step in the middle. To this end, I've added mailto links at the bottom of every page, that go to a stand-alone email address and mailbox for collecting comments.

I've still some styles to tweak and pages to wrangle, but I feel it's better to just get the new site up and running and fix the remaining problems later. Perfect is the enemy of good, and all that!

2024-12-03

Leave a comment