Skip to content

What is a headless CMS?

A headless CMS is a content management system without a built-in website. Editors manage structured content in an admin, and your website, app or any other frontend fetches it through an API.

By the HelmCMS team · Reviewed against the HelmCMS codebase on October 29, 2026

Headless vs traditional CMS

A traditional CMS such as WordPress stores your content and also renders the website from its own themes. A headless CMS keeps only the first half: it stores and manages content, and hands it out as data. The “head”, the part visitors see, is whatever frontend you build.

Traditional CMSHeadless CMS
Who renders pagesThe CMS, through themes and templatesYour frontend (Next.js, Astro, a mobile app, anything)
How content leaves the CMSAs finished HTML pagesAs JSON through an API
Content shapeMostly pages and posts with a big text bodyStructured models you define: fields, relations, reusable blocks
Same content in many placesHard; it is tied to one site's themeBuilt in; every channel calls the same API
Who it suitsA single site run without developersTeams with a frontend developer, or AI agents that build the frontend

When a headless CMS is the right choice

  • You build your site with a modern framework and want content editors to work without touching code.
  • The same content feeds more than one place: a website, an app, a newsletter, a partner feed.
  • You run many sites and want one system, one login and one way of working for all of them.
  • You want AI agents to manage content through an API instead of clicking through a theme editor.

It is the wrong choice if nobody on the team can build or maintain a frontend and you need a complete website today. A traditional CMS with a theme is faster for that.

How content is structured

In a headless CMS you design content models before you write. A model is a list of typed fields, for example a “Recipe” with a title, a slug, a cover image, a list of ingredients and the steps. HelmCMS supports three kinds of model:

  • Collections hold many entries, like blog posts or products. They can be sorted by date, kept in a manual order, or nested as a tree for menus.
  • Singletons hold exactly one entry, like site settings or the home page.
  • Blocks are reusable field sets that editors stack in any order inside a page, the building parts of a page builder.

Fields come in 16 types: text, long text, rich text, number, true/false, date, date and time, select, email, slug, JSON, media, relationship, group, repeatable array and blocks. Each can be required, unique, have a default, limits or a pattern.

How content reaches your site

The frontend asks the delivery API for published entries with a site API key. The answer is JSON with the entry's fields, media resolved to URLs with sizes and alt text, and related entries included up to the depth you ask for. Drafts never appear there; a separate preview key reads them for draft previews. When an editor publishes, a signed webhook tells your site to refresh the page.

The integrations guide shows the requests with Next.js and Astro examples.

In this topic

What is a headless CMS? A plain explanation | HelmCMS