← Headless CMS comparison guide

CMS comparison · · By Cald

Contentful vs Strapi: Headless CMS Specs, Pricing and Fit

Managed content delivery or a backend your engineers can customize: compare the full operating model.

Contentful versus Strapi comparison

Evaluate Contentful first when you want managed content infrastructure and reusable delivery contracts. Evaluate Strapi first when backend control is valuable enough to fund engineering ownership.

Official product documentation and public pricing pages checked October 30, 2026. Cald has not run a controlled benchmark of these platforms. Recommendations are our interpretation of the workflows below; verify feature entitlements and contract terms in the package you would buy.

Specs that change the implementation

Documented workflows; confirm the proposed package
RequirementContentfulStrapi
Platform roleManaged content platformOpen-source CMS; self-host or use Strapi Cloud
Content structureSpaces contain content types and entries; reference fields connect reusable records. Documentation.Collection types, single types and components define structured content; the Content-type Builder is available in development. Documentation.
Preview and frontendPreview uses the Content Preview API and a configured frontend URL; live preview needs frontend integration. Documentation.Preview needs a configured frontend handler. Confirm the entitlement for the live-preview experience separately. Documentation.
Release workflowSandbox environments and aliases support testing content-model changes before switching consumers. Documentation.Draft & Publish separates unpublished changes from live content and is enabled per content type. Documentation.

Price the responsibility you keep

Start by naming who will handle a failed deploy, a database restore and a content-model migration. A managed platform still needs frontend integration work; a self-hosted CMS adds infrastructure responsibilities. Put these in the same estimate before comparing license fees.

Contentful: reusable content across channels

Start here when the core job is designing reusable content models and delivering them to several frontends.

Demo task: Model one shared promotion referenced by a website and an app. Change it once, preview both consumers and show how a schema migration is tested.

If the demo only changes fields, ask who implements page layout, preview and cache invalidation. Reusable content is useful only if consumers share a stable contract.

Strapi: backend customization and hosting control

Start here when an engineering team wants to own backend behavior and is prepared to maintain it.

Demo task: Implement one custom validation, protect draft access, deploy a schema change and restore a backup in a disposable environment. Name the engineer who owns upgrades.

A free CMS license does not cover operations. Include database, media storage, backups, patching, monitoring and paid editorial features in the estimate.

Pricing: request the same scope

Contentful: Compare the Platform plan and Space licenses together; optional Studio and Personalization scope needs an explicit quote. Check commercial-use terms before choosing Free. Official pricing.

Strapi: Community CMS is free; Growth and Enterprise add licensed features. Cloud hosting is a separate purchase, not an upgrade to the CMS license. Official pricing.

Strapi’s billing explanation separates CMS features from hosting. Add a Cloud plan or your own hosting budget, then include the CMS license required for the editorial workflow.

Contentful’s usage terms restrict the Free plan to testing and learning rather than commercial use. A prototype allowance is not automatically a production license.

Use a synthetic procurement brief: 10 editors, two locales, one production site, one preview environment, 20,000 content entries and one million monthly delivery requests. These are illustrative volumes, not published allowances or a quote. Add approval rules, SSO if required, asset storage and bandwidth, support, backups and frontend hosting. Request expected-usage and double-usage invoices, including overages and minimum commitments.

Budget migration mapping, frontend integration, editor training and ongoing operations separately. For a combined stack, retain both source-system and composition costs. Do not call either option cheaper until the proposals cover the same scope.

Reviews and the questions they should trigger

G2’s Contentful–Strapi comparison describes reviewers finding Strapi easier to use, set up and administer. That does not establish lower production maintenance cost for a customized deployment. Read the comparison.

Review summaries mix company sizes, editions and implementation dates. We do not treat a rating difference as a performance test. Ask a peer with your proposed architecture to show the daily workflow, then reproduce the difficult step with your own editors.

Measure the custom rule, deployment and recovery work. A short content-entry demo will not reveal the operational trade-off.

  • Have your editor complete the task without the vendor operating the screen.
  • Submit the same integration question through the proposed support route; record completeness and escalation, not just the first reply.
  • Compare the trial entitlements with the signed proposal before accepting the workflow.

Worked pilot: a product catalogue with custom validation

Synthetic example: A retailer needs one product description for web and app, plus a rule that prevents a campaign from linking to a discontinued SKU. The commerce system remains the source of product availability. This is an acceptance plan, not a client result.

Define a campaign contract before mapping fields: campaign_id is a stable business identifier; slug identifies the route; locale identifies the language variant; content_revision identifies the displayed release; cta_label and cta_destination define the action. Specify which system owns each field, then record the corresponding vendor IDs. Keep draft tokens outside the public client.

  1. The discontinued-SKU rule is enforced through every agreed write path, including imports and API writes.
  2. A preview can read draft descriptions without exposing preview credentials in the public bundle.
  3. A staged schema change preserves existing product identifiers and web/app responses.
  4. The operations owner demonstrates recovery from a failed release; for self-hosting, restore both database and media.
Proposed pilot events — your application contract, not vendor-native event names
EventExact trigger and fieldsAcceptance check
campaign_page_viewedPublic campaign route finishes rendering the intended published revision. Fields: event_id, campaign_id, content_revision, locale, occurred_at (UTC).One application event per defined page view; exclude draft-preview routes.
campaign_cta_clickedVisitor activates the campaign CTA. Fields: event_id, campaign_id, content_revision, locale, placement, destination_path, occurred_at (UTC).Click payload carries the displayed revision and campaign ID. A click is not a completed purchase.

Agree a measurable freshness target before the test, for example a synthetic two-minute publish-to-page target. Record the publish action, page revision and elapsed time. Test a retried webhook, a stale cache and a missing referenced entry. A successful webhook delivery alone does not prove that the public page changed.

Continue the comparison

Return to the four-platform guide or compare another boundary:

Which should you evaluate first?

Answer four questions to get an evaluation starting point and a concrete demo checklist. This is Cald’s editorial routing model, not a benchmark or a finding that other products lack a capability. Answers stay in the page and are not stored or submitted.

How the quiz makes a recommendation

The brief and demo answers each add three points to the matching focus. Working-model answers add the points listed below. On a pairwise page, points for products outside that pair are ignored; use the full guide if your priority points elsewhere. Highest totals share first place, including a tie at zero. Fit shares are a share of points, not probabilities or quality ratings. Mandatory requirements override every result.

Published editorial scoring rules
AnswerPoints
Reusable content / shared-content demoContentful +3
Editorial approvals / approval demoContentstack +3
Backend control / customization demoStrapi +3
Visual composition / multi-source demoUniform +3
Prefer managed infrastructureContentful +1; Contentstack +1; Uniform +1
Engineers want backend ownershipStrapi +2
Keep sources and add visual workspaceUniform +2
Undecided / test all equally / buying constraintNo points; the buying constraint adds an acceptance task

Self-hosting is an architectural requirement to verify, not a soft preference to settle with a score. Among these four, Strapi is the self-hostable CMS option in this guide. Uniform can complement another CMS; a quiz recommendation does not mean you must migrate your content.

← CMS articles