Bye Gatsby! Hi Hugo!

I moved my blog from Gatsby to Hugo. I wouldn’t be writing about this if the move went poorly.

Why I chose Gatsby

I initially chose Gatsby because it promised a lot:

  • Extremely fast page loads.
  • Image optimization.
  • Sever rendered templates, but with React on top.
  • A plugin for everything.

I was happy with Gatsby at first, but…

Gatsby was a bad choice for me

The first issue I had with Gatsby was that it uses GraphQL to fetch data, even locally. This was a confusing way of accessing my data and not a pattern I felt like learning for my tiny blog.

Next, build times were slow, even for a very small blog.

But the biggest problem was that I had to babysit my blog. Gatsby would regularly update and I found my blog no longer worked. By the end, I couldn’t get my blog to build and I wasn’t interested in spending time figuring out how to fix it.

Ultimately, Gatsby requires maintenance. This is fine if your site is updated often, but for a site like mine that is rarely updated, Gatsby is a headache.

Why I moved to Hugo

Hugo is fast to build.

Hugo is simple.

I thought I would look at Hugo for a few minutes to understand how it works, and 30 minutes later I had my blog fully moved over and deployed. Easy.

So, is Hugo better than Gatsby?

For me, yes. For you? Maybe.

Gatsby shines (I presume) for professional sites. Your company’s landing page might be a good candidate for Gatsby. But for my little blog? It was a headache.