
Headless CMS
A headless CMS is a system for managing text, images, and other content that does not itself display a website. It delivers the content via a technical interface, and other programs decide how it is presented.
A large news site consists of thousands of articles, images, and videos. So that editors can work on this content without touching program code, there are editorial systems, known as content management systems, or CMS for short. Classic systems of this kind do two things at once: they manage the content and they build finished web pages from it. A headless CMS only does the first half. It stores and manages the content but delivers it as pure data. What that data ends up looking like is decided by a completely separate program. That’s where the name comes from: the system lacks a head, meaning the display layer.
One piece of content, many output channels
Twenty years ago, content ended up almost exclusively on a single website. Today, the same article appears in the browser, in a mobile app, in a newsletter, on a screen at a train station, and in the response of a voice assistant. A classic system that builds web pages fits exactly one of these channels. For all the others, you need workarounds or a second system.
A headless CMS solves this differently. The content is written once and stored once. Every channel fetches the same text and shapes it according to its own rules. If the editorial team changes a headline, it changes everywhere. This saves work and prevents conflicting versions.
For companies, there’s a second important point. A website’s presentation is completely overhauled every few years, while the content remains. If the two are separate, the design can be swapped out without touching the content database. With a classic system, the two are often so tightly intertwined that a redesign becomes a major project.
The interface as handover point
Editors work in a normal input form in the browser. They fill in fields: title, author, body text, image, publication date. These fields are defined in advance, similar to a form. The text is therefore not stored as a finished page, but as clearly named individual parts.
The content is published via an interface, often called an API. An interface is a fixed address to which another program sends a request and receives a structured response. The response is usually a plain list of field names and values, without fonts, colors, or layout. Two common technologies for this are called REST and GraphQL. With GraphQL, the requesting program can specify exactly which fields it needs.
The so-called frontend then takes over the display — the part of an application that users see. It retrieves the content and builds the visible page or app screen from it. A common misconception is that a headless CMS is automatically faster. Speed depends mainly on the frontend and on whether pages are pre-generated in advance. What is clear, however, is that without a functioning frontend, a headless CMS displays nothing at all. The preview of an article therefore has to be built separately, which editorial teams tend to see as a drawback.
Who works this way, and when it’s not worth it
Well-known providers include Contentful, Strapi, Sanity, and Storyblok. WordPress, too, the classic system behind millions of websites, can be run headless via an interface. In job postings and tech news, the term often appears alongside frameworks like Next.js, which are used to build the frontend.
Typical users are online shops, publishers with both an app and a website, as well as corporations with a presence in many countries and languages. The approach is also becoming interesting for AI products. Cleanly structured content is easier to search and to present to a language model as a knowledge source than confusing page code.
For a small club website, on the other hand, a headless CMS is usually overkill. You need developers for the frontend, whereas a classic system delivers a visible website right away. The decision is therefore less a question of modern versus outdated, and more a question of the number of channels.