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.
8 tips for better content modeling
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.
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.
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.”
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:
- Do you have guidelines for communicating in plain language? (tip: help your editors with field descriptions)
- Can you improve your editing workflows to meet accessibility guidelines?
- Are your terms and taxonomies easy to understand and work with?
- Have you considered whether you have any biases in your model that might exclude parts of your audience? (tip: consult widely to reduce the likelihood)
- Can you use Previews to help your editors understand the different ways that their content might be perceived?
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.
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.
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.
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 (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.
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:
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
GROQ-Powered Webhooks – Intro to Projections
A thorough intro to using GROQ-projections in a webhook contestGo to GROQ-Powered Webhooks – Intro to Projections
GROQ-Powered Webhooks – Intro to Filters
A thorough intro to using GROQ-filters in a webhook-contextGo to GROQ-Powered Webhooks – Intro to Filters
Live Preview with Next.js and Sanity.io: A Complete Guide - has 5 likes
A step-by-step guide to setup Next.js and Sanity Studio with Live PreviewGo to Live Preview with Next.js and Sanity.io: A Complete Guide
Tailoring content for different audiences
How to deliver better content experiences across cultures, languages, and tastes.Go to Tailoring content for different audiences