What is it?
A headless Content Management System (CMS) is a content management system which does not have a front end integration. Headless CMSs follow a decoupled architecture model. What this means is that the CMS offers only a back end to store and manage content and an API to get the data you need to show in your client application.
A decoupled or headless CMS is not interested in your front end client application but exists only to model the data and provide the API you define for all the client applications needing that data.
Headless CMSs also provide a nice experience for writing and managing your content all in one place (I'm writing this on a headless CMS called Contentful). The basic editing workflow in headless or decoupled CMSs doesn't differ much compared to a traditional monolithic CMS like Wordpress, Drupal or Joomla. However, headless CMSs have often a modern and more up to date user interface for a much more pleasant editing experience.
Why to use a headless CMS?
There are countless reasons why you should use a headless or decoupled CMS for your business. One of the biggest advantages of using a headless CMS is that you can manage all your company's data and assets in one place. You can then use them in every single application or use case your company has.
Headless CMSs allow you to manage your company's content and assets all in one place
The decoupled architecture model of headless CMSs allows you to use the assets and content in many applications and clients instead of just one
Decoupling the CMS from the front end frees you to use whatever technologies are best for your use case.
You can use the same content from your headless CMS in new applications without having to change the back end
Headless CMSs are more secure since decoupling brings an extra layer of security compared to a tightly coupled monolithic system
The editing experience is often much better compared to ie. Wordpress
Reduces the time to market with new and existing applications
Easily scale as your needs and requirements change
How do they work?
You write your and manage your content and assets in the headless CMS of your choice. Client applications then fetch the content and data you define in the headless CMS through a REST or GraphQL API.
The basic process of using a headless CMS with your front end client application usually goes a little like this:
You write and manage all your content and assets on a cloud based headless CMS
The headless CMS of your choice provides a private API (or public if you want)
Your front end client application fetches the data it needs through the API (either GraphQL or REST) and renders is as content or information on the front end. Your front end application can be anything from a website to a full blown mobile application.
Headless CMSs are usually cloud based services which offer many plans for different purposes. Choosing a cloud based service rather than self hosting is often a better choice since you can outsource all the technical management of the system and focus on the editing experience and content management.
What Headless CMS options are there?
Currently there are countless of headless CMSs to choose from. The market is quite saturated and it can be a daunting task to choose the right headless CMS for your company's needs and requirements. New headless and decoupled CMSs are emerging on a daily basis.
For our clients at Ikius we usually go with Prismic.io since it has an incredible UI/UX, it's easy to integrate, fast to setup and it's affordable by small and medium companies. We are also fairly experienced working with Prismic.
For larger projects and enterprise/corporate needs we currently use Contentful. Contentful is more flexible and professional for serious larger enterprises but it's much more expensive than most CMSs. Contentful's pricing ranges anywhere from 49$ to thousands of dollars in a month depending on what features you need to have.
Other interesting headless CMSs we have noticed include:
agilitycms.com - A hybrid CMS for more complex enterprise projects and really dedicated support
strapi.io - a nice open source CMS (Self hosted only)
GraphCMS - focuses on a GraphQL API
keyCDN - for larger amounts of API requests and data with scaling pricing
Headless CMSs are a new way to manage content and assets. They provide an easy way for content managers to manage content and assets. For technical people like developers and project managers they are easy to use and integrate in various projects.
When you're designing your company's digital infrastructure it is worth noting that choosing a headless CMS instead of a traditional monolithic tightly coupled legacy CMS can save you huge amounts in development, maintenance and upkeep costs in the long run. Headless CMSs will also expand the lifespan of your applications significantly and make your web service more future proof.