Headless CMS RFP questions

A question set for evaluating a self-hosted headless CMS partner on Strapi, Payload or Directus, with what a good answer contains and the answers that should worry you.

On this page

How to run a headless CMS RFP with these questions

A headless CMS RFP questions list only works if every bidder answers the same questions in writing, on the same scope. Send the questions as a single document with a fixed response deadline, a named scope (product, version, hosting location, number of editors and sites), and a rule that answers must reference the environment you will run, not a generic product claim. Ask each partner to state which Strapi, Payload or Directus product line and version they will install, and whether that choice is their recommendation or your requirement. Keep a written log of clarifications and share answers with all bidders so that no one answers from a different baseline.

Score the answers against a fixed matrix agreed before responses arrive. Weight the items that carry the most risk for your organization, such as content model design, preview for editors, migration of existing content and the handling of major version upgrades. For each licensing and feature question, require a written statement that lists which features sit in a paid edition and which are in the community code, with the price basis the vendor applies. Strapi publishes separate self-hosted tiers, with SSO as an add-on on Growth and included in Enterprise, and audit logs and review workflows reserved for Enterprise, so confirm that each bidder's table matches the vendor's current pricing page on the day you read it. Treat any answer that cannot be traced to a vendor source as an open item, not a point in the bidder's favor.

Ask for a written statement on version handling before you sign. For Strapi, confirm how the partner will treat the move from v4 to v5, since v4 reached end of life on April 30, 2026, and confirm that a database backup is taken first because downgrading is not supported. Ask how upgrades to later v5 minor releases will be tested, scheduled and rolled back, and who signs off each change. Ask the same of Payload and Directus, including the Payload v4.0.0 beta line and Directus release cadence. A partner that cannot name the version it will deliver, the upgrade path it will follow and the paid-edition features it will rely on should not be scored as a complete response.

Which questions to ask about the content model, editing and APIs

How should a partner design a headless CMS content model?

A good partner starts from the content types editors actually publish, not from the page layouts. The answer should include a sample model with collections or content types, their fields, relations and the components reused across them, such as an article, author, product or event. Ask for the model as a diagram or schema file before build starts, and ask how changes are versioned in code and reviewed. Confirm whether the model is defined in code (common with Payload) or in the admin interface and exported (common with Strapi and Directus), because that choice decides how environments are promoted.

What should a role matrix for editors include in a headless CMS?

A useful role matrix lists each role, what it can create, edit, publish and delete per content type, and which locales or brands it can touch. It should also show who can administer users and permissions, and who can see drafts. Ask the partner to produce the matrix as a table before configuration, then test it with real editor accounts. Confirm which role controls are in the community edition and which depend on a paid plan, since Strapi, for example, places audit logs and review workflows in its Enterprise tier.

Which workflow features does the partner need to configure for review and publishing?

The answer should name the workflow stages (draft, review, approved, scheduled, published), who moves content between them, and whether scheduled publishing is built in or handled by a job. Ask how the partner records who approved what and when. Strapi's self-hosted plans list content history and releases from the Growth tier and review workflows and audit logs under Enterprise, so a buyer should confirm which edition covers each step. Ask for a test script that walks one article through every stage.

How does editor preview work for draft content before it goes live?

A strong answer names the preview mechanism and the front end that renders it. Typically the CMS passes a draft token or preview URL to the front-end application, which fetches unpublished versions through the API. Payload documents live preview in its admin panel, while Directus and Strapi rely on preview endpoints configured in the front end. Ask the partner which preview path each content type uses, how preview tokens expire, and how preview is kept off public caches. Confirm the approach on a staging copy of your own front end, not a demo site.

Should the API be REST or GraphQL, and how is access controlled?

Both Strapi and Directus expose REST and GraphQL APIs, and Payload provides a REST and GraphQL layer alongside its local API, so the choice depends on the front end's needs. Ask the partner to explain the query patterns, pagination limits, depth limits and caching headers for each API. Confirm how public read access differs from authenticated write access, and whether tokens are scoped per role. Directus generates its APIs from the database schema, which changes how schema changes reach the API, so ask how that is tested.

How does the partner handle media uploads, storage and image sizing?

The answer should cover where files are stored (local disk, object storage or a CDN origin), how image variants are generated, and who can upload or delete assets. Ask for the storage provider and backup plan, the maximum file sizes allowed for each content type, and how alt text and metadata fields are required. Confirm whether the chosen platform's upload provider works with your object storage, since plugin support varies by product and version. Ask how removed assets are cleaned up so storage costs do not grow unbounded.

How do locales and translations fit into the content model?

A good answer shows whether each localized field is stored per locale in the same document or as separate entries, and how fallback to a default language works. Ask the partner to show one article in two locales with its URL and SEO fields. Confirm which localization features are included in the community edition of your chosen platform and which need configuration or plugins, and ask how translation handoff to an agency or machine translation service is tested before launch.

How editors preview content and how content is migrated

A good partner runs preview, import, editor validation and cutover as one ordered sequence, with a named tool and a written check at each step, so content moves without losing structure or editorial control.

  1. Confirm the preview model before the content model is final

    The partner defines how draft content reaches the front end before any editor works in the system. Ask which preview route the front end uses, how draft and published versions are separated, and whether preview requires a signed-in editor. Payload includes live preview and a customizable React admin panel, so teams building on Payload can test the preview inside the admin interface. Directus provides Studio for non-technical teammates, so the partner should show how an editor opens a draft in the front end from there. The step is done when a sample draft renders in preview without being visible on the public site.

  2. Map the existing content to the new model

    The partner inventories the source system, including content types, fields, relationships, locales, media and URLs, and writes a field-by-field mapping to the Strapi, Payload or Directus collections. Ask who owns each mapping decision and how fields with no equivalent are handled. Editors should confirm which legacy fields carry business meaning. The output is a signed mapping document that lists every source field, its target field, its transformation rule and any content that will be dropped or rebuilt.

  3. Run test imports and check data quality

    The partner imports a representative subset into a non-production instance, then runs automated checks for record counts, required fields, broken references, duplicate slugs, encoding problems and media links. Ask which scripts or tools perform the import and whether each run is repeatable from the same source snapshot. Strapi, for example, documents a backup-first approach for schema and data changes, so the partner should describe its own backup and rollback points. The step closes when a full test run produces a reconciliation report with zero unexplained differences.

  4. Validate content with editors in preview

    Editors review migrated pages and entries in the preview environment against the live site. They check layout, locale fallbacks, metadata, internal links, image crops and workflow states such as draft, review and published. Ask the partner for a written validation checklist, a named editor sign-off owner and a log of defects with their resolution. The step is complete when the agreed editors sign off each content type and every open defect is either fixed or accepted in writing.

  5. Set redirects and verify URLs before cutover

    Before switching traffic, the partner confirms that every legacy URL either resolves to its new page or redirects to the correct replacement. Ask for the redirect map, the method used to deploy it, and the crawl report that shows 404s and redirect chains. Search engine visibility, analytics tags and consent settings should be checked on the new front end. The output is a URL inventory with a status for each entry.

  6. Cut over and monitor the first live period

    The partner runs the final content import, freezes source edits for the agreed window, switches the front end to the new CMS and confirms the public site serves published content only. Ask who has rollback authority, what the rollback trigger is and how long the source system stays available in read-only mode. Monitoring should cover API errors, page status codes and editor login issues. The step closes when the agreed monitoring checks pass and the partner hands over the runbook.

  7. Hand over editing and retire the old system

    Editors receive training on the preview and publishing flow, and the partner delivers documentation for content types, roles and the import procedure. Ask how Studio or the admin panel is introduced to non-technical teammates and which role permissions are set for each group. The old system is archived only after a defined retention period agreed with your compliance owner. The step is done when the handover pack is accepted and the decommissioning plan is signed.

How to test a major version upgrade such as Strapi 4 to 5

Ask every partner how they will test a major version upgrade before they quote it, because a Strapi 4 to 5 move is a rebuild of data access rather than a routine patch. Strapi v4 reached end of life on April 30, 2026, and its final release, 4.26.2 of June 9, 2026, receives no further updates, so any site still on v4 is already running without fixes. Strapi 5 replaces the Entity Service API with the Document Service API and changes the API response format, which means front ends, scripts and integrations built against v4 can break even when the content migrates cleanly. Ask the partner to list every consumer of the API, including mobile apps, build hooks and third-party sync jobs, and to state how each one will be tested against v5 responses in a staging copy.

Ask how the partner runs the upgrade tool and codemods that Strapi provides for v4 to v5, and where in the sequence the data migration scripts run on first start of Strapi 5. The proposal should name the breaking changes list it works from, record each codemod run and each manual change, and show how the team diffs API output before and after. Require a database backup taken before any upgrade step, because the Strapi documentation says downgrading is not supported. Ask how the backup is verified by restoring it to a separate environment, and who approves the cutover. Ask how the team handles the Strapi-Response-Format: v4 header, whether it is used to keep legacy clients working during migration, and when it is removed. Confirm the Node.js version and the database version against the Strapi 5 installation requirements, including PostgreSQL 14 or later, MySQL 8.0 or later, MariaDB 10.3 or later or SQLite 3, and confirm that no MongoDB or other NoSQL database is involved, since Strapi 5 does not support them.

What drives cost and what to ask for in a quote

What does a headless CMS implementation partner actually charge for?

A partner's fee covers the work the organization cannot skip: scoping, content modeling, front-end integration, data migration and editor training. Scoping defines which content types, locales, roles and integrations are in play. Content modeling turns that scope into collections or content types, relations, validation and permissions. Front-end integration connects the API to the site or app, including preview. Migration moves existing content and media, and training prepares editors. Each line is a separate component you can ask a partner to price.

  • Scoping and content model design
  • Front-end integration and preview setup
  • Migration of content, media and redirects
  • Editor training and handover documentation
Which headless CMS costs are one-time and which recur?

Most engagement costs are one-time: scoping, modeling, integration, migration and training. Recurring costs come from running the platform: hosting or infrastructure you pay a cloud or data center provider for, backups, monitoring, security patching, version upgrades and any ongoing support retainer. Paid self-hosted editions also recur if you need features such as single sign-on, audit logs or review workflows, and that licensing is paid to the software vendor, not DeployOpen. Ask which items recur, how often they renew and who invoices each one.

Does DeployOpen publish headless CMS prices?

No. DeployOpen does not publish a price list, and a quote follows from a written scope. Most engagements are fixed-scope, with scope, deliverables and timelines agreed in writing before work starts. Ask for a quote that lists each deliverable, the assumptions behind it and what is excluded. Ongoing support, upgrades and continuous testing are offered as retainers, so request them as a separate line item rather than assuming they are included.

Which vendor plan and license tier should a quote name?

Ask the partner to name the exact product, edition and plan the quote assumes, because feature access differs by tier. For Strapi, the self-hosted Community Edition is free, while Growth and Enterprise are paid plans; SSO, audit logs and review workflows sit in specific tiers, so confirm which ones your requirements need on the current pricing page. Also confirm that the quote does not include any vendor license you must buy separately, and who holds that contract. Directus and Payload have their own license terms that your legal team should review before the build.

What support boundaries should I confirm before signing?

Support boundaries define who fixes what after go-live. Ask the partner to state, in writing, which components it operates, such as the application, the content model, the hosting environment or the backups, and which remain with your team or a cloud provider. Confirm response expectations, upgrade responsibilities for major versions, and what happens when a vendor releases a new major version after handover. Support is delivered through a separate retainer, so the quote should say whether it is in scope or priced separately.

What makes a headless CMS migration cost more or less?

Migration effort rises with the number of content types, the volume of media, the number of locales and how much existing content needs reshaping rather than copying. Redirect mapping, editor retraining and running two systems during cutover add effort. Effort falls when the source content is clean, the content model is agreed early and the number of front ends is small. Ask the partner to list the source systems, record counts, media volume and locales used in the quote, since these are the inputs that move the estimate most.

Can we do the headless CMS work ourselves to save money?

Yes, an internal team can run the work, and many organizations split it: they keep content modeling and editor operations in house and bring in a partner for hardening, integration or migration. The trade-off is staffing and skills. Self-hosting needs people who can manage the database, Node.js runtime, backups, upgrades and access control. Ask the partner for a split proposal that shows which tasks you would own, which tasks you would hand over, and what knowledge transfer each handover requires.

What should the cost section of a headless CMS RFP require?

Require a line-item quote tied to the written scope, with separate sections for one-time services, recurring hosting and software, and optional retainers. Ask for the assumptions behind each estimate, including the number of content types, locales, editors, integrations and migration sources. Request the named edition or plan, the support boundaries, the exclusions and the payment milestones. A quote that cannot show its assumptions cannot be compared fairly with another bid.

Which answers should make you stop and ask again

Partners rarely lie outright, but vague answers on licensing, upgrades, preview and compliance often hide cost and risk. Each card below pairs one answer that should slow the decision with the follow-up question that forces a specific, written reply.

License terms and quoted edition

A partner who cannot name the license of each component, or which edition its quote assumes, is pricing a product it has not read closely. Strapi splits its code: the Community Edition is MIT, while code under ee directories is the separately licensed Enterprise Edition. Ask the partner to list every component, its license, and the exact edition and plan behind each line of the quote.

"All features are free" claims

Promises that every feature is free, without naming plans, usually skip the paid tiers that hold SSO, audit logs and review workflows. In Strapi's self-hosted plans, SSO for Growth is an add-on, while audit logs and review workflows sit in Enterprise. Ask the partner to map each required feature to a named plan, the price source, and whether that cost recurs.

No written upgrade and backup plan

A version upgrade without a written migration plan is a risk to content and editors. Strapi v4 reached end of life on April 30, 2026, and its docs say to back up the database first because downgrading is not supported. Ask for the upgrade steps, codemod and data migration checks, rollback point, and a staging rehearsal before any production cutover.

One magic tool, no test evidence

A partner who says a single tool or generator handles migration, modeling or upgrades, and cannot show test results, is asking you to trust a black box. Upgrade tools such as codemods help with mechanical changes but do not verify content, API consumers or permissions. Ask for the test scripts, sample content comparisons, response-format checks, and who signs off each result.

Preview described only in general terms

Preview that is described as "editors can see their changes" hides the work that matters: which front end renders the draft, how draft and published content are separated, and whether preview works for scheduled and localized entries. Ask the partner to demonstrate preview on your own front end, with a draft entry, a locale, and a user without publish rights, and to name the framework and endpoints involved.

Compliance certification claims

A partner that says the platform is "certified" or "compliant" has confused readiness with assessment. Independent auditors and certification bodies issue attestations, and implementation partners prepare controls and evidence for them. Ask which controls the partner has prepared, what evidence each produces, and which independent assessor will review it.

How to score vendor and partner answers

This table lists the criteria to score each partner answer from one to three against your written scope, along with the evidence to request. Use it in the RFP review to compare answers on the same basis rather than on presentation. A partner that cannot point to written evidence for a criterion should score lower, even when the answer sounds confident.

CriterionWhat a score of three looks likeEvidence to record
Content model clarityNamed collections, fields, relations and locales are described and tied to your content typesSample schema or model diagram, with owner for each content type
License and paid-feature transparencyEach feature you need is mapped to a license and edition, with the paid tier namedWritten list of required features by edition, and the license file version reviewed
Preview and migration methodEditor preview and content migration steps are described per platform, with a test planPreview flow diagram, migration plan, and a sample dataset run in a test environment
Version upgrade planMajor version path, support end dates and rollback approach are stated for the chosen releaseUpgrade runbook, backup and downgrade policy, and the vendor's current support status
Security and identity approachAdmin SSO, editor roles, audit logs and API token handling are described and mapped to your identity providerRole matrix, SSO configuration plan, and the edition that includes each control
Hosting and data locationWhere the database, media storage and backups sit is named and matches your residency rulesArchitecture diagram and hosting responsibility matrix signed by both parties
Quote traceabilityEvery line item maps to a stated scope item, deliverable and assumptionItemized quote linked to the written scope, with exclusions and change-request terms

How to turn answers into a shortlist and a written scope

Start by putting every response in one comparison grid, with one row per question and one column per candidate (Strapi, Payload or Directus). Score answers on the facts you can check: the license terms for your intended use, the supported database list, the plan that includes the SSO, audit log and workflow features your editors need, and the Node.js and database versions the partner proposes. Mark any answer that says "included" without naming a plan or edition, and send it back for a written reply. Vague answers about Enterprise Edition features are the most common source of later cost surprises, so treat them as open items rather than passes. The shortlist should carry two candidates at most into a proof of concept.

Run the proof of concept on one content type that matches your hardest requirement, such as a regulated article with a review stage, a localized product page or a page with nested blocks. Build the content model in each candidate, set up the editor roles, configure preview against your real front end, and import a sample of existing content through the migration path you expect to use in production. Record the effort, the number of manual fixes and any feature that needed a paid plan to work. Confirm the exact plan, version and hosting target you tested, because a proof of concept on Community Edition does not prove that the SSO or review workflow works in production.

Convert the chosen answers into a fixed-scope statement of work before any build work starts. The scope should name the product, the plan or edition (for example, the Strapi Growth or Enterprise plan, or the Payload or Directus version you tested), the exact version to be installed, the hosting environment, the content types and locales in the first release, the preview and migration deliverables, and the handover documentation. Ask the partner to list what is excluded, including paid add-ons and future major upgrades, and to state who holds each license subscription. Agree acceptance criteria in writing so that completion has a measurable meaning for both parties.

How DeployOpen scopes and delivers a headless CMS engagement

DeployOpen plans, implements, customizes, hardens, documents and supports self-hosted open-source platforms inside your own cloud accounts, data centers or air-gapped networks. For headless CMS RFP questions, we start with a written scope that answers the questions your evaluation team needs answered before selecting Strapi, Payload or Directus.

How we scope

  • Written scope fixes which CMS candidates are compared, the content model areas covered and the questions each answer must address
  • Scope states which edition features, such as SSO or audit logs, are included, so paid plan needs are explicit before selection
  • Deliverables, timelines and acceptance criteria are agreed in writing before any build work begins, since most engagements are fixed-scope
  • Scope confirms which migration, preview and version upgrade topics are in or out, with the source system and content volume named

How we build

  • Content model prototyped against your real editorial workflows, with locales, roles and preview behavior tested by your editors
  • Hosting built in your own environment, with database choice checked against the supported PostgreSQL, MySQL, MariaDB or SQLite versions
  • Security testing of the CMS, its APIs and admin login completed before go-live, covering access rules and admin authentication
  • Migration scripts tested on copies of content, with a documented rollback path and database backup taken before any upgrade

How we hand over

  • Written documentation covering the content model, role matrix, environment setup, backup procedure and upgrade runbook
  • Evidence pack for compliance reviewers, including configuration records, access settings and change history for the CMS
  • Knowledge transfer sessions for your platform, editorial and security teams, using your own environment and content
  • Handover of administrative access and secrets to your staff, with DeployOpen access removed according to the agreed scope

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers, scoped separately from the initial build
  • Retainer scope can cover CMS version upgrades, plugin or package reviews and periodic security testing of the public front ends
  • Upgrade planning follows each vendor's release and end-of-life notices, which you confirm directly with the vendor before scheduling
  • Pricing for support follows a written quote, so your team can compare retainer scope against internal operating effort

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.