February 20, 2021

8 tips for better content modeling

By Ronald Aveling & Knut Melvær

Kickstarting a new content modeling exercise can get a little daunting. The following tips will help you navigate the modeling process to produce better outcomes.

For a deeper dive download our complete guide to content modeling.

Start modeling early

Starting projects content-first can unlock a lot of value. This is because most of the time your audience needs your content (not your design) to fulfill their goals. Content-first gets you thinking about those goals from day one and lets more people work in tandem: writers get more time to create great work and designers can work with real content sooner.

Static HTML site. 8 weeks from start to finish, including setting strategy for extensibility and scalability. If all are committed, doing content early will shave 1-2 weeks off. Designer needs content to design. Client needs content to approve. w/o content, we'll work in circles.

Tweet published on: Aug 3, 2020, 2:28 PM

Think about content inclusively

Consider your content from the point of view of your broadest possible audience. And as you find more ways to reach more people, think about how the needs of a wider audience might influence your model.

Try to make your content inclusive and accessible. That way you’ll reach more people in a more authentic way and avoid having to reverse engineer things later on.

“We tend to think of inclusive design in terms of removing barriers to access, but content modeling also has an important role to play, especially for people with diverse and underrepresented backgrounds.”


Tweet published on: Feb 18, 2021, 3:35 PM

Inclusive modeling need not be daunting. Depending on your needs, it could be as simple as adding clarity and structure to your writing, or ensuring alt tags are filled out on your images. Things to keep in mind:

Favor reality over ontology

Modeling content can be a lot of fun and really empowering. Exploring all that your domain offers can help you imagine a better future, and reveals insights that are otherwise hard to uncover.

But to generate productive outcomes you need reasonable boundaries. When it comes to building your schema, implement structures that are grounded in business needs. Most of the time your project won’t require all the complexity that your domain offers. Try to stay in the sweet spot where value meets context.

Prioritize meaning over presentation

If you’re coming from a traditional, or monolithic CMS background you might be accustomed to thinking about content based on how it should look. It’s often hard to ignore presentation altogether, but if you attach too much importance to it you run the risk of losing valuable materials in your next redesign.

For a more sustainable approach, model your content around what it means. You don’t have to avoid things like page builders altogether, but you can set them up in such a way that your content lasts longer. Try to build schema in a “presentation agnostic” manner so presentation choices can be removed later on without harming your core materials.

Make editing intuitive

Content models often need to do a lot of different things. They can get pretty complex, and depending on what you want to do this can be a good thing. But you don’t need to show all that complexity in your editing environment. In most cases, clarity and simplicity are what your editors need. Effective grouping and labeling strategies can make a big improvement to the lives of your editors.

Test as you go

When it comes to modeling, there‘s no better proof than working with real content. Sanity lets you build continuously so you don’t have to wait until your model is “done” before engaging writers. Let them try things on for size as you build out your model. Working this way provides the right insights at the right time and generates more durable outcomes.

Don’t repeat yourself

Don’t Repeat Yourself (a.k.a DRY) is a programming principle that argues every piece of knowledge should exist in only one place within a system.

Content models are a great place to apply this principle. As you model, keep an eye out for repeating patterns that could be abstracted into reusable pieces.

While abstraction can create a lot of value, it also creates more work. So consider the complexity cost of abstracting it against the simplicity benefits that your editors and audience might gain. Finding the balance is a real form of art. If in doubt, ask those who work with the content on a regular basis.

Store things sustainably

HTML is an awesome and vital language for the web, but it’s not a great way to store content. It also makes it hard to query your content.

When you’re capturing meaning and ideas into a medium, you really need them to be transferable to any number of future uses. If you store content as data (even rich text!) what you create now can be just as useful in ten years' time. It also makes it possible to audit your content in ways that have traditionally been almost impossible.

We care so much about this problem that we built our own open-source spec called Portable Text. With Portable Text you’re not giving up on HTML or semantic content, you’re just storing your ideas in a more durable medium. You can still convert your data to HTML anytime you need, and extend it to do cool things like this:

Read the complete guide

Go to the content modeling guide for more info about these topics, and to learn how to build your own model from scratch using Sanity.io.

Other guides by authors

Hierarchies, Graphs, and Navigation

Hierarchies are handy for organizing, but they can also fence you in. Learn how to build them, when to use them, and why you might want to treat navigation as a separate concern.

Go to Hierarchies, Graphs, and Navigation