Goodbye Wordpress, hello Hugo

I've recently decided to move from Wordpress to Hugo.

My reasons and thought processes below.

Writting this down, in case anyone stumbles across this and adds to their decision-making process

My history with Wordpress

I've used Wordpress for years across various websites.

It does it's job, with a WYSIWYG interface, and an ease of running a website/blog.

There are a lot of one-click Wordpress installers, which makes installing Wordpress even easier for the non-technical folks.

Current Wordpress dissatisfaction

However, I decided to move on from Wordpress, and to a static-generated platform for a few different reasons:

  • Unneeded complexity
  • PHP version(s)
  • Updates
    • Wordpress
    • Plugin
  • Database requirements

Unneeded complexity

Wordpress is a very powerful content management system (CMS), but I don't need the power that Wordpress offers.

This is a simple blog, which is pretty much my online notebook, with it's primary goal of provided me with the ability to re-create something I've done previously.

Simply using a text editor (vim) and creating simple HTML page would have sufficed for my needs.

PHP versions

Unless you self host, you're at the mercy of your hosting provider to install, and keep updated, your PHP install.

With the number of PHP vulerabilities out there, a secure PHP install is a near-moving target.

Doing a Google search on "php vulnerabilites" results in almost 20 million hits.

Right now, on my old Wordpress install, I get notified every time I log in, that I should update my PHP version, to mitigate some new vulerability. My hosting provider says an upgrade is "in planning", but doesn't offer a more definitive timeframe.

Sure, if I paid more for a better web host, I could get better results, but I don't need everything that goes with a more expensive host (especially the cost).

Updates

In addition to any PHP upgrades, Wordpress, and various Wordpress plugins, are updated regularly, which isn't a bad thing by any means.

However, when an update breaks the site, I'm spending time figuring out how to un-break the site, rather than working on something else I'd rather work on, and/or writing something.

I've had a few instances where a Wordpress plugin broke the site, and a Wordpress upgrade that I never did take the time to fix, I simple rolled out a backup copy of the site, with the older version of Wordpress.

Database requirements

A crashed database has bitten me in the butt more than once, and I can't count the number of times I've gone to a website, only to get a general database error, rather than the information I thought was on the site.

Static content generators

With static content generators, the site is exactly that: static.

You write your content (blog posts), the site is generated, and you upload that static content to a web host.

No PHP/Wordpress/Wordpress plugin(s) to upgrade (and possibly break your site), and no database to worry about crashing, or being hacked.

Another benefit of a static site is that is almost eliminates your site being hacked. No site is hack proof, but without a database and PHP, it greatly decreses the chances of it being hacked.

At most, you're looking at a site defacement, which is easy enough to recover from, by simply uploading your static content again.

Without needing anything installed on the serverside, other than an actual web server, the requirements for static content are much lower, and as a result, hosting costs will be less.

Which one to choose

Ghost

Ghost has serverside requirement (node.js), and as I'm trying to get away from that, I eliminated Ghost without looking any further.

Jekyll

Jekyll is the oldest, and original, static content generator.

It has a lot of themes and community support.

I spent a few days modifying Michael Rose's minimal-mistakes and getting it set up the way I wanted my site to look.

One of the things against Jekyll is the lack of movement/updates. I read (forget where) that Jekyll currently has ONE developer working on it.

The last thing I wanted to do was take the time to migrate to what could become abandonware.

Hugo

The deciding factor for me was when I tried out Hugo, and right out of the gate, I didn't have much to change to get my site to look the way I wanted it to, and making the changes needed seemed much simplier than it was on Jekyll.

Hugo is much faster at rendering content, but that's a moot point to me, due to the size of my site.

References

Hugo https://gohugo.io/

Minimal Mistakes Jekyll theme https://github.com/mmistakes/minimal-mistakes