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 worldwid edelivery. 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 8 hundred 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. The main modes of internationalization are going to be explained in a future article. 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 perform 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 can only be installed paying a 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 software offer several tiers of pricing, often with 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, and having to increase your budget midway through the project.