Markdown files are the database
One post = one .md file with frontmatter. No MySQL, no SQLite, no database setup. Backups are a folder copy.
Open-source project
A flat-file PHP blog engine for adding SEO blog content to existing static HTML sites. No database, no framework, no scope creep, just Markdown files, hand-written PHP, and a portable admin you upload only when you need it.
Many client websites should stay as fast, simple static HTML, but still need a steady stream of fresh blog content for search ranking. Nano CMS exists for that exact gap. Rather than rebuilding a perfectly good static site as a WordPress installation, inheriting a database, plugin updates, brute-force attempts, and a permanent admin panel for the sake of four blog posts a year, Nano CMS slots a small blog engine into an existing static site with minimal disruption. It's deliberately not a general-purpose CMS: it does one thing, serve a blog with strong SEO output, and tries to do it well in as little code as possible.
One post = one .md file with frontmatter. No MySQL, no SQLite, no database setup. Backups are a folder copy.
The reader-facing code renders posts, builds indexes, and generates a sitemap, RSS feed, and full SEO metadata on every page.
Upload the admin folder via SFTP when you publish, remove it afterwards. No persistent admin means a drastically smaller attack surface.
The password hash, settings, and rate-limit state sit in JSON files above the public folder, structurally unreachable via HTTP.
No Bootstrap, Tailwind, React, jQuery, or webpack. Hand-written PHP, scoped CSS, minimal vanilla JS, small enough to read in one sitting.
Posts share the existing site's stylesheet so the blog matches the design, with a neutral nano.css default if the host is unstyled.
£29 one-time
Best for small studios
£69 one-time
Best value
£249 one-time
It's free under MIT. Grab it from GitHub, or buy a licence to remove the footer attribution.
Visit nanocms.co.uk