A headless Content Management System, or headless CMS, is a
back end-only
web content management system that acts primarily as a
content repository. A headless CMS makes content accessible via an
API for display on any device, without a built-in front end or
presentation layer
In the seven-layer OSI model of computer networking, the presentation layer is layer 6 and serves as the data translator for the network. It is sometimes called the syntax layer.
Description
Within the service layering semantics of the OSI ne ...
. The term 'headless' comes from the concept of chopping the 'head' (the
front end) off the 'body' (the back end).
Whereas a traditional CMS typically combines a website's content and presentation layers, a headless CMS comprises the content component and focuses on the administrative
interface
Interface or interfacing may refer to:
Academic journals
* ''Interface'' (journal), by the Electrochemical Society
* '' Interface, Journal of Applied Linguistics'', now merged with ''ITL International Journal of Applied Linguistics''
* '' Int ...
for content creators, the facilitation of content
workflow
A workflow consists of an orchestrated and repeatable pattern of activity, enabled by the systematic organization of resources into processes that transform materials, provide services, or process information. It can be depicted as a sequence ...
s and collaboration, and the organization of content into
taxonomies. A headless CMS must be combined with a separate presentation layer to handle design, site structure, and templates. That combination generally relies on
stateless or loosely coupled APIs.
One advantage of this decoupled approach is that content can be sent via APIs to multiple display types, like mobile and
Internet of things
The Internet of things (IoT) describes physical objects (or groups of such objects) with sensors, processing ability, software and other technologies that connect and exchange data with other devices and systems over the Internet or other com ...
(IoT) devices, alongside a website.
A disadvantage, however, is that maintaining two separate systems for a single site can require more resources.
Cloud-first headless CMSes are those that were also built with a
multi-tenant cloud
In meteorology, a cloud is an aerosol consisting of a visible mass of miniature liquid droplets, frozen crystals, or other particles suspended in the atmosphere of a planetary body or similar space. Water or various other chemicals may ...
model at their core and whose vendors promote
software as a service
Software as a service (SaaS ) is a software licensing and delivery model in which software is licensed on a subscription basis and is centrally hosted. SaaS is also known as "on-demand software" and Web-based/Web-hosted software.
SaaS is co ...
(SaaS). These vendors promise high availability, scalability, and full management of security, upgrades, and hotfixes on behalf of clients.
Headless commerce uses the same setup to separate back end product management and navigation from the front end of a website or other display types (e.g. IoT). This is similar to how headless CMSes focus on creating content in the back end to be displayed on front ends via APIs.
Headless CMS is similar to but distinct from the use of
widgets or
plugins
Plug-in, plug in or plugin may refer to:
* Plug-in (computing) is a software component that adds a specific feature to an existing computer program.
** Audio plug-in, adds audio signal processing features
** Photoshop plugin, a piece of software t ...
on a site, like adding an online ordering and delivery plugin to a restaurant website.
Common features
Most headless CMS platforms employ a version of these features:
*
GraphQL API
**
Query and Mutations API
*
RESTful API
*
Microservices
A microservice architecture – a variant of the service-oriented architecture structural style – is an architectural pattern that arranges an application as a collection of loosely-coupled, fine-grained services, communicating through ligh ...
architecture
* Multi-channel publishing
*
SDKs and
CLIs
* Editor interface
* Workflows
*
Versioning
* Roles and
permissions
* Content modelling
* Asset library
* Content types and taxonomy
*
Localization
* Visitor
segmentation
*
Personalization
Personalization (broadly known as customization) consists of tailoring a service or a product to accommodate specific individuals, sometimes tied to groups or segments of individuals. A wide variety of organizations use personalization to improv ...
Coupled CMS vs. Headless CMS
Most monolithic content management systems are 'coupled', meaning that the content management application (CMA) and the content delivery application (CDA) come together in a single
application
Application may refer to:
Mathematics and computing
* Application software, computer software designed to help the user to perform specific tasks
** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
. This makes back-end user tools, content editing and
taxonomy
Taxonomy is the practice and science of categorization or classification.
A taxonomy (or taxonomical classification) is a scheme of classification, especially a hierarchical classification, in which things are organized into groups or types. ...
,
website design, and templates inseparable. Coupled systems are helpful for blogs and basic websites, as everything can be managed in one place. Conversely, in a coupled CMS, CMS platform code is tightly connected to any custom code and templates, so developers have to spend more time on installations, customizations, upgrades, hot fixes, and more. They cannot easily move their code to another CMS.
Traditional content management systems are often seen as the easiest and most cost-effective way of creating dynamic websites. Popular templates and themes make it straightforward to carry out basic website design, while freelance developers offer a range of affordable support. The traditional approach also appeals to those looking for a DIY solution, as it is relatively easy to learn how to manage and design a website using a traditional CMS.
Decoupled CMS
The difference between a decoupled CMS and headless CMS is based on the inclusion of the front end in the offering: Decoupled CMS would always have a front end included in the offering though connected with an API, hence following the decoupled architecture, whereas a headless CMS does not offer the front end at all but an API using which content is served.
In response to the introduction of headless CMSes, many traditional CMS vendors have implemented APIs on their systems, promoting them as
decoupled CMS
'' Decoupled'' is an Indian English-language comedy web series for Netflix written by Manu Joseph and directed by Hardik Mehta. The series stars R. Madhavan and Surveen Chawla in the lead roles.
Plot
A misanthropic writer and his startu ...
es. This approach promises website rendering capabilities along with the flexibility of a headless CMS. Yet, the APIs are still based upon a model designed for a singular website, making them somewhat coupled and thus limiting the contexts in which one can effectively use the content.
A decoupled CMS and a headless one because they have a lot in common as a headless CMS is a ''type'' of decoupled architecture. Like a headless CMS, a decoupled CMS separates the CMA and CDA environments, typically with the content created behind the
firewall and then synchronized and pushed to the delivery
environment
Environment most often refers to:
__NOTOC__
* Natural environment, all living and non-living things occurring naturally
* Biophysical environment, the physical and biological factors along with their chemical interactions that affect an organism or ...
. The main difference between a decoupled CMS and a headless CMS is that the decoupled architecture is active: it prepares content for presentation and then pushes it into the delivery environment; whereas a headless CMS is reactive: it sits idly until a request is sent for content. Another core difference is that the decoupled first offer APIs to serve content, while the latter are API-exclusive.
The decoupled architecture allows for easier scalability and provides better security than coupled architecture, but it does not provide the same support for omnichannel delivery. There are multiple environments to manage, hiking up infrastructure and maintenance costs.
Criticisms and disadvantages
Headless CMS is a content management system (CMS) without a pre-built front-end presentation layer or templating system; instead, it provides a content repository and an API for managing the content. While this allows for greater flexibility and customizability, it can also present challenges or drawbacks for teams and organizations. The main downside is that it may require more effort to set up and configure and a certain level of web development knowledge on both the front and back end.
* They require heavier technical proficiency than their monolithic counterparts.
* Since there's no front-end framework built into the architecture, setting up a headless CMS requires front-end development skills.
* There is sometimes no built-in preview function for unpublished content. Editorial teams highly value this feature.
* Managing multiple systems can be challenging, and a team's knowledge base must cover all of them.
* Due to how customizable headless CMSes are, there are a lot fewer options when it comes to ready-made templates or plug-ins.
* Lack of channel-specific support
* Since pure headless CMSes don’t deal with the presentation layer, developers may have to create some functionality on their own, such as website navigation.
* As pure headless CMSes do not typically provide the concept of pages and web sitemaps, content editors need to adapt to the fact that content is organized in its pure form, independently on the website or other channels.
Potential benefits
A headless CMS offers a solution to issues arising from the traditional approach by decoupling the front end (the "head") from the back end. This allows the front end to be reworked or changed anytime, and different front ends can consume the same content. Furthermore, the architecture of the CMS is more secure as the content is stored on a separate server from the front-end presentation, which reduces the potential attack surface.
* Omnichannel connectivity for agile marketing
* Improved developer experience
* Reduced attack surface
* Easier to migrate to new technologies
* Faster front ends due to
JAMStack
Jamstack, previously stylized as JAMStack, is a web development architecture pattern and solution stack. The initialism "JAM" stands for JavaScript, API and Markup (generated by a static site generator) and was coined by Mathias Biilmann in 2015. ...
and
static-site generators
* Increased fault tolerance
* Less infrastructure for developers to maintain
* Increased collaboration between developers and content creators
* Content scalability: write once, deploy anywhere
* Optimization out-of-the-box
See also
*
List of content management systems
Content management systems (CMS) are used to organize and facilitate collaborative content creation. Many of them are built on top of separate content management frameworks. The list is limited to notable services.
Open source software
:''Th ...
*
Content management system
A content management system (CMS) is computer software used to manage the creation and modification of digital content ( content management).''Managing Enterprise Content: A Unified Content Strategy''. Ann Rockley, Pamela Kostur, Steve Manning. New ...
*
Content management
*
Content Management Interface
*
Document management system
A document management system (DMS) is usually a computerized system used to store, share, track and manage files or documents. Some systems include history tracking where a log of the various versions created and modified by different users is r ...
*
Dynamic web page
*
Enterprise content management
Enterprise content management (ECM) extends the concept of content management by adding a timeline for each content item and, possibly, enforcing processes for its creation, approval and distribution. Systems using ECM generally provide a secur ...
*
HTML
The HyperText Markup Language or HTML is the standard markup language for documents designed to be displayed in a web browser. It can be assisted by technologies such as Cascading Style Sheets (CSS) and scripting languages such as JavaScri ...
*
Agile software development
In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ...
*
Information management
*
Knowledge management
Knowledge management (KM) is the collection of methods relating to creating, sharing, using and managing the knowledge and information of an organization. It refers to a multidisciplinary approach to achieve organisational objectives by making ...
*
LAMP (software bundle)
LAMP (Linux, Apache, MySQL, PHP/Perl/Python) is an acronym denoting one of the most common software stacks for many of the web's most popular applications. However, LAMP now refers to a generic software stack model and its components are largel ...
*
Revision control
In software engineering, version control (also known as revision control, source control, or source code management) is a class of systems responsible for managing changes to computer programs, documents, large web sites, or other collections o ...
*
Web application framework
*
Personalization management system
References
External links
*{{cite web, url=http://www.cms-connected.com/News-Archive/December-2016/The-Ultimate-Guide-for-Headless-Content-Management, title=The Ultimate Guide for Headless Content Management Systems, first=Venus, last=Tamturk, date=December 16, 2016, accessdate=2018-06-07, website=CMS-Connected
Content management systems