Migrating to Hugo

Over the years, I have tried almost every CMS and blogging software out there; Wordpress, Ghost, Drupal, Joomla, Squarespace and more. Each have their own pros and cons, but being tech savvy often comes with the trade-off of using more advanced software to get the result we want. Some options like Wordpress, are challenging to configure to remain simple and stay on top of the latest threats1. Others, such as Ghost, are fantastic and simple, but lack some of the more advanced design features and hosting is more complex to arrange unless you use their official hosting solution, which can be pricey for smaller blogs.

Recently a colleague suggested I try out Hugo. I have previously given Jekyll a try, but didn’t have the time to fully convert my then-Wordpress website over to it. Static generators have great appeal to me, to name just a few of the features:

  • Easy integration and builds within version control
  • Simplified deployment and upgrades using AWS S3 to offload all server management responsibilities
  • Lightning fast load times thanks to Cloudflare full page caching
  • Highly secure with no moving parts to worry about such as databases or emerging framework threats

In deciding whether to use Hugo or Jekyll, there was very little between the two which would draw me to one or another. However, Hugo looked easier to get started with and on the recommendation of a colleague, it was my go-to.

I will one day document and blog the process of how I perform my builds, tests and deployments using Codeship’s free plan to an AWS S3 bucket and my Cloudlfare caching settings, but it is safe to say I am a fan a Hugo already from the speed statistics alone. My average build time is now under 50ms and when visiting my website, anyone in the world can expect the entire page to consistently load in under 1 second without any existing cache.

img

As soon as I have a few more stats from running the site such as the cost of hosting and performance statistics over time, I’ll post back and share my findings!