Glossary
Flat-File CMS
A flat-file CMS is one that stores content directly on the filesystem — in formats like Markdown, YAML, JSON, or plain text — rather than in a relational database. When a page is requested, the CMS reads the relevant file and renders it, rather than querying a database. Statamic is one of the most well-known flat-file CMSes, though it also supports database storage when needed.
The practical difference from a database-backed CMS like WordPress shows up most in how you manage, deploy, and back up content. In a WordPress site, your content lives in MySQL tables. To back it up, you export the database. To deploy changes, you sync the database. To see what changed between versions, you need a snapshot-based tool or a plugin. In a flat-file setup, content lives in files right alongside your templates and configuration, so you can use Git to track every change, deploy by pushing a branch, and roll back by checking out a previous commit.
Flat-file architecture also tends to simplify hosting. There’s no database server to configure, no connection strings to manage, no risk of a corrupted table taking down the site. Static file hosting or a basic PHP host is often enough, depending on how the site is built. For more on hosting options, see the Statamic hosting guide.
The tradeoff is that flat-file systems aren’t well-suited to very large content volumes or user-generated content. If you’re running a site with tens of thousands of posts, or a community forum, or an e-commerce catalog with complex inventory queries, you’d likely want Statamic’s database mode or a different platform. But for marketing sites, brochure sites, documentation sites, and most agency-built websites, flat files work well and make the development workflow considerably cleaner.
WordPress sites being migrated to Statamic often get the Git-based workflow as a side benefit — version-controlled content is something most WordPress shops have to build around with external tooling.