From Wordpress to Hugo

About one month ago, I started to move this site from running under WordPress to being statically generated with Hugo.

After a short time, I had re-created the site with it and am pretty satisfied with the switch.


Running a local WordPress installation all these years was OK, but I always felt it was too big, too fragile for my needs; simply overkill. I also never felt very safe when I had dig into all these PHP files for customization.

And shifting the maintenance effort to someone else, by running it on instead on my own shared webspace for example, was (ideologically) not an option for me.

This is a small, personal blogging website, with me as the single author; to write down some tips and tricks, or publish some thoughts/ramblings or software releases, so nothing that really requires a full-grown CMS like WordPress.

While it doesn’t hurt to have it, you also always have to be on your toes: Constantly updating it to prevent (security) bugs, having a SQL database available, using the online portal for editing and uploading stuff, etc.

So, when this whole static site generation hype popped up some time ago, I took notice. On the one hand, it’s like in the past, when one manually created and maintained HTML files, but it improves on the concept of separating content and style/layout and keeping everything consistent across the site.

I also like that the foundation is having the content (and also the site configurations) in simple Markdown text files (respectively in TOML/YAML/JSON text files), which can easily be put in a code repository.


Finally, I paid more attention to these static site generators, and after some days of reading about possible platforms, I focused on Jekyll and Hugo.

Reasons for selecting Hugo in the end were a mix of bias, gut feeling and educated guess:


So, after the decision to use Hugo, I needed some tutorials and articles for beginners.

Some good starting points:

After same days working with it, I had a pretty good understanding of how Hugo works and I could replicate most of my WordPress-based site with it. Then, the fine tuning and tweaking started (and still continues 😉 )

So far, I’m quite satisfied with Hugo and the concept of running a static website again.


Things that I miss a bit, but not really:


For syntax highlighting, I use Hugo’s own Chroma.

Since the URLs changed (partially, at least for the blog), previous postings got an alias, so that they still can be reached with the old paths.
(I first thought about using .htaccess redirects or something, but Hugo’s feature to use an alias entry in the posts FrontMatter is working satisfactory.)

The address of my main RSS feed also changed slightly; to
Originally I wanted to spend time on keeping the old address valid, but what the heck: I don’t believe that anyone except me (for testing purposes) subscribes to this site anyways.
(One can find the new RSS feed address also on the homepage.)

  1. In the meantime, I wrote a Python script for this task, so it’s hardly any work now. ↩︎