Comparison
Total CMS vs Kirby
Kirby is one of the best flat-file CMSs there is, and if its philosophy suits you it is a great choice. The question was never whether Kirby is good — it is whether plain PHP templates and a per-site licence match the way you build. Total CMS answers that differently.
Kirby details last verified
The short answer: Kirby and Total CMS are more alike than either is like WordPress. Both store content as files on disk, both need no database, both are commercial PHP software with a one-time per-domain license, and both are built by small independent teams.
The differences that actually matter are these. Kirby templates are plain PHP and its content model is defined in YAML blueprints; Total CMS templates are Twig and its content model is defined in JSON schemas. Kirby's admin Panel is a Vue single-page app; Total CMS renders its admin on the server. Kirby has a fourteen-year track record and a large, established plugin directory; Total CMS has shipped since September 2015 and puts more of its functionality in the box — including a built-in MCP server, Automations, a REST API on every edition, and Pro-tier custom schemas.
Total CMS 3.5 ships an MCP server as a first-party feature, not a plugin — connect Claude Code, Cursor, or Windsurf and your agent queries your live site's schemas, content, and exact Twig signatures directly, instead of guessing from training data. Kirby has a capable community MCP plugin, but nothing first-party yet.
If you are a PHP developer who wants no template language between you and your markup, and you value a large plugin ecosystem and a long track record, Kirby is an excellent choice. If you would rather write Twig, want your CMS legible to AI coding agents out of the box, and want scheduling and webhooks without assembling plugins, Total CMS will fit better. Both earn their place in our guide to the best flat-file CMSs, if you want the wider field.
At a glance
Total CMS vs Kirby, feature by feature
| Feature | Total CMS | Kirby |
|---|---|---|
| Content storage Neither uses a database. Kirby maps folders to pages; Total CMS stores objects in collection directories. Kirby's rich-text Blocks field stores JSON inside a text field value, so rich content is less diff-friendly than plain fields. | JSON files on disk | Text files on disk (.txt, .md optional) |
| Database required Kirby ships an optional Db class if you want to pull data from MySQL or SQLite. Total CMS has no database layer at all. | None, ever | No |
| PHP version Both track modern PHP closely. | 8.2+ | 8.2+ |
| Templating A real fork in the road, not a feature gap. Plain PHP means no new syntax and no ceiling. Twig means a smaller, safer surface you can hand to a designer without handing over code execution. | Twig 3, with 130+ custom filters and functions | Plain PHP |
| Content modeling Kirby's blueprints also drive the Panel layout per page type, including tabs, columns, and field widths. | JSON schemas | YAML blueprints |
| Admin interface | Included, server-rendered (HTMX) | Vue.js single-page app |
| License Both are proprietary, source-available software. Kirby's license converts to MIT only if no stable release ships for 365 days — a dead-man's switch, not an open-source guarantee. | Commercial, one-time, per domain | Commercial, one-time, per site and domain |
| Price Kirby's €99 Basic tier requires your (or your client's) total annual revenue or funding to be under €1 million. Total CMS tiers have no revenue test, but they do gate features — Kirby sells one feature set at both prices. | $79 Lite / $159 Standard / $359 Pro (one-time) | €99 Basic / €349 Enterprise |
| Updates included Kirby includes a longer update window. Both work the same way afterwards: your installed version keeps running, and renewing is optional. Kirby's renewal is €59 Basic / €249 Enterprise for three more years. | 2 years | 3 years |
| Free development use Kirby's development installations are free for as long as you need, provided they are not publicly accessible — they verify this at renewal. | 45-day full-feature trial | Unlimited, for non-public installs |
| REST API Total CMS's REST API is available on every edition for same-origin use; the Pro tier adds API keys so external services can authenticate. Kirby's API requires authentication on every request. | Read and write, all editions | Read and write |
| Query language Neither ships GraphQL. KQL is Kirby's official JSON query endpoint and is MIT licensed. | Collection filtering in Twig and the REST API | KQL (Kirby Query Language) |
| MCP server for AI agents Kirby does not ship a first-party MCP server; a well-regarded community plugin provides one. Both projects publish an llms.txt for agent-readable docs. | Built into the CMS (Pro) | Community plugin |
| Command-line tool | tcms, bundled | getkirby/cli, installed separately (MIT) |
| Scheduled tasks and webhooks | Built in (Automations) | Via plugins or your own code |
| Multi-language content Different approaches to the same job. Kirby keeps a separate content file per language and handles locale routing in core. Total CMS uses locale-keyed field types, so one record holds every translation — several multi-language sites run on it today. | Localized field types (Pro) | Built into core |
| Extension ecosystem Kirby's directory is considerably larger and has had far longer to grow. Total CMS's extension API is small enough that an AI coding agent can scaffold one from the starter repo, and each extension's capabilities are individually permissioned. A marketplace is planned. | Growing, with a simple extension API | A large, established plugin directory |
| Shipping since Kirby has fourteen years of continuous releases and is on version 5, with version 6 in alpha. Total CMS has shipped since September 2015, first in the Stacks ecosystem and now as a standalone PHP application. | 2015 | 2012 |
When to choose Kirby instead
Kirby is a genuinely excellent CMS, and there are cases where it is the better buy. Choose Kirby if:
- You want plain PHP templates. If a template language feels like a layer between you and your markup, Kirby has no DSL to learn and no ceiling on what a template can do.
- You want one feature set at every price. Kirby's tiers differ by who is allowed to buy them, not by what you get. Total CMS gates some features by tier.
- You build a lot of unpaid or pre-launch work. Kirby's development installations are free indefinitely as long as they stay private, which is more generous than a 45-day trial.
- You are a student, educator, or non-profit. Kirby gives free licences to students and academic staff, and discounts or free licences to non-profits.
- You want the deepest documentation and the longest track record. Fourteen years, five major versions, over a thousand documentation pages, and a published register of every past security advisory with severity scores — a rare and genuinely admirable practice.
When Total CMS fits better
Total CMS is the better fit when:
- You would rather write Twig than PHP. Templates are a constrained, readable surface you can hand to a designer without handing over arbitrary code execution — with 130+ custom filters and functions on top of stock Twig.
- You want the REST API without an upgrade. Total CMS's API reads and writes on every edition for same-origin use; Pro adds API keys for external services.
- You want AI agents working on the site. A first-party MCP server exposes your collections and schemas to agents over OAuth, and an agent skill plus Cursor rules install with the package. Kirby's MCP server is a community plugin.
- You want scheduling and webhooks in the box. Automations handle cron-style schedules, incoming webhooks, and content events without assembling plugins.
- You want pages without a build step. Add a page in the Site Builder and it routes immediately — nothing to regenerate or deploy.
- Your client's revenue disqualifies the cheaper tier elsewhere. Total CMS Lite is $79 with no revenue test attached; Kirby's €99 tier requires your client to be under €1 million.
FAQ
Common questions
Are Total CMS and Kirby basically the same thing?
Architecturally they are close cousins: both are commercial, flat-file, no-database PHP content management systems with a one-time per-domain license. The practical differences are the templating language (Twig versus plain PHP), the content modelling format (JSON schemas versus YAML blueprints), the admin architecture (server-rendered versus a Vue single-page app), and how much ships in the box versus through plugins.
Which one is cheaper?
It depends on the tier and the project. Total CMS Lite is $79 against Kirby Basic at €99, and Lite already includes the REST API for same-origin use — custom schemas and API keys for external integration are what the Pro tier adds. Kirby Basic includes every Kirby feature at its price, so it is the more generous entry tier. At the top end they are close: Total CMS Pro is $359 and Kirby Enterprise is €349, and Kirby includes three years of updates against two for Total CMS. Compare the tier you would actually buy, not the headline price.
Do both really work without a database?
Yes. Both store content as files on disk and need no database server to run. Kirby additionally ships an optional class for reading from MySQL or SQLite if you want to pull in external data; Total CMS has no database layer at all.
Can I migrate from Kirby to Total CMS?
There is no automated Kirby importer today. Total CMS ships importers for Total CMS 1, Alloy, WordPress, CSV, JSON, RSS, and URLs. Because Kirby content is plain text in predictable folders, exporting it to CSV or JSON and importing that is usually straightforward, but expect to script the export yourself.
Is either one open source?
No. Both are proprietary, source-available commercial software that requires a paid license for production use. Kirby's license does include a clause converting its code to MIT if no stable release ships for a full year, which is a safeguard against abandonment rather than an open-source licence.
Which is better for working with AI coding agents?
Both publish an llms.txt so agents can read their documentation. Total CMS goes further by shipping a built-in MCP server that lets an agent query a live site's collections and schemas directly, plus an agent skill and Cursor rules installed with the package. Kirby has a capable community MCP plugin, but it is not first-party.
Other comparisons
- Total CMS vs Statamic Statamic is excellent, and if your team already lives in Laravel it is probably the natural pick. The real question is whether you want a CMS with a framework attached — because that is the trade, and it cuts both ways.
- Total CMS vs Grav Grav is free, fast, MIT licensed and genuinely well built. If budget decides this, go and use it — you will not be cutting corners. What is left to compare is not capability but how much you want to assemble yourself.
- Total CMS vs WordPress WordPress runs 41% of the web and it earned that. This is not a page about WordPress being bad — its core is well built and its ecosystem is unmatched. It is about what you sign up to maintain, and whether that trade suits the site you are building.
- Total CMS vs Craft CMS Craft is a genuinely good CMS with a free tier we cannot match. It is also the closest thing to Total CMS on this site — same language, same templating, same kind of structured content modelling. Which leaves one real question: should your content live in a database?
- Total CMS vs Webflow Webflow's designer is the best visual building tool there is, and nothing here replaces it. But two questions are worth asking before you commit a client's site to it: what can you actually take with you, and who is Webflow building for now?
- Total CMS vs Squarespace Squarespace is very good at what it does, and for a lot of people reading this it is the right answer. This page is not an argument that you should leave it. It is about what happens if you ever want to.
Related guides
- Hosted vs self-hosted Before you choose between Squarespace and Webflow, or between Kirby and Craft, there is a bigger question underneath: do you want to rent a website platform or own the software that runs it? Here is how to decide, from someone with an obvious stake in the answer.
- The best flat-file CMS in 2026 Five flat-file content management systems worth your time, what each is genuinely good at, and where each one will frustrate you. Written by the makers of one of them — which is exactly why every entry lists real tradeoffs.
- A PHP CMS without a database Running a CMS with no MySQL sounds like a corner-cutting exercise. It isn't — but it does involve real tradeoffs, and it helps to know them before you commit a client project to one.
- WordPress alternatives for freelancers If you build client sites for a living, the CMS decision is really a decision about the next three years of your evenings. Here are the serious alternatives, judged on the things that actually affect a freelance business.
Try Total CMS free for 45 days
No credit card required. Full Pro features, running on your own server.
Kirby details verified on . Software changes — check Kirby's own site for their current details.
Sources
Kirby details verified from primary sources on 25 July 2026:
- getkirby.com/buy — pricing, tiers, revenue threshold, update window, renewal pricing, education and non-profit programs
- getkirby.com/license — license scope, development installations, MIT fallback clause
- getkirby.com/docs/guide/database — flat-file storage and the optional Db class
- getkirby.com/docs/guide/templates/basics — PHP templating
- getkirby.com/docs/guide/blueprints/introduction — YAML blueprints
- getkirby.com/docs/guide/api/introduction — REST API and the Vue Panel
- github.com/getkirby/kql — Kirby Query Language
- github.com/getkirby/cli — the Kirby CLI
- getkirby.com/security.json — version history, PHP support matrix, security advisories
- plugins.getkirby.com — plugin directory
Kirby is a trademark of its respective owner. We have no affiliation with Kirby, and we have tried hard to represent it accurately. If anything here is wrong or out of date, tell us and we will correct it.