Content Management Systems (CMS) that are “headless” has been booming lately. It’s the talk of the town and a lot of solutions has hit the market. Even the old traditional CMS solutions have started heading this path. But what is it and what is so great about a CMS without the “head”?
A traditional CMS (non-headless) is responsible and controls the content, but is also responsible for how the content within the CMS is presented. The “head” can simply be seen as the frontend that’s being viewed by the user. Traditionally, a CMS has been a complete solution with both backend and frontend implementations. Headless, on the other hand, don’t care about the views being presented to the user, only the actual content. It’s more or less a content database that let us fetch this information using it’s APIs.
But it seems like headless contains less functionality since the actual presentation of the content has been removed. Why would I want less functionality?
Headless is excellent in terms of flexibility since it exposes its content over APIs. This means we can use whatever technology we want to consume and present the content. We have a 100% control of the presentation. This also means the CMS isn’t tied to one channel, we can use it’s content anywhere we need it. A webpage, native applications, smartwatches, you name it. This is great in terms of reuse.
Since it’s only a content database, the headless CMS main purpose is to store, manage and expose content, and only need to fulfil this need in the best way possible. This creates more focused products but also benefits the internal architecture of our solutions. The CMS is decoupled and is only used as a CMS and nothing else. This keeps us from being locked in towards a specific type of CMS. If we need to switch to another solution, it will probably be a lot easier with headless compared to traditional. Many headless solutions also provide CMS as a Service, which again also benefits the flexibility of headless.
While all of this often is great, it’s also some things to consider regarding headless. Being flexible also means leaving out a lot of answers. This puts a bigger responsibility on the actual developers of the solution since each decision might be the wrong one. Traditional CMS often comes with a pre-defined technology stack and a somewhat streamlined architecture, headless simply does not, for better or worse.
Since a headless CMS not necessarily will deliver content to a webpage, the editing experience might also be a bit different. While this isn’t true for all headless solutions, many don’t circuit around the term of pages and perhaps a given hierarchy like many traditional solutions. For editors used to working with a page tree, this can be a bit confusing. Being detached from the view also creates some other complications for the editors, the preview for instance. This is an important feature and while many headless solutions offer a way of dealing with this, it will most likely require some development time to make it work properly.
A headless CMS brings us a lot of great benefits. It allows us to use the latest and the best technologies with a decoupled system handling our content. Traditional CMS however still has its place in the world and shouldn’t be ruled out to fast.