I Switched from WordPress to Hugo
Both Hugo and WordPress are free software created with love and a lot of unpaid labor. My hat is off to both projects and their developers.
About the Software
Hugo
Hugo is a program written in Go that runs on your computer and generates a static website based on files you create. These include markdown files for content, HTML-ish files for themes, and static assets. All you need to put it out into the world is a way to serve web pages.
Wordpress
Wordpress is a series of PHP files that are excuted by your server. In addition to needing the aforementioned web serving, you also need PHP installed on your server.
Why I Switched
- For the lulz
- The WordPress theme I was using was about seven years out of date. It needed some kind of influx of attention. I could change the theme or the platform completely. I chose the latter for reasons described in the point above.
- My site has almost no dynamic content. Generating pages every time they’re requested was really sort of silly.
- WordPress’ editor is very capable and does a lot. I sometimes trip over all the features.
- All code represents the possiblity of bugs. This is not a knock on WordPress, it’s a statement about the human creations. While Hugo surely also has bugs, they’re contained on my laptop. WordPress, being on a server exposed to the wild, wild internet is much more likely to have a bug that can be exploited. Again, this is not unique to WordPress, it’s the nature of opening up a machine to the whole internet.
Switching
Hugo has a learning curve, but now that I’ve put a few hours in, it’s starting to make sense. As is the way of new things.
wp2hugo made the import process super easy. I’d already put some time into tweaking the theme, whereas wp2hugo tries to bring in the theme too. I should have imported first, then tweaked.
While I was in there, I decided to add images to my older blog posts, chosen at random from a handful of stock images. I tried to piece together a Bash one-liner that would do that. Eventually it occurred to me that even if I’d succeeded, it would have been done badly. I resorted to asking Claude to make the script for me. Then I went in and tweaked the resultant data manually anyway. Sigh.
Summary
Lulz accomplished and fewer potential exploits on my server. Hooray!