Choosing the right (Headless) CMS for your project
I started developing web solutions in early 2000, and I've seen a vast amount of technologies raise and fizzle out in a few years. However, CMS is still around and one major component of many web architectures. Today with all the emerging digital touchpoints like websites, mobile apps, chatbots, and connected IoT devices, it's even more critical to choose the right CMS and presentation layer technology for all our channels. I want to point out that there's no single best CMS that will work in any scenario, and the very first step of every project is to define what matters to us. What are we trying to achieve? What goals do we need to support with our technical solution? What are the constraints in terms of budget, timing, and skills of our team? To make a sound choice is critical to have clear answers to all those questions.
Headless CMS or traditional monolithic CMS?
Headless CMS (if you need a swift intro to what a Headless or decoupled CMS is, you can read our article here) shines when you need to manage multiple digital touchpoints. If your CMS has to support different websites or apps or event IoT devices(like an in-store kiosk or smartwatch, for example), having everything in one single content hub is a huge advantage. Your editors can manage them all from a single dashboard without worrying about replicating and synchronizing the content on different systems, and your developers and designer take care of displaying them most properly on every device. Instead, if you are creating a single website and your content will be shown just there, maybe a traditional CMS as a single content repository will work just fine, but even in those use cases, you might want to consider other aspects both from the technical and business side.
What technology to use for the presentation layer?
Traditional monolithic CMS also imposes a specific technology for the presentation layer, and that may fit your project or not. In choosing a technology for your UI, there are many aspects to consider. At least you must take into account: skillset of your development team and the ability of this specific technology to meet the technical and design requirements of your project. It's no surprise that mastering a language/platform is crucial to the success of the project because you need to create a secure, scalable solution that matches your goals. What happens if your Javascript and React developers are suddenly forced to write JSP or PHP? You probably know the answers. Designing and crafting the perfect UI/UX for optimal content delivery is not an easy task, and coupled cms may impose further restrictions on the choices of designers and coders.
Opensoucre or commercial?
There are a lot of good choices in the opensource community of both headless & traditional cms, so why choosing something different? Why choosing opensource in the first place? Maybe you want opensource for budget reasons, and that's it's perfectible reasonable even, of course, you should consider all the costs of setting up and running your infrastructure(more on this later). Another reason is that you may want to keep control of your CMS code. That was particularly true in a traditional CMS where the code developed is strictly tied to the underlying CMS system, but in a headless architecture, that's not true anymore because you develop separate frontend code that consumes content via REST API. It will be much easier to migrate or change the CMS API without rewriting all the frontend code( for example, you may first develop a compatibility layer that adapts the new CMS API to the old one). A headless CMS is much more microservice oriented and fits much better in this kind of architecture as the content provider component.
Self-hosted or SaaS?
Another critical choice is between self-hosting the solution or having a SaaS provider manage all the delivery infrastructure. Self-hosting a solution requires nontrivial skills in managing the specific solution and all the burden of setting up, tuning, and keeping in good health the delivery stack. Plus, of course, the costs of servers or cloud services consumed. In today's world, you have to guarantee consistent performance under heavy loads, manage sudden spikes, and also take care of security and compliance with many privacy regulations (GDPR, for example). Having a team of specialists that manage all these issues for you may prove to be more cost-effective than hosting the solution on your own, especially if you do not already have a dedicated ops team.
What is your overall architecture?
It's not a new trend for enterprises to lean towards microservices architectures because there are numerous business and technical advantages ( and a few challenges, of course!). If you already have or are moving towards a microservices-based architecture, fitting a traditional CMS may be harder because there's no strict separation between frontend and backend code. Even more, your content data will probably be stuck in a silo in an unstructured way lacking proper content modeling, which makes it very hard for other systems to use them properly. That's why headless CMS is adopted more easily in modern architectures as a component that manages the creation and the delivery of structured content for all the frontends ( or even others backend as well!) of your technology ecosystem.
So, what's the best headless CMS?
By now, you should have a good idea if a SaaS Headless CMS may be the right choice for your project. In that case, the best headless CMS is ContentChef! No doubt about it! :) Of course, I'm just joking, as for any product, there's no "best," and it really boils down on how each product fits in your specific use case. Nonetheless, I will be delighted if you give ContentChef a try and see if it's the perfect match for your needs.
Did you like our article?
Ready to accelerate content management?
Learn how you can get the most out of ContentChef.