How to choose a headless CMS: the most important criteria to make the choice

Paolo Mioni
HCEverything
Published in
11 min readMar 20, 2024

In the jungle of modern CMS choices, which is the one you should choose? This article aims to help you not to select the best headless CMS (that’s impossible), but the right criteria to make the choice.

There’s a great numbers of headless CMSs on the market, all seemingly doing the same function and providing a very similar set of basic features. There is a huge difference between them in terms of costs, with licenses for enterprise versions of market leaders costing even hundreds of thousands of dollars per year, whereas less known competitors can cost a fraction of that.

So how do you choose the right one for your project (or company)? There are several things to consider.

What’s a headless CMS?

First things first: some of you might not be completely familiar with what exactly a headless CMS is. If you already know, skip to the next section of this article.

A headless CMS is a way of managing sets of information (articles, lists of references, technical documents, product information, picture galleries) in a way that is totally independent of their presentation (what you enter in the system is the information’s structure, not the way that it is presented to end users). Once the information is inserted, it can be consumed and displayed in several different ways.

The same series of articles inserted in a headless CMS can be easily displayed with a completely different graphical presentation in a web site, in a mobile app, or automatically inserted at the bottom of a newsletter, without manually copying and pasting the text from one place to the other. This can happen thanks to the fact that the information is available through APIs (web services that provide data on demand) that serve the raw information structure, and any target system can display it to the users the way they want, depending on the touchpoint in use.

With headless CMSs, it is also very easy to structure information very precisely, creating specific fields for specific pieces of information (think about a movie database, where you need to enter the director, the screenwriters, the actors, date of release, average rating, etc.) and validating them according to the desired format. It is also very easy to create relationships between different pieces of information, creating complex structures for your data.

In a Headless CMS, a data structure can be easily created using only a graphical interface, as opposed to using code, which is more intuitive for less skilled users (even though the task is still done by developers, as it’s quite technical). This does not always bring to time savings, but it can be very useful, especially when starting a new project.

The usage of APIs to deliver content has also become almost indispensable for all recent websites built with reactive JavaScript frameworks like Vue or React, used in a so-called “serverless” architecture. These frameworks read data using APIs, which can potentially come from very different sources, mix it together according to need and display it to the end users.

This is completely different from old “monolithic” CMSs (like WordPress), where data structures were limited, or had to be written in code, and information was often partially preformatted by the user while being inserted. Given the fact that headless and composable solutions have been very fashionable lately, most of the old CMSs have developed solutions that are similar to Headless CMSs, like APIs and codeless data structures, but often they are not implemented natively, but more as an afterthought. This can lead to significant differences in performance and ease of use depending on the technology being used.

When is a Headless CMS useful?

Beside being fashionable, and very useful when your site is made with reactive frameworks, why should you use Headless CMSs instead of “standard” systems? Here are some points:

Centralization of information

It can be extremely useful to centralize the management of information within your company, having a single place where a specific piece of information resides and is updated for everybody (a so-called “single source of truth”). This avoids having to share text documents between users, or doing copy and paste of information in different systems. For example, you don’t have to start long workflows, a long chain of tickets or emails, to update a couple of sentences in a product description, then check things to make sure everybody got the text right. You just edit in one place and click “Publish”.

Furthermore, if you have a complex approval requirements for you content (for example, your texts must be validated by a legal department or a lawyer before going live), you can implement advanced validation workflows that allow to have the right OKs from the right people before a content goes live and is updated, everywhere in your touchpoints.

The extra cost in building a headless system is usually completely compensated by the efficiency of the process and the numbers of emails, tickets, calls that are spared to all involved in the process. It also allows companies to improve their brand identity: this is part of what is called an “omnichannel” approach, a way for enterprises to keep their brand information consistent across all media.

Design Systems

A Design System is a set of components that make up a website or application, and can be composed together to create a complete modular website, where every page is built like a Lego toy. Basic pieces like text, images, buttons and inputs can be put together in different components that in turn can be used to create a complex, modular page.

A Design System can have a higher upfront setup cost, but it allows for incredible flexibility in creating great quantities of complex content, all the while maintaining a coherent visual style (brand consistency), thus improving business value and the usability of a digital product, ultimately improving customer retention. In the long term, a Design System provides significant cost savings both in terms of development and content creation/composition.

Since Headless CMSs came out around the same time Design Systems were becoming a requirement for big projects, they are natively built to comply with a design system’s technical requirements in terms of data composition. Content can be organized in small blocks of data, which then can be composed to form different pages in a website. The same component can be used in different pages and page types, for maximum flexibility. It is also possible to decide which components can be inserted in a specific page type (eg: a product page, a blog post page), thus enforcing a set of rules within a flexible Design System.

Criteria for choosing a Headless CMS

Availability / Reliability / Performance

The purpose of a Headless CMS, once the content has been inserted, is to provide that content in a fast and easy fashion. If the content is needed for an internationalized app that is used all over the world, you might need extreme high speed worldwide delivery. In this case, it’s important that you choose an established player with a great worldwide distribution strategy, like Contentful or Contenstack. On the contrary, you might be creating a website that is fully cached through a CDN on your end, and in that case the speed of delivery might not be as important, and you might be fine installing the software locally, like you can do with Strapi or with Sulu.

Service Level and Support

The high-tier CMSs offer SLAs with up to 99,95% availability (this means that they can be unresponsive for about 4 hours per year, in case of emergencies). This is a high level of commitment, since it requires a very well organized infrastructure. It can therefore be very expensive. Other CMSs provide a lower SLA, which means you might want to take into account the fact that they might (they have the contractual right to) be down for 8 or more hours a year.

Support is also vital in case of issues or development problems. Some Headless CMSs offer plans with real time support via chats like Slack, others will require you to file a ticket on their ticket system. A real-time chat, if managed by competent people, can make all the difference when you have a problem that needs to be solved in real time.

So, if your application is not mission critical, you might save some money and use a great “smaller” CMS like DatoCMS, or Strapi. Vice versa, if you need a high level of support, you might resort to the big players like Hygraph or Storyblok.

Informational material / Documentation / Community

Managing content in a Headless CMS seems to be reasonably straight forward: insert title, insert text, add picture, click “publish”. However, it can happen that content managers can feel stuck because the modular approach to building content can be a strong paradigm change for them, who maybe have been inserting articles in WordPress all their lives.

In this case, it is vital to have good manuals and good training. Most Headless CMSs have a clear interface which is quite self-explanatory, but it might be very useful to have comprehensive manuals (in the user’s language) in order understand the system better. Furthermore, people from the younger generations tend to be visual learners, and might prefer to watch videos instead of reading manuals. Some Headless CMS companies have tons of video tutorials, others very few. That might make a difference for you if your content management staff is of the less skilled kind or is new to these systems.

The same is valid for developers: the more documentations, examples, demos, walkthroughs they have available the better. Video lessons are less important maybe in this case, except for beginner developers. The bigger players tend to have a better set of documentation both for end-users and developers, but that obviously comes at a cost.

A community of users can be important to find help/suggestions when there is no documentation for a specific problem, or you don’t want to pay for a support plan. Therefore if a specific Headless CMS has lots of questions on Stack Overflow or similar platforms, it generally means that it’s widely used and you will find answers to common issues more easily (although you might think at first that it’s because it’s full of bugs 😉). At the time of writing, Contentful has over 800 Stack Overflow questions, Storyblok has 70, others have fewer.

Real time preview

Since the most difficult task for end-users is to check that their content looks correct on the target destination, it is very useful to have a quick preview of the content. Some Headless CMSs feature a live preview system that takes a little to integrate with your website, but then allows to preview things in real time. This is very useful if you have a main target for your content (a specific app / website), less so if you are really using the CMS as an omnichannel system. This feature has become very important for many users, so it’s slowly being introduced in many CMSs that didn’t have it at first. The first to introduce it has been Storyblok, which has a great preview system. But also Sulu, which is an Open Source CMS with added headless funcionality, can be set up to have a great real-time preview system.

Data structure

Although Headless CMSs might look very similar superficially (they all create content from components), they have core differences in the way they do some structural things with data, the way they create relationships between components, and the way you can create pages and content structured. Each CMS’s internal logic can make doing some things much easier and others more complex. This is probably the trickier factor in choosing on Headless CMS over another, and will be the subject of a specific article in the future. In the meanwhile, all I can say is that you’d better have your data structure analyzed by a professional in order to choose the right Headless CMS for your requirements.

Internationalization

Being designed from scratch for big projects, all Headless CMSs come with a significant set of internationalization capabilities. Some do better than others, but in general they manage internationalization quite well. Keep in mind that some might support your way of handling internationalized content better than others, or at a lower cost (I’m planning an article on the main modes of internationalization of content). In this case too, it’s best that you have your internationalization strategy checked by a professional to see in which CMSs it can be implemented best.

Feature development / extensibility

Depending on the complexity of your project, you might just need the basic stuff the CMS has to offer. If you have specific needs, you might want your development team to create custom extensions, for example to interact with external data sources like company ERPs or CRMs. The most widespread Headless CMSs already have plug-ins to integrate with existing systems, and a means of creating your own. Others might be more flexible, and this might influence your choice.

On premise or on the Cloud?

Most Headless CMSs are hosted on the Cloud, which implies that they are directly responsible for the fact that your solution is up and running, is regularly backed up and performs correctly. There are some CMSs which come with versions that can be installed on-premise, either in a free open source version, or with a paid license. Strapi and Directus can be installed on you premises, as well as Sulu. Keep in mind that Directus requires a paying license. Having the CMS in your system can allow more control on the location of your data (think about the GDPR) and its security, but requires you to set up and manage your own hosting infrastructure.

Pricing model and costs

Headless CMSs have become ubiquitous (and fashionable), since they’re part of the so-called Jamstack (solutions based on JavaScript, API and Markup). Therefore there are many players in this field, from market leaders that target big corporation’s needs (with costs to match), to smaller provider that cost much less. Given the fact that it’s very difficult to know beforehand how much resources your site will consume, many of these pieces of software offer several pricing tiers, often based on limits on the traffic you generate, the amount of data you insert and/or how complex your data solution is. Some of these price models can be limiting in how your site operates, so it’s important to make sure that your current (and future) data structure and usage conforms to the limits of the plan/tier you’re choosing. In this case, it can be quite complicated to make the best choice, and you’d better check with a pro to make sure you don’t overpay, or that you don’t run the risk of running soon out of contractual resources, having to increase your budget midway through the project.

Conclusion

As you might have noticed, choosing the right Headless CMS, with over 100 candidates on the market (check here for the full list) may be daunting. This article should be useful to give you a framework on which to base your decision. If you have any more doubts, get in touch with us and we will probably be able to help you, we’ve managed projects with many of the major Headless CMS providers, working both for big international brands as well as small companies. You can get in touch with us clicking here.

--

--

Paolo Mioni
HCEverything

CTO and co-founder at HCE.IT: lover of front-end development, complex technical problems and noisy electric guitars.