Headless CMS platforms, compared on what they really cost
55 platforms, researched from their own pricing pages and their own LICENSE files rather than their marketing. What each one charges once your team grows, where it actually runs, whether you can host it yourself, and which licence you are really agreeing to.
- 55
- platforms reviewed
- 26
- genuinely open source
- 32
- you can self-host
- 50
- usable free
Every platform, filtered by how it runs
Filters are on the left. Hosting is the one worth starting with, because it decides who carries the operations and that is harder to change later than any feature.
All 55 headless CMS platforms below were checked against their own pricing pages and, where the code is public, their own LICENSE files rather than a comparison post. Two of the headless CMS options here are described as open source almost everywhere and are not, which is the kind of thing only the licence file tells you.
Showing 16 of 55 platforms
Payload
FeaturedBest for Next.js teams who want to own the database
A MIT-licensed CMS that installs into your Next.js app rather than sitting beside it. Config is TypeScript, the admin panel is generated from it, and the database is yours.
- Runs inside your Next.js app, same repo and same deploy
- Postgres, MongoDB or SQLite, your instance
- Admin UI generated from a TypeScript config
- Next.js
- React
- GraphQL API
- TypeScript / Next.js
Best for structured content at scale
The structured-content platform behind a large share of serious Next.js marketing sites. You build the editing Studio as React code in your own repository; Sanity hosts the content and serves it over GROQ.
- GROQ query language, plus a GraphQL API you deploy per dataset
- Studio is React code in your repo, not a hosted form builder
- Image CDN with on-the-fly transforms and hotspot cropping
- Next.js
- React
- Vue / Nuxt
- TypeScript / React (Studio)
Best for enterprise governance
The enterprise default, and a Salesforce company since September 2026. Mature APIs, serious governance and localisation, EU data residency, and a pricing model that jumps from free to $300 a month with nothing in between.
- Content Delivery, Preview, Management and GraphQL APIs
- Environments and environment aliases for safe schema changes
- Deep localisation and role-based governance
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Best visual editing
The visual editor everyone else copies, wrapped around a component-based content model. Metered on seats, traffic, API calls, locales and AI credits, with a 97% uptime SLA on the self-serve tiers.
- Real visual editing against your own live front end
- Content Delivery, Management and GraphQL APIs
- Image Service with on-the-fly transformation
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Best known open source option
The best-known open-source headless CMS, self-hostable and Node-based. The MIT grant is narrower than everyone assumes: having a Strapi Cloud account is one of the things that voids it.
- Self-hostable Node.js CMS with an admin panel non-developers can use
- Auto-generated REST and GraphQL APIs from your content types
- Role-based permissions and a plugin ecosystem
- Next.js
- React
- Vue / Nuxt
- JavaScript / Node.js
Best for an existing SQL database
Wraps any existing SQL database in a REST and GraphQL API plus an admin app. Not open source, but free and fully permissive for organisations under $5m revenue and 50 staff.
- Points at an existing SQL database rather than owning one
- REST, GraphQL and realtime APIs generated from your schema
- Flows for automation, and a vendor MCP server
- Next.js
- React
- Vue / Nuxt
- TypeScript / Node.js
Best for publishing and newsletters
A publishing platform with memberships and newsletters built in, MIT licensed and genuinely self-hostable. Excellent at articles, deliberately narrow at everything else.
- Content API and Admin API over a real publishing model
- Memberships, paid subscriptions and email newsletters in core
- MIT licensed, self-host with no vendor limits
- Next.js
- React
- Astro
- JavaScript / Node.js
Best pay-for-what-you-use pricing
A GraphQL-first hosted CMS with an imgix-backed asset pipeline and the most granular pricing here. Ten separate meters, each with a published add-on rate.
- GraphQL Content Delivery API with responsive image variants
- Real-time Updates API for live edit overlays
- Asset API backed by imgix transformations
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Best for content federation
GraphQL-native from the start, and the only platform here treating content federation as a first-class feature. Growth is $199/mo and caps you at 10,000 entries.
- GraphQL-first content API with a visual Schema Builder
- Content federation: stitch remote sources into one API
- Components, live preview and assignment workflows
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Cheapest realistic paid entry
Slice-based page building with a realistic paid entry at $10 a month. Priced per repository and metered on locales, which is the axis that has caught customers out before.
- Slices: reusable page sections editors compose themselves
- Visual Page Builder with unlimited documents on every tier
- 4 million API calls a month even on the free plan
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Best for marketer-built landing pages
A visual CMS that has become an AI development platform. Metered in Agent Credits and priced per user, with the drag-and-drop page building still underneath.
- Visual drag-and-drop editing against your own components
- Agent Credits as the primary meter, not documents or calls
- Built-in MCP servers on Pro, custom ones on Team
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Best for Laravel teams
A Laravel-native CMS with a perpetual $349-per-site licence rather than a subscription. Headless mode, the REST API and GraphQL are all Pro features, so the free edition cannot be used headlessly.
- Built on Laravel, flat-file or database content
- Blueprints and 40+ fieldtypes for content modelling
- REST and GraphQL APIs, on the Pro licence only
- REST API
- GraphQL API
- Next.js
- PHP / Laravel
Best git-backed visual editing
Visual editing on top of Markdown and JSON in your own Git repository, Apache-2.0 licensed. The content stays in your repo whether or not you keep paying.
- Content lives as Markdown or JSON in your Git repo
- Visual editing against your live front end
- Apache-2.0, with a self-hostable backend
- Next.js
- React
- Astro
- TypeScript / Node.js
Free git-based editing
A free, MIT-licensed admin panel that commits Markdown to your Git repository. Abandoned as Netlify CMS, handed to new maintainers, and shipping releases again.
- Content committed as Markdown to your own Git repo
- MIT licensed with no paid tier at all
- A single-page admin app you host yourself
- React
- Next.js
- Astro
- JavaScript / React
Familiar editor, existing content
GPL software your client already knows how to use, with a REST API in core and GraphQL via a plugin. Nobody can reprice it, and nobody is maintaining it for you either.
- REST API in core since 4.7, GraphQL via WPGraphQL
- GPLv2 or later, so no vendor can change the terms
- An editor most clients have already been trained on
- Next.js
- React
- Vue / Nuxt
- PHP
Best for structured PHP sites
A PHP CMS whose GraphQL API ships in the free edition, so headless Craft is priced by logins rather than traffic. Own a one-off licence or rent it inside Craft Cloud, while Craft 6 moves onto Laravel.
- GraphQL API in every edition, including free Solo
- Paid editions priced by logins: $279 or $399 once
- Craft Cloud bundles the licence into hosting
- Next.js
- React
- Vue / Nuxt
- PHP / Yii 2 (Craft 5); Laravel in Craft 6
Best for content and customer data on one contract
A hosted headless CMS sold inside an agentic experience platform with a CDP and AI agents attached. No price is published, and the legal Services Description caps Explorer stacks at 200 entries.
- Delivery, GraphQL and Management APIs in 7 cloud regions
- Visual Editor, Timeline preview, branches and workflows
- Lytics CDP, personalisation and Agent OS on one contract
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS (AWS, Azure or Google Cloud)
Best for governed, multi-brand content operations
Formerly Kentico Kontent, a hosted headless CMS built around editorial workflow, governance and compliance. Its pricing calculator returns a volume discount rather than a price, and every plan is quoted.
- Delivery REST, GraphQL, Sync and Management APIs
- Workflows, spaces, collections and Mission Control
- Data centres in the US, Netherlands, Australia and Canada
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS (Microsoft Azure regions)
Code-first GraphQL backend
A code-first headless CMS and GraphQL backend. You define the schema in TypeScript and get a Prisma-backed database, a typed GraphQL API and an admin UI generated from it.
- Schema defined in TypeScript, admin UI generated from it
- Typed GraphQL API with fine-grained access control
- Prisma under the hood, Postgres or SQLite
- React
- Next.js
- GraphQL API
- TypeScript / Node.js
Best for your own AWS account
An open-source CMS that deploys into your own AWS account as serverless infrastructure. You get multi-tenancy and enterprise features while the data never leaves your cloud.
- Deploys into your own AWS account, serverless
- Multi-tenancy and multi-locale built in
- Headless CMS plus a page builder and form builder
- React
- Next.js
- GraphQL API
- TypeScript / Node.js on AWS Lambda
Free to start
A straightforward hosted CMS with clean REST and GraphQL APIs, AI content tooling and pricing that starts at $49. Deliberately simple rather than deep.
- REST and GraphQL APIs with good SDKs
- AI content generation included on every tier
- Free tier with 1,000 objects and 2 members
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Best for adding a blog to an existing app
A hosted pages-and-blog CMS owned by Tiugo Technologies since 2022. Unlimited users on every plan and pricing by content counts, but the Write API and webhooks are add-ons from Advanced and locales start on Professional.
- Page Types, Collections, Components and a fixed-schema blog engine
- Unlimited users on every plan, metered on calls and content counts
- Write API and webhooks sold as add-ons from the Advanced plan
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS (Heroku and AWS)
Free to start
A fast GraphQL CMS built for agencies, with multi-project management and a genuinely generous free tier at 5,000 entries and a million API calls.
- GraphQL API with a fast query layer
- Blueprint-based content modelling
- Free tier with 3 users and 5,000 entries
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Open source, self-hosted
A BSD-licensed Django CMS from Torchbox with no paid edition. Headless runs on a stable read-only API, while the write API added in 8.0 is still a preview. The real cost is Django engineering.
- Django app with StreamField blocks on your own models
- Stable read-only v2 API, plus a v3 write API in preview
- BSD-3 licence with every feature free, no edition split
- REST API
- GraphQL API
- Next.js
- Python / Django
Proprietary
Umbraco's hosted headless CMS, still sold from €60 a month, while Umbraco's own headless work has moved to the free CMS Delivery API and to Compose. GraphQL without a server to run is what it still adds.
- Hosted Umbraco backoffice with REST and GraphQL delivery APIs
- Cloudflare CDN and a media crop and resize service on every plan
- Webhooks, Forms and the Preview API from Standard at €300/mo
- GraphQL API
- REST API
- Hosted SaaS (.NET on Microsoft Azure)
Best for design-led React landing pages
A visual React page builder with a built-in CMS that is unlimited on every plan, free included. Open source since 2023 (MIT runtime, AGPL Studio), with the editor guardrail role and localisation reserved for Scale.
- Visual Studio for React, loaded headlessly or generated as code
- Built-in CMS with unlimited models and entries on every plan
- Content creator mode and localisation from Scale, $399/mo yearly
- Next.js
- React
- REST API
- TypeScript / Node.js (Studio); React loaders
Free to start
A headless CMS with product information management and ecommerce in the same GraphQL API. Built for catalogue-driven commerce rather than general content.
- PIM, CMS and ecommerce in one GraphQL API
- Product catalogue modelling as a first-class concept
- Free tier with 100 items and 25 orders a month
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Free to start
A page-management-first headless CMS with unlimited content models, API requests and locales on every plan. Aimed at marketing teams that want sitemap-aware page structures.
- Page management and sitemap structure, not just content
- Unlimited content models, API requests and locales
- Digital asset management included
- Next.js
- React
- Svelte / SvelteKit
- Hosted SaaS
Best for portfolios of static sites
A git-based visual editor and static host billed per organisation, not per site. In-place editing needs CloudCannon to run the build, and there is no content delivery API.
- Visual editing on the built page via Editable Regions
- Hosting, builds, forms and CDN on every plan
- Unlimited sites; users are the meter at $10/mo
- Astro
- Svelte / SvelteKit
- React
- Hosted SaaS over Git
Open source, self-hosted
A fully MIT-licensed .NET headless CMS built on event sourcing, with a cheap managed cloud in euros and a genuinely free self-hosted option.
- 100% MIT licensed with no feature gating
- Event-sourced, so full content history is inherent
- REST and GraphQL out of the box
- GraphQL API
- REST API
- React
- C# / .NET
Best for governed multi-site estates
A Java CMS that serves headless APIs and visual page editing from one multi-site instance. Source-available under BSL 1.1, and free in production only while the largest of your revenue, budget or funding stays at or below $5m.
- Universal Visual Editor for headless front ends
- REST, GraphQL and a Page API from one instance
- Free at or under $5m Total Finances, all features
- Next.js
- React
- Astro
- Java / Tomcat
Best when product data is the project
A Symfony data platform whose CMS shares one model with PIM, DAM and MDM. Datahub GraphQL is free, but only for organisations at or under EUR 5 million in revenue; above that, editions start at $9,900 a year.
- PIM, MDM, DAM and CMS on one data model
- Datahub GraphQL in the free Community edition
- Free in production only under EUR 5m revenue
- GraphQL API
- REST API
- PHP 8.5 / Symfony 7
Open source, self-hosted
A Java DXP whose GPLv3 Community Edition is still maintained and serves REST delivery endpoints for free, though the marketing site never mentions it. DX Core starts at $3,500 a month for GraphQL, multisite and extra public instances.
- Community Edition under GPLv3, REST delivery endpoints included
- Visual SPA Editor for React, Vue and Angular front ends
- GraphQL, multisite and SSO in DX Core and DX Cloud
- REST API
- GraphQL API
- React
- Java (Jakarta EE 10, Java 17, 21 or 25)
Proprietary
Enterprise headless and hybrid CMS inside a wider commerce and personalisation suite, aimed at multi-brand, multi-language organisations. Quote-only.
- Headless and hybrid delivery at enterprise scale
- AI content optimisation via Loomi
- Multi-brand and multi-language governance
- REST API
- GraphQL API
- React
- Java
Best for retailers with heavy campaign calendars
A commerce content platform priced on visits, with delivery API calls unmetered. The trade is a narrow query model declared in the schema, and no public price for any product.
- Dynamic Content CMS, Content Hub DAM and Dynamic Media
- Priced on visits; delivery API calls are unmetered
- Connectors for SFCC, commercetools, Shopify, BigCommerce
- REST API
- GraphQL API
- React
- Hosted SaaS
Open source, self-hosted
A GPL-3.0 Java content platform from Norway with headless APIs and a visual page editor, aimed at public sector and larger organisations.
- GPL-3.0 licensed and self-hostable
- Headless APIs plus a visual page editor
- Built-in search on Elasticsearch
- REST API
- GraphQL API
- React
- Java
Open source, self-hosted
A .NET content services platform with granular permissions and enterprise document management, exposed through a headless API.
- Fine-grained permissions down to the item level
- Document management alongside web content
- OData REST API for headless delivery
- REST API
- React
- C# / .NET
Open source, self-hosted
An Apache-2.0 Java headless CMS with a document-oriented store, GraphQL and a permission model built for multi-project content APIs.
- Apache-2.0 licensed, fully open source
- GraphQL and REST out of the box
- Document-oriented content store with versioning
- GraphQL API
- REST API
- React
- Java
Open source, self-hosted
A Node.js CMS with in-context visual editing and an MIT-licensed core, plus a hosted Pro tier and a multi-site product for agencies.
- In-context editing directly on the rendered page
- MIT-licensed core, free to self-host
- Pro at $199/mo, multi-site Assembly at $499/mo
- REST API
- Next.js
- React
- JavaScript / Node.js
Open source, self-hosted
A BSD-3 licensed modular ASP.NET Core application framework and CMS, with multi-tenancy built in and GraphQL for headless delivery.
- Modular ASP.NET Core framework, not just a CMS
- Multi-tenancy as a core capability
- GraphQL API for headless use
- GraphQL API
- REST API
- React
- C# / ASP.NET Core
Open source, self-hosted
A TypeScript-first CMS that keeps content in your repository and generates fully typed queries. Schema in code, content in git, no backend to run.
- Content stored in your git repository
- Fully typed schema and queries in TypeScript
- No separate backend service required
- Next.js
- React
- TypeScript
Open source, self-hosted
An Apache-2.0 TypeScript backend with a GraphQL API and a React admin you build yourself, aimed at teams that want a headless CMS shaped like an application.
- Apache-2.0 licensed engine
- GraphQL API generated from a TypeScript schema
- Admin UI assembled from React components
- React
- Next.js
- GraphQL API
- TypeScript / Node.js
Open source, self-hosted
A free, MIT-licensed Git-based CMS written as a successor to Decap. Most Decap configs switch with one script tag, but Bitbucket, Azure DevOps and Git Gateway sites cannot. Still a pre-1.0 beta with one maintainer.
- Reads Decap and Netlify CMS config: swap one script tag
- GitHub, GitLab and Gitea or Forgejo backends only
- First-class i18n with built-in AI translation on your own key
- Astro
- Next.js
- Svelte / SvelteKit
- JavaScript / Svelte, runs entirely in the browser
Open source, self-hosted
An open-source CMS for GitHub-hosted static sites that needs no install at all: authorise the hosted app against your repo and start editing.
- No install: authorise the hosted app against a GitHub repo
- Content committed directly to your repository
- Configured with a single YAML file
- Astro
- Next.js
- React
- TypeScript / Next.js
Open source, self-hosted
An Apache-2.0 TypeScript tool that turns multiple existing data sources into one GraphQL API with a generated admin UI. A CMS-shaped layer over data you already have.
- One GraphQL API across several existing data sources
- Generated admin UI over whatever you connect
- Apache-2.0 licensed and self-hosted
- GraphQL API
- React
- Next.js
- TypeScript / Node.js
Open source, self-hosted
A CMS that lives inside VS Code. Content stays as Markdown in your repo and the editing interface is an editor panel, which suits developer-authored sites.
- Runs as a VS Code extension, no separate app
- Markdown and front matter in your own repo
- Content dashboard, media library and SEO checks
- Astro
- Next.js
- React
- TypeScript / VS Code
Open source, self-hosted
A git-based CMS with an MIT-licensed core, an official MCP server and cloud tiers starting at $9 a month. Content stays in your repository as JSON.
- Git-based: content as JSON in your repository
- MIT-licensed CLI, SDK and MCP packages
- Official MCP server for AI clients
- Next.js
- React
- Vue / Nuxt
- TypeScript / Node.js
Open source, self-hosted
A desktop application that generates a static site and uploads it. No server, no database, no hosting account required beyond somewhere to put files.
- Desktop app for Windows, macOS and Linux
- Generates a static site and deploys it for you
- No server or database anywhere in the stack
- REST API
- Electron desktop app
Free to start
Visual editing built entirely from your own React components, defined in code as bricks. The design system stays authoritative and editors compose within it.
- Content blocks are React components you write
- Visual editing constrained by your design system
- Free tier with 1 user and up to 60 pages
- React
- Next.js
- Hosted SaaS
Open source, self-hosted
A small, self-hosted PHP headless CMS that adds content management to any project without imposing structure. MIT licensed and deliberately minimal.
- Runs on plain PHP with no heavy framework
- REST API and GraphQL for content delivery
- MIT licensed core
- REST API
- GraphQL API
- Vue / Nuxt
- PHP
Free to start
A hosted headless CMS with generated, typed SDKs and an OpenAPI schema per project. Free tier with 1,000 objects, paid from $37 a month.
- OpenAPI schema and generated SDKs per project
- REST and GraphQL content APIs
- Free tier with 2 members and 1,000 objects
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Free to start
A Japanese hosted headless CMS with a clean API and a free tier at 10,000 content entries. Widely used in Japan and increasingly outside it.
- Simple REST content API with good SDKs
- Free Hobby tier with 3 members and 10,000 entries
- Content review and approval on higher tiers
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Free to start
A Dutch headless CMS with personalisation and A/B testing built into the content layer rather than bolted on at the front end.
- Personalisation and A/B testing in the CMS itself
- REST and GraphQL content APIs
- Free Community tier with 3 users
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Free to start
A hybrid headless CMS with hosting and a CDN included, aimed at mid-market and enterprise marketing teams. Free community tier, then a steep step to $475 a month.
- Hybrid: headless APIs plus built-in hosting and CDN
- Free community tier with 1 user
- Instant content deployment across environments
- Next.js
- React
- Vue / Nuxt
- Hosted SaaS
Free to start
A React-based SaaS CMS, now part of JustRelate's Web Builder, with in-place WYSIWYG editing and serverless delivery. Priced per content object and per editor.
- WYSIWYG editing directly on React components
- Serverless delivery over a global CDN
- Free Developer plan for non-commercial use
- React
- Next.js
- REST API
- Hosted SaaS
The six most-used, compared
Our featured pick leads. Every value below derives from the same fields as the cards above, so the table cannot disagree with them.
The headless CMS features that end up mattering are rarely the ones on a vendor's homepage. Visual editing, localisation and workflow separate these six far more than API design does, and the headless CMS solutions that win a shortlist usually win it on the editor's experience rather than the developer's.
Entry prices are the cheapest published route to a working install, read from each vendor's own pricing page in August 2026. Licences were read from each repository's LICENSE file. Both move, so confirm before you budget.
How to choose between headless CMS platforms
Six things that decide whether a platform fits, in the order they usually bite. Every figure below is computed from the directory above.
Be specific about which benefit you are buying
The headless CMS benefits people list in the abstract, meaning speed, flexibility and omnichannel delivery, are all real and none of them is why a particular team should switch. Decoupling buys you one concrete thing: the CMS stops deciding how your pages are rendered. Everything else follows from that, and so does the entire cost, because you now own the front end that used to come free.
If your current problem is that editors cannot ship a landing page without a developer, decoupling makes that worse, not better, unless you also buy visual editing. Only 22 of the 55 platforms here carry it.
Where it runs decides who carries the risk
34 of these are managed SaaS, where the vendor owns uptime, scaling and the rate limits you live inside. 32can be run on your own infrastructure, which moves all three onto your team and removes them from someone else's pricing page. 6 store content in a git repository instead of a database, which makes review and rollback free and concurrent editing hard.
There is no right answer, but there is a wrong process: picking on features and discovering the hosting model afterwards. It is the first filter for a reason.
Read the licence, not the marketing
26 of the 55 platforms here ship under a genuine open-source licence. Another 5 are source-available, which is a different thing: you can read and usually modify the code, but the licence restricts what you may do with it commercially.
This is not academic. Directus moved to the Monospace Sustainable Core License in 2026 and is still widely described as open source. dotCMS is free in production only while your total finances, the largest of revenue, budget or funding, stay at or below $5m over twelve months. Both facts come from the LICENSE file, not the homepage.
Model the price on your team, not your traffic
50 of the 55 can be run at no cost, either through a real free tier or an open-source licence you self-host. At the other end, several require four-figure monthly commitments before publishing a page.
The trap is the billing axis. Seats, records, API calls, locales and environments are all metered by somebody here, and the one that bites is rarely the one on the comparison page you read.
Select a band to see which of the 55 platforms sit in it. Several span more than one, so the counts add up to more than 55.
Check the API shape against your stack
39 of the 55 expose GraphQL and 48 ship a first-party Next.js toolkit, but the two lists are not the same and the gaps matter. A GraphQL-only platform is a hard blocker for a service that cannot speak it, and a REST-only platform will over-fetch on every page unless you build a layer to stop it.
If localisation is in scope, check it early rather than late: 47 platforms carry it, and among those the difference between field-level translation and a separate copy of the site is enormous.
Ask what the exit looks like
Every platform here will export your content. What none of them export is the query language, the rich-text format and the front-end code shaped around them. That is the real switching cost, and it is measured in weeks of engineering rather than in a data migration.
One new signal worth noting: 13 of these vendors now ship their own Model Context Protocol server, which lets an AI client read and write content directly. Favour platforms whose content model you could describe to a new developer in ten minutes. That is usually the same list as the ones you can leave.
What changes for SEO when you go headless
Going headless does not help or hurt rankings by itself. What it does is move five specific responsibilities from a plugin to your codebase, and headless CMS SEO problems are almost always one of those five being nobody's job.
We have shipped all five wrong at least once, including on this site. The streaming-metadata one below took a Screaming Frog crawl reporting missing titles on roughly one page in eight to find.
Talk through your migration- 01
Nothing renders your metadata any more
In a coupled CMS, a plugin writes the title, description, canonical and Open Graph tags into the page. Decouple, and that plugin is still storing those fields but nothing is emitting them. This is the single most common way a headless migration loses rankings, and it is invisible in the CMS because the fields still look filled in.
What to doQuery the SEO fields explicitly and emit them from the framework's own metadata API. Then diff the rendered <head> of ten old URLs against ten new ones before cutover.
- 02
You now choose the rendering mode, and it shows
Static, incrementally revalidated, streamed and fully dynamic all produce different time to first byte and different behaviour for crawlers that do not execute JavaScript. A CMS cannot make that choice for you once it is headless, so it becomes a decision somebody has to make deliberately per route.
What to doPrerender anything with organic intent. Reserve dynamic rendering for pages behind a login, where crawlers are not going anyway.
- 03
Async metadata can land in the body
Next.js streams metadata on dynamically rendered routes, which means </head> can flush before an async CMS query resolves and the title and canonical get emitted into <body> instead. It only fails for user agents outside the framework's html-limited-bots list, which excludes Screaming Frog, Ahrefs, Semrush and the AI crawlers. It is intermittent, so a crawl catches a different page every run.
What to doPrerender the route. Buffered HTML has a complete head by construction, which fixes the race rather than papering over it.
- 04
Sitemaps and redirects become your code
The CMS used to generate the sitemap and honour the redirect table. Headless, both are files or route handlers in your repository, and neither fails loudly when it drifts. A missing redirect map at cutover is how a migration loses the equity of every URL it changes.
What to doGenerate the sitemap from the same query that lists published content, and hold redirects in code so they are reviewed like code.
- 05
Structured data has to come from somewhere
Article, FAQPage, BreadcrumbList and Product markup were plugin output before. Now they are your responsibility, which is an improvement, because you can emit exactly what is on the page rather than what a plugin guesses. It is only an improvement if somebody actually does it.
What to doBuild the schema from the same fields the page renders, so markup and content cannot disagree, and validate the prerendered HTML rather than the preview.
What developers actually say
Real, unedited comments from r/webdev, r/nextjs, r/cms, r/PayloadCMS and r/Strapi on picking one, migrating to it, what it cost and what it is like to edit in. Every card links to the original.
Comments are quoted from public Reddit threads and belong to their authors. Opinions are their own, shared here for context, not endorsements.
What teams actually build
Each tile filters the directory to the platforms that fit.
Most headless CMS examples you find online are a blog with three posts, which proves nothing about the decision. These are the six shapes that actually recur, and the count on each tile is computed from the directory rather than asserted.
The first two tiles look like one question and are not. People searching nextjs headless cms are usually choosing how pages get rendered and who owns the metadata; people searching react headless cms are usually building an application and care about typed clients and what a server component can call. The shortlists overlap, the deciding criteria do not.
A Next.js marketing site
48The most common build in this directory. Static or streamed rendering, a content model you control, and metadata that stays entirely yours rather than being emitted by a plugin you have to remember to query.
See the 48A React app with content in it
49Where the site is really an application. What matters is typed clients and an API you can call from a server component, not a page builder that wants to own the routing.
See the 49Marketers who ship without you
22Visual editing against a live preview, so a landing page does not need a developer or a deploy. The single biggest reason a CMS migration succeeds or quietly fails.
See the 22Content you have to host yourself
32Data residency, procurement policy or plain preference. These run on your own infrastructure, with your own database and your own backups.
See the 32Content in the repository
6Git-based platforms keep content as files alongside the code, so review, history and rollback are the tools you already use. Excellent for docs, awkward past a few thousand entries.
See the 6A build with no budget
50Either a free tier large enough for production or an open-source licence you can self-host. More of this directory qualifies than most people expect.
See the 50What a migration actually takes
A headless CMS implementation for a normal marketing site is about four weeks of work, and roughly a third of it is not the CMS at all. These are the stages in the order they bite, with what each one should actually produce. Treat the weeks as the shape rather than the quote: a site with three page types and one editor is faster, and a multi-brand estate with 4,000 URLs is not.
- 01Week 1
Model the content, not the pages
The first mistake is modelling what the current site looks like instead of what the content is. Get this wrong and every future page type is a schema migration.
- Content types
- 6 to 12
- Reference graph
- drawn
- Reviewed by
- editors
- 02Weeks 1 to 2
Migrate the content, with the URLs
Content moves through a script, not by hand, so it can be run twice. The redirect map is built in the same pass, because the old URL is only knowable while you still have the old system.
- Import script
- idempotent
- Redirect map
- 1:1
- Dry run
- before cutover
- 03Weeks 2 to 3
Build the front end and the head
Templates, components and the metadata layer together. The metadata is not a finishing task: titles, canonicals, sitemap and structured data are wired as each template is built, not audited afterwards.
- Prerendered routes
- all indexable
- Metadata source
- CMS fields
- Schema
- from the same data
- 04Week 3
Hand it to the editors before launch
The migration that fails is the one where editors first use the CMS the week after go-live. Give them the real thing with the real content and fix what they trip over while it is still cheap.
- Editor session
- recorded
- Fields renamed
- usually several
- Preview
- working
- 05Week 4
Cut over and watch the crawl
Redirects live, sitemap submitted, then a full crawl of the new site compared against a crawl of the old one. Rankings move for a fortnight either way; missing titles do not fix themselves.
- Crawl diff
- old vs new
- Head check
- title, canonical
- Search Console
- resubmitted
How we picked, and what we checked
This is a shortlist, not a census. We started from the platforms that actually come up when engineering and marketing teams pick one, then cut it to the ones with public documentation and a callable API. Nobody can tell you the best headless CMS in the abstract, because the answer changes with who is editing and who is on call, so the headless CMS platforms here are sorted by the constraints that decide it rather than ranked.
Every price was read from the vendor's own pricing page in August 2026, not from a comparison article. Where a vendor publishes no public rate, we say so rather than repeating a number from somebody's negotiated deal. 3 of the 55 publish nothing at all.
Licences were read from each repository's LICENSE file rather than from the marketing site. That is how Directus, dotCMS, Craft, Statamic and Pimcore ended up classified the way they are, and it is the single most common thing comparison posts get wrong.
No affiliate links and no paid placements. Nobody here pays to be listed, to be featured, or to rank higher in the directory. Outbound links carry nofollow and we earn nothing if you sign up.
Our featured pick is what we run ourselves. busyless.space is a Next.js app with Payload installed into it, and Payload is the platform we feature. State the obvious: that is a conflict, and you should read the review knowing it. The order it happened in was that we picked it for our own site, lived with it, and the recommendation followed. Nobody paid for it.
One more thing to weigh while you read it: Payload has been owned by Figma since 17 June 2025. Figma says Payload “will remain an open-source product” and that it will keep investing in the core, and an MIT licence on code already published cannot be withdrawn, which is the practical protection. It is still a larger company behind the badge than there was when we chose it, and no acquirer has ever promised a roadmap forever.
The honest counterweight is that the reason it suits us is not a reason it will suit you. We have developers, so running a database is a cost we already carry. If you do not, Sanity is the better answer and the one we recommend most often to clients, whatever the badge on this page says.
No invented ratings. We publish no star rating and no aggregate score. The scorecard on our featured review is an editorial read across six dimensions and it stays out of the page's structured data. Reddit comments are quoted for context and linked to the original, never restated as fact.
FAQ
Questions we get
What is a headless CMS?
A content system that stores and serves content through an API and does not render your pages. You model the content, editors fill it in, and your own front end decides how it is displayed. The trade is that you gain complete control of rendering and lose the templates that used to come with the CMS.Which one should I choose?
Start with where it has to run, because that is the constraint you cannot engineer around. If it must be your own infrastructure, Payload is our featured pick and you are otherwise choosing between Strapi, Directus and the other self-hostable options. If a vendor can host it, Sanity is the strongest option for structured content, Storyblok for marketing teams who need visual editing, and Contentful when governance and procurement decide.Is there a genuinely free option?
Several, and they split into two kinds. Open-source tools like Payload, Strapi, Keystone and Wagtail are free forever if you run them yourself, so you pay for hosting instead of licences. Hosted platforms with real free tiers include Sanity at 20 seats and 10,000 documents, Prismic with unlimited documents and 4 million API calls, and Hygraph at 3 seats and 500,000 calls.Which ones work with Next.js?
Most of them, and the list is long enough that it should not be your deciding filter. What actually varies is the quality of the integration: whether draft mode and tag-based revalidation are supported, whether there is a first-party toolkit, and whether visual editing works against a live preview. Sanity, Storyblok, Payload, Contentful and Prismic are the strongest on that axis.Open source or hosted?
It is a question about who carries the operations, not about the software. Self-hosting means your database, your backups, your upgrades and your uptime, in exchange for no seat limits, no request metering and no pricing changes. Hosted means a vendor takes all of that and prices it. Teams without a developer who will own infrastructure should not self-host, whatever the licence says.Does going headless help SEO?
Not by itself. It moves responsibility for titles, canonicals, sitemaps, redirects and structured data out of a plugin and into your codebase. Done deliberately that is an improvement, because you emit exactly what is on the page. Done by accident it is the most common way a migration loses traffic, because the fields still look filled in while nothing is rendering them.How long does a migration take?
About four weeks for a normal marketing site: a week to model the content, a week or two to migrate it with a one-to-one redirect map, a week on templates and the metadata layer, and a final week of editor testing and cutover. A site with three page types is faster. A multi-brand estate with thousands of URLs is a different conversation.What is the difference between open source and source available?
An open-source licence lets you use the software for any purpose, including competing with the people who wrote it. Source-available licences such as BSL, ELv2 and Directus's MSCL let you read and usually modify the code but restrict commercial use. It matters more than it sounds: Directus moved to a source-available licence in 2026 and dotCMS is free in production only while Total Finances, the largest of revenue, budget or funding, stay at or below $5m.
Picked one? The build is the other half.
Choosing the platform is the easy part. We do the rest: the content model, the migration with its redirect map, the front end, and the metadata and schema layer that decides whether the new site keeps the traffic the old one earned. Usually live in weeks, not quarters.