What should a B2B SaaS marketing team compare in a headless CMS?
Eight things decide whether your marketing team can run the site without filing a ticket for every change.
| Criterion | What to check | Why it matters for marketing |
|---|---|---|
| Editing and preview | Visual editing, click-to-edit, draft preview on the real site | Editors see a page before buyers do |
| Content model and page building | Structured content types, reusable blocks, who can add new block types | Marketers build landing pages from blocks; new block types need a developer |
| Scheduling and releases | Scheduled publishing, bundled releases | A launch goes live together, on time |
| Roles and approvals | Custom roles, review workflows, single sign-on | The right people can publish, and others can't |
| Localization | Field-level or document-level, locale limits | Each market can publish on its own schedule |
| Hosting and data | SaaS or self-hosted, where content is stored | Who runs the servers, and where content lives |
| Pricing drivers | What's metered: seats, locales, API calls, bandwidth | The bill grows with the things you grow |
| Editor accessibility | An accessible authoring interface and templates | Everyone on the team can use it |
A traditional CMS couples content and presentation in one system. A headless CMS stores structured content, shaped by a content model you define, and delivers it through a REST API, a GraphQL API, or both, to a separate frontend built with a framework such as Astro or Next.js. The same content can also feed other channels, such as mobile apps or a help center. Most trade-offs come down to developer flexibility versus how easily editors can work. Forms and site search, often built into a traditional CMS, have to come from your frontend, plugins, or other services.
The six headless CMS platforms here are listed alphabetically: Contentful, Payload, Prismic, Sanity, Storyblok, and Strapi. Plan details come from each vendor's documentation and pricing page on October 23, 2026, and plans change often.
What is a content model?
A content model is the set of content types, fields, and reusable blocks your pages are built from. A case study, for example, might have a customer name, logo, quote, and results. A model built around page blocks lets your marketing team assemble landing pages from existing blocks, while new block types and layouts need your development team. That's the main difference from Webflow's Designer, where layouts are built visually on the canvas; our Webflow vs custom code guide covers when that trade is worth it.
How do visual editing and preview compare across headless CMS platforms?
All six let editors preview drafts on the site before publishing. How close that comes to visual page building varies.
| CMS | Feature | How it works | Plan notes |
|---|---|---|---|
| Contentful | Live preview | Shows content in real time next to the entry editor; live updates and click-to-field "inspector mode" need its SDK and a preview URL | The SDK is optimized for React frameworks |
| Payload | Live Preview | Renders your frontend inside the admin panel and updates it with every change | Open source; no plan restriction stated |
| Prismic | Previews and the Page Builder | Previews show drafts on your site through preview routes; the Page Builder's live view of slices needs a /slice-simulator route | The free plan includes the visual Page Builder |
| Sanity | Presentation tool and Visual Editing | Editors click any element in the preview to jump to its field | Listed on all plans |
| Storyblok | Visual Editor | Loads your page in an iframe; clicking a block scrolls to it; the preview must be served over HTTPS | On all plans; the number of preview URLs grows with the plan |
| Strapi | Preview and Live Preview | Preview shows your frontend from the admin panel, with side-by-side editing in the paid version | Preview is free; Live Preview needs the paid Growth or Enterprise plan |
Does your frontend support live preview?
Check this before you choose, because preview needs a frontend that can render drafts on request.
- Astro. Sanity's Astro documentation says server rendering is necessary for Visual Editing and draft previews, and that static sites need a rebuild to reflect content changes. Storyblok's Astro guide asks you to deploy in client-side or server-side rendering mode so updates show on save.
- Next.js. Draft Mode lets editors see how draft content will render without waiting for revalidation, while other visitors keep seeing the cached version.
One way to get both speed and previews is a static production site plus a server-rendered preview environment that only editors use. For the search side, such as keeping preview URLs out of Google, see our post on headless CMS SEO.
How do scheduling, roles, and approval workflows compare?
These are the features most often tied to higher plans, so compare them on the plan you'd buy.
| CMS | Scheduling and releases | Roles and workflows | Single sign-on |
|---|---|---|---|
| Contentful | Scheduled publishing listed on the Lite plan | Free: 2 roles; Lite: 3; Enterprise: a custom number | Not shown for the core plans |
| Payload | Scheduled publish and unpublish, if a jobs runner is set up | Function-based access control, included; publishing workflows listed as an Enterprise feature | Enterprise |
| Prismic | Releases bundle changes and can be scheduled | User roles from the Medium plan; custom roles on Enterprise | Enterprise |
| Sanity | Scheduled drafts on Growth and Enterprise; content releases on Enterprise | Free: 2 roles; Growth: 5; Enterprise: custom roles | Enterprise (SAML) |
| Storyblok | Single-story scheduling from Growth; releases from Premium | Custom roles: 10 on Premium, unlimited on Elite; custom workflows on Premium and Elite | Premium and Elite |
| Strapi | Releases on the paid Growth and Enterprise plans | Role-based access control in the free Community edition; review workflows on Enterprise | Growth add-on; included in Enterprise |
One detail matters in practice: Contentful's help center says custom roles are only available on its Premium plans, while its pricing page now lists Free, Lite, and Enterprise, so ask which plan includes them before you sign.
How do localization models differ between headless CMS platforms?
Some headless CMSs translate fields inside one page; others keep a separate version of each page per language. The model decides whether content teams in each market can publish independently.
| CMS | Localization model | Locales |
|---|---|---|
| Contentful | Field-level, with fallbacks when a target locale is empty | Free: 2; Lite: 3; Enterprise: custom |
| Payload | Field by field | Unlimited |
| Prismic | A master locale plus translated versions of each page | Free: 2; up to 8 on Platinum; Enterprise: custom |
| Sanity | Field-level, document-level, or both | Unlimited; no charge for locales |
| Storyblok | Field-, folder-, or space-level | Starter: 2; Growth: 2, with add-ons; Growth Plus: 10; Premium: custom |
| Strapi | Per content type or field; edited one locale at a time | Unlimited |
Sanity says field-level localization requires you to publish content in all languages simultaneously, while document-level localization lets you publish each language version independently. Storyblok suggests field-level when the structure is similar across languages, folder-level when content varies by locale, and space-level when separate teams run separate sites. Whichever you pick, each locale adds routing, hreflang tags, translated content, and its own QA pass.
Should the CMS be SaaS or self-hosted?
SaaS means the vendor runs the infrastructure and bills by usage; self-hosting means the license can be free but the servers are yours.
- SaaS. Contentful, Prismic, Sanity, and Storyblok host your content. Sanity is a hybrid: content lives in its hosted Content Lake, while Sanity Studio, its open-source editing app, can be hosted by Sanity or deployed to your own host.
- Self-hosted, open source. Strapi and Payload are the open-source headless CMS options here. Strapi's Community edition is "Open-Source under MIT License" and free forever; Strapi Cloud is its paid hosted option. Payload CMS is MIT licensed, and its pricing page says you can use it in production and host it for free, forever.
- Data location. Contentful's plan table includes an EU data residency row, and Storyblok lists preferred data centers on its Elite plan. If buyers or legal ask where content is stored, get the region and the data processing agreement in writing.
Self-hosting gives you full control over your data and hosting, but it adds operational overhead: servers, the database, framework and dependency updates, backups, and security patches. Our website maintenance checklist lists that upkeep for a headless site.
What drives headless CMS pricing?
What each plan is metered on matters more than today's price, because it decides how the bill grows.
| CMS | Free tier | What's metered | Over the limit |
|---|---|---|---|
| Contentful | Free tier with hard usage caps | Users, roles, locales, API calls, CDN bandwidth, spaces, content types, environments, records, asset size | Lite bills overage |
| Payload | Free to self-host | Nothing on the pricing page; Enterprise adds SSO, support, and an SLA | You pay for hosting |
| Prismic | Free tier, 1 user | Users, API calls, CDN bandwidth, locales, environments; documents, types, and assets are unlimited | Overage billed up to a hard limit, then the project moves to the next plan; free projects are locked |
| Sanity | Free tier | User seats, datasets, documents, API requests, API CDN requests, bandwidth, assets | Pay-as-you-go on Growth |
| Storyblok | Free Starter plan for testing and personal projects | Seats, spaces, API requests, traffic, locales, stories, assets, environments, AI credits | Add-ons on Growth; none on Growth Plus |
| Strapi | Free self-hosted Community edition with unlimited usage | Paid self-hosted plans by users; Strapi Cloud by API requests, storage, bandwidth, environments | No overages on self-hosted Growth |
How should you run a headless CMS comparison for your team?
Shortlist two or three headless CMS platforms, test them with real tasks from your marketing team, and score them with weights you agree in advance.
- Set the must-haves. Locales, single sign-on, data location, and budget usually narrow the field quickly.
- Map your content model. List the structured content you need, such as page types, reusable blocks, case studies, pricing tables, and author profiles, so every CMS is tested against the same model.
- Write five real editing tasks. For example: build a landing page from existing blocks, schedule a launch, translate a page, update a pricing table, and roll back a mistake.
- Test with your content editors. Include non-technical editors, and use a trial project connected to a preview of your frontend, not a demo account.
- Check the editor's accessibility. The W3C's ATAG 2.0 asks authoring tools to have an accessible interface and to support the production of accessible content, including accessible templates.
- Ask how you'd leave. Find out how you'd export content and assets if you switch later, so you know the lock-in risk before you commit.
- Price year two. Use your expected seats, locales, content volume, API calls, and traffic.
- Score and decide. Keep the weights fixed while you score. The best headless CMS for your team is the one that scores highest on your criteria.
| Criterion | Example weight |
|---|---|
| Editing, preview, and page building | 25% |
| Roles and approvals | 15% |
| Localization | 15% |
| Pricing over two to three years | 15% |
| Scheduling and releases | 10% |
| Hosting and data location | 10% |
| Developer fit: REST and GraphQL APIs, frontend support | 10% |
These weights are an example; adjust them to your team. If an agency will build the site, put the criteria in your website RFP so every proposal answers them.
We build headless sites with Astro and Next.js, and our own site runs on Astro and Sanity, so we have an interest in this topic. For how we run headless builds, see our headless CMS agency page.
Questions about choosing a headless CMS
What is the best headless CMS for a marketing site?
There isn't one for every team. The right choice depends on how your editors work, how many languages you publish in, who approves changes, where content must be hosted, and how the vendor bills. Shortlist two or three CMSs and test them with real editing tasks.
Which headless CMSs offer visual editing?
All six covered here offer a way to preview drafts on your site. Sanity has the Presentation tool and Visual Editing, Storyblok a Visual Editor, Payload and Contentful a live preview, Prismic previews and a Page Builder, and Strapi a free Preview plus a paid Live Preview. How well it works depends on your frontend setup.
Is an open-source headless CMS cheaper?
The license can be free: Strapi's Community edition and Payload are MIT licensed and free to self-host. You still pay for hosting, a database, updates, backups, and security work, so compare the total cost with a SaaS plan.
Does a headless CMS work with a static site?
Yes, but previews need more. Sanity says Visual Editing and draft previews on Astro need server rendering, and static sites need a rebuild to reflect content changes. One option is a static production site paired with a server-rendered preview for editors.
How many languages can a headless CMS handle?
It depends on the plan. Sanity, Payload, and Strapi don't cap locales; Contentful, Prismic, and Storyblok set locale limits by plan, from two locales on their entry plans up to custom limits on enterprise plans.
Sources
- Contentful: Pricing Accessed October 23, 2026
- Contentful: Live preview Accessed October 23, 2026
- Contentful: Locales Accessed October 23, 2026
- Contentful Help Center: Custom roles and permissions Accessed October 23, 2026
- Payload: Pricing Accessed October 23, 2026
- Payload Docs: Live Preview Accessed October 23, 2026
- Payload Docs: Drafts Accessed October 23, 2026
- Prismic: Pricing Accessed October 23, 2026
- Prismic Docs: Previews Accessed October 23, 2026
- Prismic Docs: Releases Accessed October 23, 2026
- Prismic Docs: Languages and locales Accessed October 23, 2026
- Sanity: Pricing Accessed October 23, 2026
- Sanity Docs: Deployment Accessed October 23, 2026
- Sanity Docs: Introduction to Visual Editing Accessed October 23, 2026
- Sanity Docs: Localization Accessed October 23, 2026
- Sanity Docs: Static and server rendering with Astro Accessed October 23, 2026
- Storyblok: Pricing Accessed October 23, 2026
- Storyblok Docs: Visual Editor Accessed October 23, 2026
- Storyblok Docs: Internationalization Accessed October 23, 2026
- Storyblok Docs: Visual preview with Astro Accessed October 23, 2026
- Strapi: Self-hosted pricing Accessed October 23, 2026
- Strapi: Cloud pricing Accessed October 23, 2026
- Strapi Docs: Preview Accessed October 23, 2026
- Strapi Docs: Internationalization Accessed October 23, 2026
- Next.js Docs: Draft Mode Accessed October 23, 2026
- W3C: Authoring Tool Accessibility Guidelines (ATAG) 2.0 Accessed October 23, 2026
- BenorMedia: Headless CMS Agency Accessed October 23, 2026
- BenorMedia: Webflow vs Custom Code: When to Leave Webflow Accessed October 23, 2026
