Headless CMS's seem to be all the rage.... 4 years ago. For some crazy reason, most sites on the internet are still using monolithic systems. With headless-CMSs appearing everywhere and traditional CMSs rising to the challenge by matching many technical features, what are headless CMSs really bringing to the table?
Headless CMS's have been around for a while and have, by changing the architecture of content sites, have introduced many benefits on a technical level. I won't be getting into the technical differences and their benefits here; this topic has been covered extensively all over the internet. I would, however, like to point at an interesting trend; Many legacy content management systems (like WordPress and Drupal) now allow you to overcome many of the issues Headless CMSs came to solve by simply offering an API to read data.
But for anyone not familiar with the whole Headless CMS discussion: A headless CMS is a content management platform that allows websites to retrieve content via an API, in other words, a single communication port. Managing your content this way lets it live as content only and is not dependant on your website's design. Many opportunities arise from this separation of concerns: The first is that you have a significant opportunity to improve the performance and security of the site. By, for example, rendering all the content and the design in a server once and serving static HTML. It's not uncommon for sites to achieve a perfect performance score when being built using this method.
What I want to focus on in this piece, however, are the benefits of having a database management platform accessible via a simple UI.
Here comes the most dramatic difference between older CMSs and most headless CMSs. Traditional systems were initially built for a particular use case. In the case of WordPress, for example, to manage a blog or a content website. And anything that deviates from this use case either has to break the system, misuse it, or do some funky workarounds. Headless-CMSs on the other hand, let you start from a clean canvas, structuring your data how you need it for your specific use case.
The sites and apps that we build have more data available on the site. It can start from something as simple as user registration and continue with particular analytics metrics or even productivity directly related to the content, like an approval process or publication schedules. Paired with powerful access control features can dramatically improve the business cost of getting access to these operational features. Here's a quick example: A membership chain with multiple branches, keeping track of their user's membership status, payments and automation. With proper user access control (AKA letting branch owners see only their members), A dev can, with relative ease, produce a powerful and flexible management system, especially if it connects seamlessly with multiple clients - like a members app, where they can update their membership status.
I keep jokingly saying to my customers how Google has ruined freelance developers' lives by setting customers' expectations super high, having them interact with products like Gmail, Google Search, and Calendar that "just work" where the millions of work hours spent on that product is hidden from plain sight. They expect their custom super custom product to offer nothing less. On the other hand, high-end features that were very difficult to implement are now far more available. And that is where integrated management services can shine, providing services like Realtime Data, weighted search (in multiple languages), Authentication user management and access control, File handling and caching and global CDN for these files.
The last point I'm going to make is regarding process automation and integrations of different services with our Data Hub. Things like email integration (newsletters), CRMs, UI Builders, survey tools. All by direct integrations like having collection items available in the email lists, campaigns etc. Or by bringing the service to the data hub as just another service offered by the CMS.
In conclusion, the advantages of a headless CMS have to be evaluated through a business value today much more than the tech lens that often describes the Headless CMS discussion.