Choosing the right headless CMS [A universal guide]
With a variety of headless CMS choices out there, how do you know which one to pick? Image hosting, content writing experience, and developer experience are all things to consider during this tedious process.
In this article, we’re going to dive into the many factors to consider when choosing a headless CMS. If you’re new to headless CMS, let this be your guide to confidently making the best choice for your project and team needs.
The evolution of CMS
Founded in 1982, FileNet was the creator of software to help enterprises manage their content and business processes. Although this software is much different from a modern CMS, it could be coined as the very first CMS ever created.
About two decades later came the rise of the monolithic CMS. WordPress and Drupal would take a huge slice of the pie in this market, with WordPress being one of the most used CMS in the world. In the year 2022, there are about 835 million WordPress sites currently active on the internet.
With the rising demand for omnichannel content delivery, headless CMS entered the scene with a solution that would allow content to be stored in a single content management system and delivered to several mediums using an API. A headless CMS cuts the coupling between the presentation and content layers, allowing you to code your user interface and fetch content directly to your website or application.
Content creation experience
Organization and editing experience should be important factors when choosing a headless CMS. You have to consider what kind of user experience your content creators, marketing team, or editors should have.
A great headless CMS empowers the user (of the CMS), providing them with many features and a pleasant content creation experience. An organized dashboard, limitless content types and content creation capabilities, and versioning/scheduling features are all things that a great headless CMS is capable of.
Media management capabilities
Many CMSes come optimized with an Image CDN service, so lots of the heavy lifting is done for the developer. If you care about user experience, delivering optimized images will ensure that users around the globe are getting the best user experience when visiting your site.
When choosing a headless CMS, it’s important to consider how media is managed in the dashboard and under the hood. Images, videos, and documents are all things that deserve some optimization out of the box. It would be a bit of a pain to have to access your media from another service other than your headless CMS.
Consider the experience your content creators and editors will endure. They will be the ones constantly uploading and accessing media within the dashboard, and a good headless CMS will provide them with a smooth and understandable process.
Whether you are a developer or not, a developer will be needed to implement the headless CMS into your codebase. A great headless CMS should provide them with educational resources, code examples, and templates to lower the learning curve.
- RESTful and GraphQL APIs
- Documentation and examples
- Integration with web frameworks (like React)
- Pre-built application templates
While the initial time spent integrating a headless CMS into your application or website may be higher than a monolithic CMS, great documentation, how-to guides, SDKs, and pre-coded templates will speed up this process for the developer. Don’t hesitate to explore the website for the headless CMS you are inquiring on. Are there plenty of articles and blog posts relating to headless CMS topics; “how-to” guides? Is there in-depth documentation? Can you read it from a technical perspective and understand it from a non-technical perspective? The value is not just in the product itself, but also in the ecosystem of resources supporting it.
The next type of developer consideration is the integration capabilities. Many headless CMSes take on an API-first approach, improving the underlying functionality of the CMS. Developers love having options, and having a choice between Rest and GraphQL APIs could be a make-or-break factor. Furthermore, having an NPM module is highly beneficial, making it easier to connect your code with your content, fetch data, perform CRUD operations, and handle file uploads. Being able to
npm install a package provided by the headless CMS makes it that much easier to connect to the API.
Community is key. Look for an official Slack or Discord channel, as it will have developers that actually work on the headless CMS itself. They’re there to help answer questions, walk you through problems, and consider feature integrations based on feedback. The community will also have developers using the CMS for work, personal projects, and freelance. If developers enjoy using the headless CMS, chances are they’re happy to help others when they run into an issue as well. This is a sign of a healthy, active community that uses the CMS frequently.
Architecture and support
Ever implement a software product or service into your application, only to get stuck on a particular step of the process or find that a crucial feature is missing? This could be the make-or-break factor of your decision. Having great support from the headless CMS provider is important.
Good support means direct conversation with the engineering team, guidance on the implementation of the headless CMS, and sometimes features built specifically for your company’s case.
- Maintenance and scalability
- Customer support
- Feature updates
Composability and content modeling
When considering a headless CMS as a content management system, people often consider the composability aspect. A headless CMS simply does not care how you structure your content. It is entirely up to you how you build your landing pages, blog posts, and menus. A monolithic CMS like WordPress or a website builder like Squarespace often lays out your content structure for you, whereas a headless CMS gives you the individual building blocks themselves.
Text fields, number inputs, radio switches, markdown editors, JSON blocks… the list goes on. Having a variety of metafields to choose from equals freedom. Constructing a cohesive experience for your content is an art in itself, and a great headless CMS allows you to be creative in this process.
When crafting your content model, content relationships are like superpowers. When selecting a headless CMS, take note if it provides the capability to create content relationships. This can streamline content reusability and related content fetching.
The API should make it possible to access related content easily. When fetching one content type, it should provide any related data without any additional API requests or technical challenges. For example, when fetching a single blog post it should also be possible to provide the related author and category information.
With any content management system, it’s important to pay attention to the collaboration aspect. When you have a team working within a headless CMS, you will often have an array of roles like developers, editors, and administrators. Sometimes, you may even need to simply share content externally.
Different tiers of permissions will be needed for different roles. For example, a manager should get access to several editing properties in the project itself. Creating new groups of content and setting the template for what content will be accepted within that piece of content. An editor should really just be able to do simple tasks related to editing the actual content within the content. Editing copy and filling in input fields should suffice.
Some CMS solutions are innovating on content approval workflows, incorporating a Git-like process for branching and merging numerous pieces of content. Changes are made within a CMS and the author of the changes saves them to a merge request. Other members of the project can view the changes (the before and after), reviewing and iterating as needed. Once approved, the changes are then ‘merged’ into the production ‘branch’ of the content.
Another great feature is preview mode. Preview mode in a headless CMS will allow content updates to be previewed before changes go live. With this feature, you make changes in your headless CMS, save them as a draft, then are able to share a preview link with anyone. Anyone with the link will be able to access draft content. Using Next.js preview mode with a headless CMS, you can achieve this through Next.js API routes.
Small teams may not feel the effect of these features, though when it comes to larger teams of ten or even hundreds with access to a single project, they will be felt. These workflow features are crucial for high-performance teams prioritizing content velocity.
The market of headless CMS is plentiful, and this is a good thing. With many choices comes many things to consider, and with the right direction and information, you should have no problem finding the right headless CMS for your project. After all, one size does not fit all, and you should test around a bit and choose the solution you enjoy using the most.
I hope this guide gave you a better understanding of the foundational features of a headless CMS and what to look for when choosing one.