Contact

What is Headless CMS?

Definition

A headless CMS is a content management system that provides an editing interface and a content model but does not render the website. Instead, it delivers content as structured data through APIs such as REST or GraphQL to any front end: a website, a mobile app or another channel. The presentation layer, the “head”, is a separate project, often built with a framework like Next.js.

Also known as: API-first CMS, decoupled CMS, headless content management system

Flow of a headless CMS: content is stored without a theme and delivered through an API to a website, a mobile app and a kiosk

Why remove the head?

In a traditional CMS, the content database, the templates and HTML rendering live in one application: an editor saves a post and the CMS builds the page with its own theme system. A headless setup cuts that chain in the middle. The CMS remains a content repository with an admin interface and exposes content as structured data through an API. Deciding how pages look and how they are generated is the job of a separate front-end project.

The underlying motivation is channels. If the same product description has to appear on the website, in a mobile app, on in-store screens and in a partner's system, the content cannot be tied to one page template.

How a piece of content gets published

In a typical setup the front end pulls content from the CMS at build time or on request. A query to a CMS that supports GraphQL might look like this:

query {
  articles(locale: "en", first: 10) {
    title
    slug
    summary
    publishedAt
  }
}

The front end turns that data into pages. A common approach is to pre-render them to static HTML at build time with SSG. When an editor publishes, the CMS fires a webhook, and the front end either rebuilds or refreshes only the affected pages with a technique such as ISR. The result combines static-page speed with fresh content.

Where headless earns its keep

  • The same content feeds more than one channel.
  • Design and interaction need a custom front end that an off-the-shelf theme cannot deliver.
  • Several brand or country sites draw on a shared content pool.
  • The team can build and maintain a front end over the long term.

The costs nobody puts on the slide

Headless buys flexibility by giving up things a traditional CMS provides for free:

  • Preview: editors want to see a page before it goes live, which means building a preview mode into the front end.
  • Page building: editors may lose drag-and-drop layout; pages are usually limited to components developers have defined.
  • SEO fields: title tags, meta descriptions, canonicals, sitemaps, redirects and structured data do not appear by themselves. They have to be modeled as fields and rendered correctly by the front end.
  • Rendering strategy: pages built only in the browser with JavaScript can reach search engines and AI crawlers late or incomplete. JavaScript SEO covers these risks; most projects choose server-side or static rendering.
  • Two systems: the CMS and the front end are hosted, updated and monitored separately.

The expensive mistake: modeling content after pages

The decision that hurts most in headless projects is shaping the content model around a page design, for instance a single “Home page” entry full of free-form HTML fields. That model breaks with the first redesign or the second channel. A durable model splits content by meaning (product, expert, location, FAQ item) and lets pages assemble those pieces. Rich text should be stored as structured blocks rather than raw HTML where possible, or it will need cleaning every time it moves to a new channel.

Related terms

← Back to the glossary