Easily restore your project to a previous version with our new Instant One-click Backup Recovery

0

The essential guide to content modeling

A step-by-step path to start and scale with content modeling, and proven best practices.
Bryan Robinson

Bryan Robinson

Nov 16, 2020
The essential guide to content modeling

Content is everywhere. From product packaging to videos, blogs, and data-driven experiences like Netflix. It’s the force that powers how we communicate, learn, and make decisions online.

Recognizing that even product information and metadata are part of the content ecosystem opens new possibilities: better collaboration, richer user experiences, and more precise business results.

At the heart of this transformation is content modeling: the discipline that turns content chaos into a scalable system. In this guide, we cover the essentials of content modeling, including a step-by-step path to start and scale, as well as proven best practices.

#What is a content model?

The content model describes the type of content you want to create, how it relates to each other, and how it can be edited within your system.

Each model type is composed of multiple fields or data types such as strings, numbers, dates, assets, references, booleans, and even rich text. These primitives not only enable a CMS to display proper editing fields but also allow developers to have confidence in the output of each model.

A content model documents all the different types of content you will have for a given project. It contains detailed definitions of each content type’s elements and their relationships to each other.
Rachel LovingerSenior Director, Content Design at Publicis Sapient

#Why content modeling matters

Content modeling can help teams prioritize content goals and create a high-level overview of the content types they will create. These content models also provide structure for the content teams to understand what necessary pieces of information must be present in each content entry.

Flexible content models can help encourage the production of reusable, adaptable content, making the content team’s job more efficient where relevant.

An effective set of content models affects more than just the content or editorial team; it can significantly impact how well a team communicates with users.

  • Designers: Utilize content models to structure their designs and determine which content elements will be displayed in the presentation layer.
  • Content teams: Build efficient workflows and ensure all essential information is captured in the content model.
  • Developers: Create resilient content models that can adapt to changing project outcomes without requiring time-intensive rework.
  • Business development teams: Rely on content to reflect agreed-upon goals, outcomes, and KPIs.
  • Users and customers: Should be able to find the information they need easily and intuitively.

Content modeling is a core component of any project, shaping how both developers and editors work on a day-to-day basis. No matter how much work your CMS has put into a solid editor or developer experience, it can be ruined by a subpar content model. Without proper structure, the data becomes a slog to edit, modify, and access.

#When should you think about your content model?

Content modeling is best done early in a project’s lifecycle, typically by developers or product managers. Early decisions have a significant impact on the entire project, so it’s worthwhile to invest time in careful planning and preparation.

In systems like Hygraph, models can be adjusted later, and features such as environments make changes more manageable. However, the further along a project is, the more disruptive and resource‑intensive changes become. Major adjustments can trigger content migrations, which are possible but costly in terms of manual entry or the development of migration scripts.

By designing a future‑proof content model from the outset, you minimize these risks and avoid unnecessary rework as your website, app, product, or campaign evolves.

#Who should model content?

Content modeling is not the domain of a single person. With as many business areas and priorities as the model touches, a team should always be consulted. Depending on your project, here’s a list of teams or members that should be involved in the modeling process:

  • Content editor — The primary user of your CMS. When creating a model, their needs are important to keep content flowing at the right cadence.
  • Designer — Whether you start with the content model, wireframes, visual designs, or code, the team designing your project should be involved in thinking through the design of your content as well.
  • Business leader — This may take the shape of your CEO, the lead stakeholder of your project, or some other person in your organization. Those who are looking out for the business needs should have a seat at the table.
  • Development team — Whoever is building the project needs to keep an eye on how the API will take shape. While poor content modeling can hinder content entry, it can also impact developer efficiency. At worst, it can also directly affect the performance of your application for end users if it is built inefficiently.
  • Content strategist/designer — If you’re one of the lucky few to have a strategist or content designer on staff, this person should be the point of this team effort.

#Where should you model your content?

Ideally, you want to stay as nimble as possible. You can start modeling in tools like Google Sheets or Excel, but the sooner you're working directly in your content platform, the better.

Being inside the actual system helps both editors and developers quickly spot inefficiencies or limitations in your model. When choosing a platform, look for one that makes it fast and easy to model content exactly as needed. This type of shared setup fosters trust and buy-in among your content stakeholders.

That’s where Hygraph comes in. It enables real-time content modeling with a wide range of fields and data types. It also supports multi-environment setups, so your team can safely test new ideas or restructure content without disrupting production data. This makes it easy to evolve your content model over time — even mid-project.

#Common pitfalls in content modeling

Modeling content becomes challenging when teams attempt to strike a balance between building for a single presentation layer and creating content that is so modular it loses its meaning.

Content models should be flexible and easy to understand across the team of stakeholders, and they should scale easily as the project grows. Being intentional about how content is structured determines whether it will serve its purpose.

Problems often arise when teams don’t take the time to collaborate during the content modeling process. Early alignment enables teams to anticipate how a piece of content will evolve from start to finish, thereby avoiding surprises as it progresses through various stages of development.

Many exercises and approaches can support this early phase of content modeling. We will cover that in the next section.

#How to start modeling content?

Several key considerations should be taken into account when you start modeling your content.

It requires an initial investment of time from various stakeholders. However, the time you invest now will save much more later by avoiding pitfalls from missed stakeholder input.

List the foundational questions

The first step is to gather members from the design team, development team, content team, and business team to discuss how the content will be presented, how users are intended to interact with it, and what the agreed-upon outcomes are for this content.

Make sure all stakeholders agree on answers to key questions like:

  • What is the most important information that needs to be communicated?
  • What other information also needs to be communicated?
  • How will people discover and interact with this content?
  • Will this information change frequently or remain the same over long periods of time?
  • How critical is this information to the broader messaging of the project or essential to the functionality of the application? (ie. metadata for a product's UI)
  • What is the goal of communicating this information to the user? What action should they take now that they have this information (ie, sign up for your product, share the information, tell people about the brand)
  • What is the workflow for creating new content?/Which stakeholders need to interact with the content before it can be published?

It can be a good idea to have these examples accessible in a collaboration tool, such as Miro or Google Docs, so that team members can quickly reference the discussion as they continue working on their individual tasks.

Get to know the basics

Here are the absolute essential elements you should know about content models.

Models

The content model contains the structured content that will populate your project. These models serve as the backbone for the content used across various presentation layers.

Fields

Field defines what information will appear in every type of content model. It either stores different types of content or describes how that content should be presented on the frontend.

In the cases of fields like the Richtext Editor and Markdown, they sometimes achieve a combination of these two goals. At Hygraph, we have fields that range from simple plain text to WYSIWYG, to assets, to geographical location points, to relations.

The most common types of fields are text fields and relation fields. Relation fields are one of the most essential fields because they enable content editors to maintain structured content that is both flexible and reusable where appropriate.

Relations

Content Modeling also introduces the concept of "Sortable Relations". This allows for more flexibility, giving content creators the ability to rearrange the order of their relations within a content model without requiring development or additional work on the content modeling side.

Taking the example of a burger restaurant's menu, a "burger" simply needs a relation to "cheese", "patty", "lettuce", and "bacon", for instance. Editors can merely sort, include, and exclude the order of these relations when creating "burgers", thereby defining their own variations, rather than requiring a new content model for each burger.

Creating a content model diagram

After the various stakeholders reach a consensus on the foundational questions, it is possible to create the first iteration of a content diagram. Just as it is helpful to keep a digital log of the iterations of foundational questions, the same principle applies to content modeling.

Content modeling needs feedback from the various stakeholders, particularly in the early stages. Working with tools that enable this collaboration will help modernize workflows and save your team time.

To build content models, especially when working with modular, structured data, visually constructing the content models using a whiteboard or digital whiteboard tool helps conceptualize the ideal content models for your data.

Editor's Note

At Hygraph, we use Miro as a digital whiteboard to collaborate with our globally distributed team and to be able to keep a digital record of our iterations of content models.

To begin the whiteboarding exercise, it is helpful to be familiar with the various types of fields available in the CMS and any limitations on the way data can be structured. In a highly flexible system like Hygraph, data can be modeled in an endless array of combinations depending on the type of project and the team’s capabilities.

For the exercise, models are rectangles that will house the various fields, as well as the model's title. Fields are small ovals that display the type of field and the kind of information that will be housed within it. Relations are represented by various colors of arrows that connect fields from different models.

Once these preliminary steps are completed, your team is set up to collaborate on building content models for the project.

A sample of what a content modeling exercise could result in is as follows.

undefined

After collaborating with the team to develop content modeling wireframes, these models should be replicated in the CMS. From there, the content team can review the process of creating dummy content to identify any necessary changes before working on the frontend.

This will also give the content team a chance to familiarize themselves with the concept of structured content modeling and how it appears when applied to their projects.

Breaking down a content model

After covering the essentials at a high level, a few key definitions will help us discuss content models more concretely.

As a simple example, let’s examine how a blog can be broken down into a content model.

undefined

A standard blog may seem simple, but with a bit of forethought, we can make a set of models that will serve our business needs for years. A blog should contain multiple model types:

  • Post: The main content for a single item in the blog
  • Author: A document containing information about the author of a blog post
  • Category: A document with information about blog categories
  • Asset: A document for images, videos, audio, and other multimedia content

These model types represent the primary content types, which are further categorized into various field types. If built correctly, it creates a sense of building with content LEGO blocks, rather than simply writing content.

A post is then broken down even further. Let’s cover the basics. A blog post, at its minimum, requires some standard data:

  • Title – String
  • Publish Date — Date
  • Body — Rich Text

For the most basic blog, that might make sense, but when we start to organize and remix this content, it becomes clear that extending it further is sensible.

  • Author — Reference to the Author model
  • Categories — Multi-select reference to Category model
  • Assets in Rich Text — References to Assets model
  • Featured Image — Reference to Assets model

This will cover many use cases for our site, but with more forethought, you can add additional information to cover additional use cases as well. You can create a set of metadata about the blog post that will work for an RSS feed, SEO, and social sharing.

The same can be done for the other models, as well. While Author and Category may at first glance need a string for a name or title, the more detailed the metadata, the more use cases they serve.

For instance, when adding Author and Category references to a blog post, we can create a bi-directional reference. This means that the Author information is available to the Post, but all posts associated with the Author or Category are available on those models. This enables our development teams to easily combine this information in a way that makes sense for our use case.

#Example of content modeling in action

A content model is a direct representation and merging of business goals, user goals, editor needs, and developer needs. Let’s look at an example of how content modeling in action

undefined

The primary use case and user needs

Most of the time, when starting a project, we need to consider the primary use case and the user's needs. For example, let’s think about creating a streaming application for movies and TV shows. To initiate the process, we will examine the use cases and how users intend to utilize the application.

A user will want to be able to search and find content based on multiple criteria:

  • Show vs. Movie
  • Genre
  • Actors
  • Directors
  • Keywords
  • Content Rating
  • User rating

While browsing for content, a user will also need certain information to decide if a show is what they want to watch.

  • Trailer
  • Preview image
  • Description
  • User ratings

Data structure

The user case is important, but how will we actually build that use case? We need a solid foundation to build upon. This is where the overall data structure comes into play.

At first, a movie and a show may feel similar in their data structure. They both have all the data mentioned above. There is also a significant overlap in how users will want to search and discover. Those data pieces can remain the same; however, the structure of the media is completely different.

A movie is a one-off piece of content. If we structure the content and data around what a movie needs, an editor or developer will need to fill in gaps. Imagine having to enter all the data listed for each episode of a series. You’d have an editor revolt. A TV series has multiple seasons, and each season has multiple episodes. The show, each season, and each episode will need some combination of this information, and that information should cascade, filling in blanks as it moves up or down the hierarchy. An episode can have a specific content rating, but if it’s not filled in, an episode can inherit the content rating of the season or series.

By planning ahead and thinking through content rules, we can map out an entire user journey and create the optimal data structure with minimal manual data entry needs.

Reusability

undefined

One of the major benefits of proper content modeling is that you can reuse and integrate your content into any website or application.

If you are planning to build a sustainable content strategy and plan to integrate your content on several platforms, such as websites, native mobile apps, smart TV apps, or any future-proofed platform, you should keep your content model clean from presentational information.

While a browser may be able to interpret a specific “Page” model, a native mobile or TV app might not be able to. Keeping your model free of presentational information and only focusing on the actual attributes and relationships of the represented content itself is called semantic modeling and will help you reuse your content for a broader set of applications.

If, on the other hand, you only want to integrate your content on one specific channel, like a website, there is no harm in structuring your content closer to the component structure of your frontend. This will allow content creators to work more independently on new sites or landing pages without the need to align each time with the development team, in case they have a broad set of components to choose from.

Either path forward in reusability presents challenges, so the decision should be made early and with as much input as possible.

#Compare different content modeling approaches

Top-down approach

The top-down approach to content modeling starts with thinking about the intended outcome first, then the high-level information, and then the details that are essential to the content model.

In the case of wanting to build a category of landing pages. First, you begin with the Subject Model of the Landing page. Populate this model with information such as the title and header image. Then discuss with the team what makes the most sense for the content workflow and team for the rest of the details, such as: how do people feel about markdown vs rich text fields.

Another important consideration during this approach is what type of information will be repeatable or reusable throughout the project? Should this instead receive its own model? This will help modularize content, saving time and energy for the content team in the future.

undefined

Bottom-up approach

The bottom-up approach is essentially the opposite of the top-down approach. Instead of thinking about the content from a high-level first, in a bottom-up approach, you consider all of the details that need to be communicated throughout the project and see what is a good candidate for being repeatable or reusable information. From here, you create small modular content models that can be connected using relations.

After creating these modules, you can prioritize how you think this information is best communicated and develop the high-level structure.

undefined

#Content modeling best practices

Divorcing page builder mentality

One of the biggest learning curves when modeling content for a structured content approach, or with a headless CMS in general, is to remove the notion that models and projects will only be used to build different kinds of webpages.

Even if you are building a website, it can save a lot of time, in the long run, to think of content as something that can be used across the project in different ways.

Balance modular and presentation-centric content models

One key point in the creation of content models that can often be overlooked when teams are knee-deep in modeling exercises is that these content models, in most cases, are going to be used by people to create content. While it may be true that content is being fed to the CMS programmatically, throughout the content creation process, there is likely at least some human contact with modular content. This is why testing the content models is a critical step that should not be overlooked.

When content becomes too fractured into tiny modules, it can sometimes be challenging to decipher how it all fits together to form the intended output. It is essential to strike a balance between a comprehensive webpage template approach and a modular approach with your team. Providing descriptions for fields can also be a helpful tip to ensure that content is added where and how it was intended.

Working with a headless CMS to model content can require teams to reorient their traditional mindsets of content modeling, but it can also enable teams to serve content easily to previously underused presentation layers and serve as the glue between a variety of microservice systems.

#Conclusion

Content modeling is never easy, but it’s an integral part of any project. It may seem daunting at first, with so many variables and factors to consider, but the benefits of investing time and effort in this area are numerous. By taking the time to plan and structure your content, you'll be able to ensure that your project runs smoothly and efficiently.

Blog Author

Bryan Robinson

Bryan Robinson

Head of Developer Relations

Bryan is Hygraph's Head of Developer Relations. He has a strong passion for developer education and experience as well as decoupled architectures, frontend development, and clean design.