What is a Headless Content Management System?
Traditionally a content managed system has been comprised of two elements – a backend for adding and managing the content and a frontend for displaying that content. These two elements have been combined into a single application, such as WordPress or Drupal.
A headless CMS does away with the frontend and provides a system for managing and providing content only. This is usually by a familiar backend system allowing a user to login, create pieces of content, for example blog posts, news items, products etc. and save them to a database.
Delivery of this content is then done by the use of a RESTful API, that will return content only often in JSON or XML format. This will be purely content and contain nothing that would be used to display this content.
Advantages of the headless approach
Because the CMS is tasked with only delivering content, it allows separate frontend applications to be developed to display this content. This could be a website, a mobile application, desktop application, PDF generator, smart watches etc. A single CMS could have several different frontends retrieving content from it simultaneously and all looking very different.
As the various frontend applications only access content via the API supplied, unlike a traditional CMS where the frontend part would make calls directly to the database, security is increased because these applications have no direct access to the database.
Development Flexibility and Speed
Because front and backend development are separated and not dependent on each other, both parts of a system can be developed independently and simultaneously. The front and backend will only interact via the API so it doesn’t matter which CMS or frontend system is used. The frontend developers need only know how the API works.
This also gives more flexibility from a resourcing point of view as you do not need to look for specific development skills or allow developers to create the content display applications in their preferred system (PHP, .Net, NodeJS, Django, AngularJS etc).
When you want to redesign your website, or produce a new application based on the same data, you can make use of the same CMS with no modification. All you need to do is build a new frontend to display that data, which also means no data migration is required.
Available Headless CMSs
There are several commercially available headless CMSs available, including ButterCMS, IBM Watson Content Hub and Directus. In addition, both WordPress and Drupal have extensions available to turn them into headless systems.