Migrating to Hugo

Overview

Why I Moved My Blog and What I Learned

Since 2015, my blog has lived on a Amazon Lightsail WordPress deployment. It’s been reliable, familiar, and got the job done without complaint. So why move?

Honestly, nothing was broken. But I was ready for a new challenge.

As someone who lives and breathes IT, sometimes I like to break things just to put them back together smarter. I realized that most of my blog is pretty static. I've used it as a personal knowledgebase, made up of post, images, and a few customizations. I wasn’t using WordPress’s full CMS power, and I definitely wasn’t taking advantage of its dynamic capabilities. That opened the door to explore something I’ve been curious about for a while: Static Site Generators (SSGs).

Why Hugo?

There are quite a few SSGs out there. Jekyll, Eleventy, Gatsby and a slew of others, but I landed on Hugo for a few reasons:

  • It’s fast. Ridiculously fast. I was quite surprised.
  • Not specific to Hugo, but I love the ability to write in Markdown format, see it locally and leverage a private Github repo, allowing me to work across multiple machines.
  • It has strong community support and solid documentation, especially for a newbie at Go, HTML, CSS and other web technologies, that was a plus.

For someone who enjoys tinkering but doesn’t want their blog to become a part-time job, Hugo hit the sweet spot.

Choosing Cloudflare Pages + R2

With the static site generator picked, I needed a place to host it. I looked at GitHub Pages, Netlify, and others but ultimately chose Cloudflare Pages for a few key reasons:

  • Automatic GitHub deployment: Every time I push a change to my main branch, it builds and goes live. Seamless. Almost too easy.
  • Global CDN performance: Cloudflare’s edge network keeps things snappy, no matter where readers are. I was already using Cloudflare DNS and other services, so why not. Oh, and it's free.
  • R2 for image hosting: I didn’t want to bloat the repo with images, and R2 gave me simple, S3-compatible object storage—perfect for my needs. Low cost, good performance.

What I Gained

Aside from checking off some new skills, I gained:

  • A leaner, faster blog, with no hosting requirements. Saves me about $30 per month.
  • More control over the publishing workflow. I work from multiple Mac machines, so using Github to store my blog made this very easy.
  • A better understanding of static-first site design. I even have a Dev site running in Hugo, where I can test some things before breaking the actual blog!

It’s also just fun. This project was a refreshing reminder that learning doesn’t have to come from frustration or failure, start it with curiosity!

Wrapping It Up

This wasn’t about running from WordPress or saving that $30 a month with Lightsail, it was about running toward something new. Hugo and Cloudflare Pages gave me an excuse to get my hands dirty, streamline my blog, and pick up some new tricks along the way.

If you’re blogging with mostly static content and want to simplify your stack, I highly recommend giving Hugo (or another SSG) a shot. Just be warned, you might end up rebuilding your blog over a long weekend with bourbon in hand and your dog keeping you company in the driveway. I know I did!