After thirteen years running WordPress, I've caught up to the 2010s by embracing a static site generator.

(Much navel gazing below, you may wish to skip.)

So long, WordPress!

There's nothing wrong with WordPress. It's generally worked great for me and it's obviously helped millions of people publish their thoughts on the internet.

However, in recent years any time I log into the admin page there's a screen of nags from plugins and red dots reminding me about updates:

WordPress Dashboard covered in nag screens for plugins

Is there anything wrong with folks trying to make a living from their work? Of course not, they're entitled to do that. Although I'm pretty certain at least one plugin is about a dozen lines of PHP code that was sold by the original author to a company who's added useless "Premium" paid upgrade features and nags to it...

Do I really need these plugins? Probably not, either. Most of this stuff is from the "bad old days" of WordPress installs frequently overrun with malware. I have no idea if they do more harm than good now, but I really don't care to find out...

Why should I worry about any of this, when all I've wanted to do for thirteen years is write something and publish it on the internet?

Hello, Pelican!

There are a lot of static site generators out there, although it looks like the wave peaked about 2015. I chose Pelican because it's actively maintained, it's written in a language I know well (Python), and it can import WordPress sites.

It's unclear if anyone will ever need to know my poorly conceived personal opinion about niche technological events from previous decades, but importing my old site means they'll always be able to...

Themes

Of course, any tool marketed at programmers needs endless theme capabilities! After poking around a few Pelican themes, I realised that I actually really like the SemPress WordPress theme. So I made a partial port of it from WordPress to Pelican. Showing a total lack of imagination, I've named it SemLican.

Comments

Static site comment options aren't great:

  • Have no comments. Honestly, this is probably the wisest option.
  • Encourage people to comment on some external "comment site", like reddit or Hacker News or something.
  • Inject some cloud hosted private information broker tracking service that provides comments as a way of accessing your readers' data.
  • Self-host a small comment server.

I went with the last option, because occasionally I've gotten very insightful and helpful comments on this blog. Isso seems very good, also still actively maintained, and integrated easily with my Pelican theme. Isso can also import comments from WordPress, so any existing pearls of wisdom have stuck around provided that you have JavaScript enabled.

CDN

I took the liberty of putting the whole site behind the bunny.net CDN. 99.9% of the time I don't need this, but in the past there's been a couple of times that something got popular quickly. So I'm hopefully "hug of death" proof, should it ever happen again.

Done!

This all took longer than I'd hoped, but the site has swapped over. I can now put this energy into finishing draft posts about more interesting things...

If you find any broken links or functionality then please let me know in a comment, or open an issue on the theme if that makes more sense.

Thoughts on “Entering stasis