Are you looking for an efficient way to store raw data about products, stock, people, books, or anything else? A headless content management system (CMS) might just be the solution you need. In this article, we'll look at how to structure a headless CMS-based website and design the content model to support your goals.
The first step in every headless CMS-based project is the information architecture, which refers to your data model. There are two common patterns for designing the model: a model built around raw data and a model that represents concepts like pages and their content.
Headless CMS can be used for storing raw data about products, stock, people, books or whatever else. But it can also hold information about the structure of pages on a website. Without sacrificing the benefits of a headless approach - we can also provide users with familiar and easy-to-use tools to control the appearance of their content and foster reuse of existing material. In this article, we will look at an approach to how to structure headless CMS-based websites and design the content model to support these goals.
Information architecture
What comes first in every headless CMS-based project is the information architecture. This means - your data model. There are 2 common patterns for designing the model:
- Model built around raw data, e.g. products and stock
- Model that also represents concepts like pages and their content.
While the first approach is absolutely correct, the second can easily become an anti-pattern of a headless CMS application. Let’s look a bit deeper into pros & cons of both.
Raw data pattern
In the raw data pattern, we take great efforts to eliminate (or at least greatly reduce) any signs of the presentation layer in our data model. Some models we might see in a project would be:
- product
- invoice
The purpose behind doing this is to make it easier to repurpose data for various channels. By removing the HTML or other forms that dictate how content should be displayed, it becomes simpler to reuse the same content on different devices. This is one of the primary advantages of using headless CMSs. However, there are some drawbacks to this approach. The headless CMS essentially acts as a minimal front-end to a database, which may not be ideal for content editors. All of the descriptions of how the content is displayed must be defined in code, which means any changes to the website's appearance require a developer's involvement. This lack of control is not what customers expect from platforms like Wix, WordPress, or Adobe Experience Manager, where they want some degree of control and the ability to make changes without needing to engage development teams constantly.




