Static site generators, and why you might not need a CMS

Content management systems, or CMS, are great things. Your website probably should use one. But that isn't always the case. Sometimes using a static site generator could be the better option.

What is a static site generator?

This website is a static site. It is built using a static site generator, which is, in essence, a template system and a build process that takes your templates and generates plain HTML files to deploy to your web hosting. It’s reminiscent of a simpler time when websites were just HTML files, but made better with all the advantages of a modern template system.

Having a static site like this doesn’t mean the website’s content never changes. With a traditional CMS, pages are generated in real time when someone visits them. With a static site generator, pages are generated ahead of time as static files, by a build process that runs whenever you edit your website. The build is normally part of the same process that deploys the website.

Why static is good

So simple

The biggest advantage is that it is so simple. When you’re used to the added complexity that comes with a CMS, it’s quite refreshing how simple things can be. I often find myself reviewing the code of a static site and thinking, “Is that all?”

Simple means that the cost of change is low, and flexibility is high. You don’t have to work within the constraints of a CMS, and making modifications to your site doesn’t also involve working on the CMS integration.

Speedy performance

With static HTML pages, nothing needs to be generated on the fly. No database queries, no user sessions, no dynamic data to prepare and format. Nothing happens on the server except sending the pre-generated HTML back to the user’s browser.

Many CMS will use caching systems, and/or leverage a CDN, in an effort to get the same level of performance. With a static site, you’re already at the best-case scenario without any extra complexity.

Often a CMS also introduces some bloat in the code that it sends to the browser. This should be minimal, but unfortunately some are much worse than others.

Less maintenance

No package updates, security patches, server upgrades or database backups. Static HTML just works.

Cheap to run

Less to build and less to maintain makes things cheaper, not only in development but also in hosting. You don’t need the same server resources when you’re not generating pages on the fly.

Hosting could even be free. Some providers, such as Netlify and GitHub Pages, offer free tiers which may be all you need.

Nothing to hack

Well… there might be other things to hack, but with no CMS, and no code running on the server, a massive amount of attack surface is removed.

If your website has been hacked before, or if you have noticed the increase in security vulnerabilities being uncovered by AI, you’ll appreciate why this is a big tick in the pros column.

Would a CMS actually be used?

When I think back to the many CMS-driven websites I’ve been involved with, there are plenty of examples where, although there was every intention of making good use of the CMS, that didn’t happen. Instead, the technical person was relied upon to make changes. They didn’t need a CMS, and would’ve been just as efficient, if not more so, working directly with the code.

In those cases, the added time and effort of implementing the CMS upfront, and of making modifications since then, didn’t pay off.

Do you have a tech person?

Working with code, rather than through a CMS, does mean you need someone with the required technical skills. That skill level is not high. If you have someone technical on your team, they will likely have little problem getting up to speed with handling the day-to-day updates.

If you will be relying on your developer to make all the changes, then the argument for using a static site becomes even stronger. The same could also be said if an AI agent is going to be making the changes.

There’s more to it, of course

Of course, the equation is a lot more complicated than just static site versus traditional CMS – there are many different CMS paradigms that blur the lines between the two.

Often some type of CMS will be the right choice. But in some cases, a static site is absolutely an option worth considering.