What is a Headless CMS?
A headless content management system (CMS) is a CMS that is backoffice-only. What that means is that a headless CMS has its focus solely on the administrative interface for content creators, the handling of collaboration and content workflows, and the configuration of content into taxonomies; it doesn’t deal with presentation layers, templates or design of a site.
In a traditional CMS you have a body and a head that is dependent on each other, where the body is the backoffice and the head is the presentation layer, where you can see how your content will look to your users. These are connected and coupled together, so when you create or edit content in your backoffice - your CMS’ body - you can see how it looks in the frontend - your CMS' head. This is the best and easiest way to work with a website, since the coupling of body and head makes it easy to preview and publish content to your website.
This is very different in a Headless CMS, where you do not have this relationship between body and head. The reason is simple - the head is completely cut off from the body (thereby the name headless). That means you are left only with a backoffice, where you can create all the content you desire, but do not have a built-in function to preview your content through the CMS.
Why use a headless CMS, if it just cuts off functionality?
If you are only creating and maintaining content that has one head (a website for example) then a headless CMS might not be the best solution for your needs. But if you have multiple heads, e.g. a website, mobile app, smartwatch and POS screen, then updates to your content has to be done in multiple different places. This can be solved by switching to a Headless CMS.
Frontend agnostic CMS
One of the main benefits of going Headless is that you can build all your content on one platform and have it ready to be attached to any number of heads that you desire. By using a Headless CMS you can focus on the body, that is, on the quality content you’re sending out on multiple devices and have it update on all the heads you attach. If you need to make updates to your content you no longer have to worry about updating it several places. With a Headless CMS all you have to do is update it once and hit publish - then it will update everywhere.
Since the CMS is frontend agnostic, your frontend developers can build heads for different platforms or devices and attach them all to the same body without worrying about compatibility issues across devices or systems. Often the only requirement to a frontend is that it supports HTTP. This also means that the body and the head does not need to be using the same platform or language and there are no strict restrictions from the CMS for the frontend developer to worry about.
If your backend developers prefer to use one language for the body and your frontend developers prefer a different one for the head, then they can easily do that by using a Headless CMS. This also means that your content will be shown as your frontend developers want it to on everything from websites and apps to billboards and smartwatches - and you can be sure that the content is the same across all platforms, since all the content is created in the same CMS.
How does a Headless CMS work?
A Headless Content Management System is all backoffice and is essentially a content repository built from scratch, that you fill with all the necessary content. Since it has no frontend layer, the content built will simply be waiting in your backoffice until it is used by one or more heads. So if you do not attach a head to display the content it will not be visible anywhere - neither to preview nor live.
In the backoffice of a Headless CMS you have the essential functions to create, read, update and delete (CRUD) content, but that is also all you can do. When you go headless you will no longer get a nice WYSIWYG editor or any templates for your content, which means previewing your content is not an option.
To be able to preview any of your content, you will need to attach a head (or multiple heads). Connecting a head is done through a RESTful API, where the content is made accessible from the Headless CMS. To access the content a head has to make calls to this API, which enables the content to be displayed on the given device. That means the content created is idle until any API calls are made from a head and it will not actively be distributed or made viewable without a head specifically calling for the content to be displayed.
Is a Headless and Decoupled CMS the same?
Headless has obvious differences from a traditional CMS, but is often compared to Decoupled CMS' (sometimes referred to as Decoupled Architecture). This is not without reason, since a Decoupled CMS is closely related to a headless CMS as they share the same independence from the head.
While the basic principles behind the two are the same - a body communicating with the head through an API - there is one key difference between the two. Whereas a Headless Content Management is completely headless, a Decoupled CMS is a hybrid of a headless and a traditional CMS. They are both API based, but a Decoupled CMS also includes a default content publishing frontend.
This effectively means that a Decoupled CMS has more frontend features included. The backoffice and frontend of a Decoupled CMS is not “coupled” through a database like a traditional CMS, but the two parts do communicate through API calls.
By making these API calls you are able to use simple templates to see how your content will look and actually publish your content and not just make it available through an API.
To simplify the difference, a Headless CMS can be seen as reactive, where it only displays content when API calls are made. A decoupled CMS on the other hand is proactive, as it makes content visible through a specified delivery environment. The power of a Headless CMS is the flexibility and control over your content, that is unmatched by traditional and decoupled CMS’.
What is an API-first CMS then?
An API-first CMS is essentially a pure Headless CMS, which does not offer any form of preview or frontend functionality. But any headless CMS - even a decoupled CMS - can be called API-first, as they both rely on APIs to deliver the content to the frontends. Most modern Headless solutions today offer some level of previewing your content, which lowers the technological barrier for working with it. This is especially important for marketers, who will need to preview content to ensure it looks right - on any device - before publishing it.
When should I use a Headless CMS?
The decision of Headless CMS vs. Traditional CMS depends on your needs and how you are going to use it.
But let us be clear - if you are only looking to create a beautiful website then headless is not the best fit for you. For that you should still use a traditional CMS such as the Umbraco CMS.
If you are looking to power other types of websites such as Single Page Applications or making your own application for a smart home device, then Headless CMS is the way to go. The Internet of Things (IoT) world is moving at the speed of light and new devices are showing up faster and faster. To be able to deliver a truly great experience for all of these new devices it is important to have a CMS that does not hold you back.
By going headless you can concentrate on creating great content for your users and let your designers make it fit perfectly across all platforms. This is why the headless technology is built for omnichannel, where one update to the content is instantly published across all your devices and displays.
Ready to try Headless?
Do you want to give Headless a go? Then you should sign up for Umbraco Headless - our very own Headless Open Source CMS.
Umbraco Headless is everything you love from our friendly CMS and with the new flexibility of a headless architecture, that enables you to build amazing things.
With Umbraco Headless you get the best of the Umbraco CMS and Umbraco Cloud combined the added flexibility of the Headless technology.