Skip to content
Citable

Definition

Headless CMS

Also known as: API-first CMS, decoupled content platform

A headless CMS is a content management system that stores content as structured fields and delivers it over an API, leaving the presentation layer — website, app, feed, Markdown export — to be built separately. For answer engines it matters because the same fields that render the page can also generate JSON-LD, Markdown and llms.txt without the outputs drifting apart.

The "head" is the presentation layer that a traditional CMS bundles together with its editing interface and database. A headless system keeps the editor and the content store and drops the head: content is fetched through a REST or GraphQL API by whatever needs it, whether a website, a mobile app or a build script. Storyblok, Contentful and Sanity are typical examples. This site runs on Storyblok with a Next.js front end.

An answer engine only ever sees the output, but the quality of that output is decided by the content model. When the short answer, the FAQ items, the sources and the author are fields with validation rules, a page cannot be published without them, and the FAQPage and Person JSON-LD, the Markdown representation and the /llms.txt index are all generated from the same values as the visible text. Nothing is kept in sync by hand.

The guide content type on this site, abbreviated:

yaml
guide:
  title: text
  short_answer: textarea         # 40–70 words; the Speakable target
  body: richtext
  key_takeaways: bloks[takeaway]
  faq: bloks[faq_item]           # emitted as FAQPage
  sources: bloks[source]         # emitted as Article.citation
  author: reference[author]      # emitted as Person
  related_terms: references[glossary_term]

The guide on modelling content for answer engines in a headless CMS walks through the model field by field.

Frequently asked questions

Why does a headless CMS help with AEO?

Because it forces content into named fields. A short answer, a list of FAQ items, a sources list and an author reference are separate fields rather than paragraphs inside one rich-text blob, so the build step can emit them as visible HTML, as schema.org markup and as Markdown from a single source. A traditional page builder makes that separation optional, and in practice it erodes.

Guides that use this term

  • Technical

    Modelling content for answer engines in a headless CMS!

    A headless CMS content model for answer engines makes every Answer Engine Optimization signal a constrained field, not an editorial habit: a required short answer with a maximum length, key takeaways, FAQ items, sources with URL validation, the author as a relation, and published and updated dates. JSON-LD, Markdown and llms.txt are then generated from those fields, so no representation can disagree with the page.

    9 min read

  • Structured data

    Structured data for AI answers: the schema.org types that matter

    Structured data for AI answers is JSON-LD that labels what a page contains: Article or TechArticle for provenance (author, datePublished, dateModified, citation), FAQPage for question–answer pairs, DefinedTerm for definitions, Person with sameAs for authors, BreadcrumbList and WebSite for context, and SpeakableSpecification for the direct answer. Google requires no markup for AI features; its value is removing ambiguity, so generate it from the CMS fields that render the visible text.

    9 min read