What is a headless CMS? And should you be using one?
The question of what CMS to use is becoming more complex because of increasing publishing demands and there are many other factors to take into account when choosing what way to go. Let's take a look at some different types of CMS and some of their advantages and limitations.
The legacy or monolithic CMS
In order to explain what Headless means, we first need to look at the past. The opposite of a Headless CMS is a Monolithic CMS. The (often older) systems (like WordPress, Drupal, Joomla, …) are built to provide an all-in-one solution to create and manage web experiences. This means that they provide both the back and front end of the website in a single package.
The upside of these monolithic CMS is that they are very mature and very well connected internally to provide a lot of functionality out of the box. They are often very easily extendible by their large plugin libraries (especially when the system is open-source). And by installing plugins, you can extend the backend capabilities of the system and at the same time make the new features visible on the front-end of the website.
The downside is that you are kind of stuck with what those systems provide you in terms of technology and flexibility. They come from a time when you only needed to deploy content to a single web page. If you want to deliver the same content to a website, mobile app, IoT devices, or smartwatch,… their streamlined architecture might not be suitable. They also suffer from scaling issues. Of course, there are solutions to scale up monolithic CMSs but that can become quite inefficient. And then there are possible performance issues (especially at scale) that you might not be able to overcome, even with the help of CDNs and advanced caching solutions.
However, for most use-cases, performance issues can be resolved by doing a website speed optimisation project.
What is a headless CMS?
A Headless CMS actually does what the name says. It cuts off the head of the CMS. The head is the presentation layer (front-end) of the platform. Basically, a truly headless CMS is a database with an advanced user interface to manage content and data. The backend provides APIs so you can freely choose which technology you want to use to build your front-end to give maximum power and flexibility to the developers. It’s also sometimes referred to as CaaS (Content as a Service) or MCaaS (Managed Content as a Service) when it’s cloud-hosted. They store (raw) data and let the front-end applications take care of layout, presentation and formatting.
Headless CMS benefits:
- Creating a fully separated front-end allows developers to use a modern front-end technology stack. Which is important to a lot of developers and therefore they also often advocate the use of these platforms.
- It can avoid vendor lock-in as your front-end is fully separated from your back-end platform and doesn’t require you to use specific tools or technology.
- It’s also easier to integrate modern continuous deployment and technology pipelines. Yes, DX (developer experience) is also important and often underestimated.
- Apart from that, you can optimise the front-end platform and delivery method for optimal performance no matter what CMS is at the backend. You can twist and turn anyway you like but nothing compares to deploying a simple optimised pre-rendered and cached HTML file to a server when it comes to speed.
- The content for all your platforms is created and maintained in a single system. For marketing teams, this can speed up your time to market.
There are also some downsides:
- You will need more servers to deploy your platform. Because your backend and your different front-end applications all need their own hosting. So that also means more servers (and different types of server) to manage.
- They require more technical knowledge to set up (coding skills).
- There are very limited layout options for content creators. If you need a new page layout, your developers will need to create it for you.
But Wait, there is more; Meet the Decoupled CMS
A decoupled CMS also referred to as a hybrid CMS combines both the monolithic and headless CMS into a hybrid version of both. They have a backend solution with an integrated front-end but also have an extensive API to connect with custom applications.
A lot of older legacy monolithic CMS are transforming into decoupled systems by adding APIs to offer more functionality.
There are advantages of using a decoupled CMS (vs headless)
- You have a WYSIWYG (What You See Is What You Get) editor. This is particularly interesting for content creators and marketers. However, this is a bit of a double-edged sword*. More on this in the section with limitations below.
But there are also limitations:
- Because a decoupled CMS has both front- and back-end capabilities, it’s more complex compared to a headless system.
- *When you have a WYSIWYG editor in your backend, you can lose some flexibility of dynamically publishing to different platforms. Because those backend editors allow for formatting and layout to be saved directly within the content.
Tip: If you can control layout in the backend you are most likely working with a Decoupled CMS and not a Headless one.
So, which one do I pick?
No system is perfect and there is no cut-and-dried solution which one is best. So, no matter what solution you end up using, you will always have to compromise in some way.
To make an informed decision as to what solution(s) work best for your use case, take into account your in-house expertise, long-term maintenance and support capabilities and requirements. And both current and future publishing ambitions.
Then talk to experienced people about the advantages and restrictions of the different platform types and then dive into the big variety of solutions within each of them to narrow down what will work for your business.