What Is a Headless CMS and Should You Be Using One?
According to Forrester's 2015 Global Business Technographics Software Survey, more than 70 percent of North American companies either use or plan to use a content management system in some capacity. Unfortunately, traditional CMS tools provide little flexibility when it comes to integrating new delivery formats. Consequently, introducing mobile or IoT functionality to your application architecture can present challenges, which is why more developers are choosing to go headless.
This post will go over everything you need to know about what a headless CMS is, and when you should consider using one.
What is a headless CMS?
The "head" in "headless CMS" refers to the frontend. A headless content management system consists primarily of an API as well as the backend technology required to store and deliver content. The headless approach allows developers to provide content as a service, abbreviated as CaaS, which simply means that content storage and delivery are handled by separate software. A headless CMS can make the following tasks less of a headache:
- Modelling, creating and authoring content
- Organizing content repositories
- Improving workflow and collaboration
As a trade-off, headless platforms lack web delivery layers like templating systems. Unlike traditional CMS architecture, which requires you to follow specific rules and use designated programming languages, a headless CMS gives developers complete control over how content is presented to the user. By losing the head, you can integrate with any codebase and use your preferred language.
From a technical standpoint, a headless CMS simply uses API calls to render content within the website's codebase rather than creating complex relationships between code and content. For this reason, many developers find headless architecture easier to maintain. Also unlike a traditional CMS, a headless CMS typically doesn't require a host, yet self-hosting options do exist. You also don't have to worry about all of the endless security updates and other maintenance issues that come with using a traditional CMS like WordPress.
Traditional CMS vs decoupled CMS vs headless CMS
You may see the terms "headless CMS" and "decoupled CMS" used interchangeably, but they actually describe different systems. Here's an overview of the three types of CMS architecture:
Traditional or coupled CMS
In a traditional CMS, also known as a coupled CMS, the backend and the frontend are inextricably bound. All website design and customization applications are stored in the backend while visitors see the frontend. Many popular blogging platforms, like WordPress and Squarespace, are coupled CMS tools. A coupled CMS contains:
- A database for storing content
- A backend where content is created
- An application for making design schemas
- A frontend for displaying published content on HTML pages
In a decoupled CMS, the backend and frontend of the website are managed by two separate systems. After content is edited in the CMS, it must be pushed through an API and published to a designated delivery management system, or frontend. Consequently, frontend architecture is largely predetermined. A decoupled CMS consists of:
- A database for storing content
- An administrative interface including applications for creating and managing content
- A predetermined content-publishing frontend, which is connected to the backend through an API
What exactly is the difference between a decoupled CMS and a headless one? Headless architecture doesn't include any frontend system whatsoever. Instead, content is published to an API or web service that is capable of pushing content straight to any smart device.
A major benefit of using a headless CMS is that the same content can be published to a website, an app or anything connected to the internet of things. In the long run, the headless approach has practical implications for the IoT and artificial intelligence; in the short run, it can make managing content across different delivery formats much easier since the content isn't bound to a predetermined structure. A headless CMS has only:
- A content management backend
- An API
The benefits of headless CMS architecture
As we've already mentioned, there are a number of benefits to using a headless CMS over a traditional or coupled CMS. The top five benefits include:
- Flexibility: Some developers find traditional CMS architecture to be frustratingly limiting. Using a headless CMS gives you the freedom to build a frontend framework that makes sense for your project. Since every headless CMS comes with a well-defined API, developers can spend more time focusing on content creation rather than content management.
- Faster time-to-market: Speaking of which, creators needn't concern themselves with how different frontends display their content since all updates are pushed across all digital properties. This not only speeds up production, but it also allows you to reuse and combine individual content items.
- Compatibility: You can display content to any device while controlling the user experience from one convenient backend.
- Extra security: Since the content publishing platform isn't accessible from the CMS database, using a headless CMS lowers your risk of DDoS attacks.
- Scalability: Keeping the backend and frontend separated usually means no downtime is needed for maintenance, so you can upgrade and customize your website without compromising performance.
The challenges of using a headless CMS
With greater freedom comes greater responsibility. Since frontend rendering must be handled with separate software, developers must be familiar with multiple codebases if they go the headless route. A headless CMS may also present formatting challenges since you can't always preview what content will look like on the page. Therefore, you have to take extra measures to anticipate how things will turn out on the frontend.
Going headless also sacrifices personalization. Because of the separation between content and delivery, a headless CMS may not gather sufficient information about the visitors to return personalized content. Fortunately, there are business intelligence tools that can get around this problem by allowing you to collect full content analytics.
While using headless architecture comes with some security advantages, you'll have to set up permissions and user credentials to protect confidential content from non-authorized users, which can be tedious.
Use cases for headless CMS
Headless content management can be ideal for the following use cases:
- Websites created with a static site generator
- Any ecosystem where the same content is published across multiple delivery platforms
If you feel like a traditional CMS imposes too much rigidity onto your project, then a headless option may help you more accurately achieve your vision. Mobile developers especially benefit from headless content management since the API allows them to deliver content to an iOS or Android app from the same backend.
The headless approach certainly allows developers to create more engaging user experiences, but it's not necessary for small company websites with only a few pages. For simpler projects, using a traditional CMS like WordPress is the faster and more efficient way to go.
5 headless CMS options
Now that we've covered what a headless CMS can do, let's look at some of the tools developers have to choose from:
Directus is great for projects that require highly customized databases. Written with Backbone.js, this open source CMS boasts many features including asset management, messaging, commenting, versioning and internal extension points. The public API uses REST.
Like many traditional open source CMS tools, Directus is powered by PHP, so developers familiar with the scripting language should feel right at home. Businesses can benefit from the hosted option if they don't want to be bothered with scalability or maintenance, but WordPress veterans should have an easy enough time with the free version.
2. Cockpit CMS
Cockpit gives developers more control than a traditional CMS by allowing them to use the frameworks and programming languages of their choice while authorized individuals maintain full control over content management. Limiting when and where updates can be made helps avoid unintentional changes to settings and plugins, so a small mistake will never render an entire website broken. Best of all, this headless CMS is open source.
Cockpit CMS is the product of a single developer, so support is lacking and updates are rare. While other developers can add code to the project, keep in mind that no one may be reviewing or correcting it for some time. Security features are also lacking compared to other headless CMS software. If you're working on a small project, and you just want a little extra flexibility, Cockpit is a good way for developers to get their feet wet.
Contentful is welcoming to newcomers, so anyone can start creating data entries relatively quickly; however, as you delve further into its features, you'll find that this CMS has quite a bit of depth. It's also one of the more affordable options for small or medium sized businesses.
While APIs are available to help with content display and editing, developers are completely responsible for functionality. If you're used to working only with coupled architecture, you'll have to get comfortable with concepts like content modeling and search-based management. Nonetheless, overcoming these learning curves can be well worth the endeavor.
This easy-to-install headless CMS allows you to seamlessly transfer content from your old traditional CMS. The biggest selling point of ButterCMS is its SEO support, which can help significantly boost your page views. Simplifying the posting process helps bloggers create more content at a faster pace, which translates to more leads and conversions.
The UI is simple however could be polished in certain areas and a set of commonly used templates are currently lacking. The creators of ButterCMS are continually working on improvements, however, and they often respond to users who contact them with questions or suggestions.
5. Kentico Cloud
Best known for its intuitive UI, Kentico Cloud is ideal for headless beginners and experts alike. If you're consistently producing new content for a lot of users, Kentico is great because you can produce all of your structure content in one place. Once your content is ready to publish you can either push it to your existing CMS or use their API to publish content directly on your website or app.
Kentico Cloud offers a free version to start with, although if a large amount users, content API calls, or tracked visitors are needed the price can increase quickly. Nonetheless, if you're looking for a headless CMS option with several built-in modules, Kentico Cloud will likely meet your needs.
Headless WordPress or Drupal
If you really like WordPress, there are ways to make it headless such as using the WordPress REST API and Create React App. Using such a setup grants greater flexibility while allowing you to keep the amenities that you're accustomed to.
Making Drupal headless is even easier since Drupal 8 comes packaged with the RESTful Web Services module. Given Drupal's massive community support, this may sound like an ideal avenue for developers who are new to headless architecture but keep in mind that Drupal wasn't designed for this approach.
Whenever you try to teach a traditional CMS new tricks, you're going against the grain. Neither WordPress nor Drupal were built with the purpose of being headless, so you may be better off learning from an open source option like Cockpit or Directus depending on your needs.
Managing content can be a tedious job, but someone has to do it. Fortunately, a good CMS can eliminate much of the hassle and allow developers to focus their energy elsewhere. Using a headless CMS isn't the best option for every web project, but you should at least familiarize yourself with the concept since they are becoming more and more popular in content management system ecosystem.