Migrated Blog From Wordpress To Hugo

Page content

Background

After more one year of (inactively) using Wordpress for my blog I have decided to give Hugo another go. I became first familiar with Hugo around 3 years ago when I was in the process of migrating off Octopress because I had so many issues with configuring ruby environment across different projects and I was always running into incompatibility issues.

Back then I decided to fall back to Wordpress and was using it to host my blog for since then.

There were few issues that I stumbled upon when using Wordpress, but overall nothing very unpleasant.

My main requirement though was that it’s essential to be able to write posts in markdown. With all it’s drawbacks it serves as a good format for writing simple documents (like blog posts or documentation) and by using it, if I ever needed to switch between blogging backends I could simply move all my content.

On top of things the Wordpress felt sluggish, site was loading too long and it wasn’t very pleasant to use as a writer.

The decision came with introduction of version 5.0 of Wordpress, when after upgrade I did loose ability to write content in markdown and all my previous posts were broken, they looked as if Wordpress attempted to convert markdown to it’s own format.

Hugo

I have checked Octopress once again, but it looked like this project isn’t developed anymore, additionally I was still not so sure if I won’t end up running into ruby version mismatches as before. Eventually I decided to try out Hugo, and I’m very happy.

Migration process

The migration process was quite smooth.

I wanted to migrate all post content stored on Wordpress, I have used exitwp to export posts - follow it’s instructions, the process is documented well.

After that I had to move all files to my content/posts directory, tweak the permalinks configuration in Hugo to maintain compatibility with the URL structure I was using before and almost all was done.

I did find good Hugo theme - mainroad which does exactly all I need :)

I unfortunately had to copy all images by hand, but because it was only around dozen of them it wasn’t an issue.

The biggest pain though the fact that all my posts had broken <code> sections - this was broken because of many different Wordpress plugins I had to use to get code formatting going, eventually I did fix all issues by hand and some regexp.

Writing experience

From my perspective the writing experience is muuuuch better, by using any editor I choose, and perfect live preview feature of Hugo I’m writing content in either VS Code or IntelliJ and I can preview it inside the browser running on the second monitor as I type.

One problem I still have with Hugo is the way that static post content (like screenshots or images) has to be managed, most of the things need to be done by hand, would be good to find a way to automate that.

User experience

Because the website is now 100% static it runs much faster so user experience should improve.

The only drawback of having static websites are the comments, but because I was using Disqus before I simply embedded it here as well, so there’s no change from the users’ perspective.

Summary

Overall I’m very happy with Hugo migration, I hope that improved writing experience will make blogging more frequent and pleasant.