Content modeling
In a headless CMS paradigm, content and presentation are separate. This means you can use and adapt content to any channel, and build custom systems to present it using the best tool for your organization.
To fullfill your content requirements, and to avoid having one large pool of information, it is important to structure the content in a meaningful way. You do this by defining a content model.
A content model includes one or more content types, each containing content type fields. When creating a content model, following design principles helps ensure it is flexible enough to be adapted to various channels, yet scalable enough to be easily extended and updated.
An overview of how to model content in Content Hub ONE is available on the Discover Sitecore channel.
The content model
The content model gives structure to your data, lets you organize it in a meaningful way, and enables you to map relationships between individual chunks of data.
To build a content model:
1. Gather requirements
Gather requirements and determine the types of content you need. For example, for a travel website, the content buckets you might need include Destinations, Hotels, and Tours.
2. Create content types
For each content bucket, establish the content structure, create a content type, and add content type fields. For example, for the travel website, you could create three content types (Destinations, Hotels, and Tours). In the Hotels content type, you might add fields for a hotel name, description, image, and related destinations or tours.
3. Identify content that could be reused
Create content types for reusable content. For example, you could create a content type called Company bio and reference this content type from other content types, such as Hotels and Tours.
4. Determine how content can be classified
If you want to apply tags to content items, such as indicating whether a hotel has WiFi, air conditioning, or pet-friendly facilities, you can create a taxonomy to represent this information and give it an appropriate name such as Amenities. You can create multiple taxonomies, each with a distinct set of values, and assign them to content types using Select fields.
Example
To illustrate this with a real-world example, a travel site includes listings for hotels and, on their website, they display a page with common information about each available hotel, including the hotel’s name, a short description, a longer description, an image, and a list of the hotel’s amenities.
Their content model might look something like this.
Because the Hotel content type is associated with the Amenities taxonomy, each hotel can be classified according to the amenities it provides. This means that, using the GraphQL endpoint, a search could limit results to only those hotels that include air conditioning and WiFi.
Design principles
When creating a content model geared to delivering the right content at the right time focus on content reusability while ensuring the content model can be easily adapted to different channels. Consider the following:
-
Customer journeys - what are they, and what information will customers need at each stage of those journeys?
-
Content use - what type of content is needed and how will it be used? Will content change depending on various criteria? If your content authors regularly write articles with the same structure, you can create a content type for it such as a destination page or a page describing a hotel. A content type is like a template that helps to ensure content is structured in a consistent way that follows agreed guidelines. Much like a template, a content type provides authors with a clear and defined field structure including field labels and helpful suggestions for writing content.
-
Content reuse - Identify any information that is common across multiple content types, as it can save you time to put that information into one or more dedicated, reusable content types. Reusable content types can be referenced within any other content type, instead of the information being repeated manually.
-
Content validation - which fields are required and which fields need additional validation, such as a character limit or a field type?
-
Content model - can the content model be easily updated to add new content types or content fields? How can the content model simplify content creation, editing, and publishing? How can taxonomies be used to categorize and classify content?
It is important to design your content architecture early on so you have an idea of the content types and taxonomies you will need. Ensure that the taxonomies and their values are:
-
Flexible - is the taxonomy flexible enough to adapt to new content types and new content?
-
Clear - are taxonomy and taxonomy value names clear and unambiguous so that the content author understands which value to associate with the content item?
-
Concise - is the list of taxonomy values concise? Will the content author find it difficult to decide which value to select?