After 9 years, 1 month, and 14 days with WordPress, I migrated my website to a new Jekyll-based setup this past week. I think that when you migrate from WordPress to Jekyll, you’re required to immediately write about it, so here goes.
There are a lot of reasons why people switch to static site generators like Jekyll. There are all the normal reasons like the increased speed and reliability of simply serving static files, the increased security of not having any (or very little) server side code to be exploited, and the overall simplicity of authoring posts as plaintext markdown files. All of those are reasons I can identify with and are certainly part of why I switched, but there was more to it.
Building for the Web
I still maintain my wife’s website as well as my church’s, both of which run on WordPress. For pretty much anyone who asks, it’s still the platform that I recommend without hesitation. But for myself as an engineer, for my personal website, the added tax of building everything within the WordPress environment became a cost I no longer wanted to pay. At least for right now, I want to live a little closer to the web without a content management system getting in the way. And if I’m honest, I just want to try something new for a while. This site is my place to do that.
Two steps back for the IndieWeb
One of the sacrifices I consciously made in migrating off of WordPress was giving up much of the IndieWeb functionality I had working such as sending and receiving webmentions. There are certainly folks in the IndieWeb community that have this working for Jekyll and other static sites, so it’s certainly doable. I’ve gone back and forth for a long time about whether I want comments on my site at all, so this was easy for me to give up for right now. I still have historical comments, some of which I greatly value and may resurrect, but for now they aren’t being surfaced. POSSEing posts to silo networks is a higher priority, and is something I’ll need to come up with some kind of solution for, even if it is manual for now.
One IndieWeb piece that I did maintain was my short URLs. Though they are not being advertised on the posts right now, all of the historical short URLs that were being powered by Hum still work. They are now powered by a new short URL resolver I wrote called Gum (it’s sorta like Hum, but ported to Go).
Gum is a pretty good example of how I expect to continue building my site – static content (whether generated by Jekyll or something similar) with a few small Go servers hiding behind certain URLs powering limited dynamic content or other things that I can’t do with static files. One idea I’ve been considering for a while is looking at what content could be partially backed by Camlistore, but I haven’t worked all that out yet. One thing at a time.