Why I Don't Use Netlify CMS (Yet)?

3 min read · 439 words

Back in 2021, when I first considered adding a content management system to my static site, I evaluated several options. Netlify CMS (now called Decap CMS) was a popular choice, but at the time, it didn’t fully support my then-framework of choice, Statiq Web. The integration required workarounds that felt fragile, and I decided to stick with writing content directly in Markdown files.

The Static Site CMS Challenge

Managing content on static sites has always presented a unique challenge. Unlike dynamic CMS platforms like WordPress, static sites generate HTML at build time, which means there’s no database-driven content management out of the box. For developers comfortable with Markdown and Git, this is rarely an issue. However, for non-technical content creators or for quick edits on the go, a graphical interface becomes valuable.

My Journey to a Custom Solution

After experimenting with various approaches over the years, I eventually built my own custom CMS solution tailored specifically for this Hugo-based site. The solution provides:

  • Google Identity authentication for secure access
  • GitHub API integration for managing content directly in the repository
  • EasyMDE editor for rich Markdown editing with live preview
  • Media management for uploading and organizing images and files
  • Frontmatter handling with proper validation and formatting

Why Build Custom When Options Exist?

While solutions like Decap CMS, Forestry (now TinaCMS), or CloudCannon exist, building a custom CMS offered several advantages:

  1. Perfect Integration: The CMS is tightly integrated with Hugo’s specific requirements and this site’s unique structure.

  2. Full Control: No dependencies on third-party services or their pricing changes. Everything runs on my own infrastructure.

  3. Tailored Experience: I can add exactly the features I need without bloat. The interface is designed specifically for this workflow.

  4. Learning Opportunity: Building the CMS deepened my understanding of authentication flows, API integrations, and the Hugo build process.

The Current Setup

Today, the custom CMS provides a clean, responsive interface for managing all content. It handles:

  • Creating and editing blog posts
  • Managing drafts versus published content
  • Uploading media to the correct directories
  • Bulk operations for content management
  • Search and filtering across all content

Looking Forward

The static site + custom CMS approach continues to serve well. As tools evolve and new possibilities emerge, I’ll continue evaluating whether the current solution meets needs or if adjustments are warranted. The key advantage of static sites remains: content lives in version-controlled files, ensuring redundancy and the ability to revert changes.

If you’re considering adding a CMS to your static site, my recommendation is to first clearly define your requirements. For many, a lightweight solution like Decap CMS suffices. For others willing to invest development time, a custom solution provides maximum flexibility.

Val Paliy avatar
About Val Paliy
I am a programmer who writes about everything.