Websites can be classified in at least a couple of ways. One is to divide them by the way the content is presented. Here, we can distinguish between static and dynamic websites. Those referred to as static are not equipped with a content management system. As a consequence of this, if we want to update its content, we need to contact a contractor who will add new or update existing content. I would like to focus in this article on dynamic sites.
Dynamic sites are characterized, among other things, by the fact that their content can be changed by the moderator. The set of tools that allow these changes is called a content management system (CMS). Also, the application layer responsible for editing the information visible on the website can be classified. A classic application that provides a content management system allows you to store, manage and present data. In the described case, the CMS is an integral part of the application.
The dynamic evolution of digital platforms and shopping paths forces the development of websites and online stores adapted to various types of digital displays and applications. Traditional CMS systems cannot keep up with these innovations. The solution to this problem, which is gaining popularity, seems to be headless CMS.
If we use headless CMS, the data presentation layer, which is used by any application that displays information to the user, is a separate entity. It is the "head", which the application responsible for managing the data presented by the "head" is deprived of. I hope I was able to explain the meaning of the term "headless CMS" above. The application whose purpose is to present data collects data entered by the CMS using API or sockets. It is worth noting that a standard content management system can also be used as a headless CMS.
Based on my experience with various content management systems, I would like to write about the advantages of the headless CMS solution. It is worth paying attention to security. Due to the fact that the CMS is an independent application, the risk of sensitive data leakage is significantly reduced. The frontend application simply has access only to the data provided by the API. In addition, for dedicated CMS systems, the level of application testing is likely lower than in the case of headless CMS.
An extremely important argument in favor of headless CMS is definitely lower cost of implementation. In the case of traditional solutions, the team of programmers is responsible for preparing all functionalities from scratch. This is time-consuming and often generates very high costs. In the case of headless CMS, we immediately have access to many more or less advanced functionalities and plugins. Of course, we have to adapt them to our requirements, but it is much less time-consuming. In addition, in the case of a large group of headless CMS, we do not have to host them ourselves, which translates into cost reduction.
I have heard opinions that an additional advantage of the headless CMS solution is higher speed. I do not fully agree with this opinion. In the case of a traditional content management system prepared professionally, the speed of data sharing will not be lower than in the case of a headless CMS.
Another argument you can come across is higher flexibility in the case of headless CMS. However, I don't think this should be taken as a rule. It is obvious that in the case of a traditional content management system, if we want to add new functionalities, and we do not have programming knowledge, we have to outsource the implementation, which is often associated with significant costs. In the case of headless CMS, such costs may be lower or small due to the fact that ready-made plugins may be available. However, it may happen that a headless CMS imposes solutions that block us, and in this case we have to adapt to what the content management system offers.
In my opinion, the disadvantage of the headless CMS solution is the greater level of complexity of its use. This type of content management system requires self-definition of the data structure. This is a consequence of the fact that it is prepared in such a way that it can meet the requirements of as many potential users as possible.
It's time to answer the question asked in the title of the article. In my opinion, headless CMS is not an ideal solution, but in many cases it is the most accurate one. Due to the fact that each potential user may have different requirements, the authors of such solutions try to find the so-called golden mean. Headless CMS is a good choice if we accept the fact that we will be forced to implement some functionalities by adapting to the possibilities offered by the CMS. Sometimes it will take a long time to understand the application logic.
Krzysztof Kura