Why content modeling early unlocks value (ssr)

Written by Ronald Aveling, Knut Melvær

Missing Image!

TLDR: We think you should introduce content modeling as early as possible because it unlocks what is frequently known as the content-first approach.

Need help modeling for existing projects? Take this shortcut.

PortableText [components.type] is missing "protip"

Content supports intent

This needs to be said early because it can be easy to overlook: in the vast majority of cases your audience is there for your content. More specifically, the content that unlocks their goals.

Whether it’s reading your restaurant menu, scheduling a massage appointment, or ordering a spare part – it’s usually your content that drives user intent. The quality of that content and the ease with which your audience can use it are often most important to them.

Content without structure is risky

On the flip side – too much content, or presenting the wrong content for a situation can sour your audience’s experience. Being unclear about content structure can lead to unnecessary risks and potentially a large opportunity cost.

Working from a presentation-first mindset can produce inferior content outcomes

For a long time the most common way to manage digital projects involved a presentation-first approach. These projects usually start off with a handful of quick assumptions about the shape and use of content.

While it’s often intuitive to envision the shapes and visual designs first, this strategy can produce inferior content outcomes. The reasons are many, but here are a few:

In the end your content won’t live up to its fullest potential.

In most cases, your project depends more on the value that your content offers, than the manner in which it is presented. So, model early to understand what your content will really look like, and let the presentation amplify (rather than constrain) what you say and do.

PortableText [components.type] is missing "twitterEmbed"

Content modeling helps you understand your domain better

The process of modeling content gives you a better understanding of your subject domain. So, it’s highly likely that the process will evolve the way you think about your audience, operations, and the details of the project you’re working on.

It's common to come away from a modeling exercise with a more defined sense of your project’s scope and priorities. If you model early you’ll have better pathways to achieving more with the time and resources you have.

Content modeling can help you agree on words

It’s really helpful to be able to label your content and data entities according to the terms and phrases that are native to your domain and audience. Once your entities relate to your subject domain they become more intuitive to work with, and can make content editing, documentation, and onboarding processes more efficient. Learn more about the importance of building a common vocabulary.

Writers get writing

If you complete the modeling process early – you not only set up a great framework for efficient design and development work, you also unlock your content people early on. They can use the added time to improve the quality of their content to better serve the meaning and value your users are there for. You might also improve morale by avoiding the last-minute content rush that comes with presentation-first, and often eventuates in undercooked and ill-fitting materials.

PortableText [components.type] is missing "protip"

Designers get to work with real content

A pre-established content model and an active content team make interface designing easier. Designers get to build the presentation layer with real content. The presence of real content also lets them stress test interfaces to accommodate content variation.

PortableText [components.type] is missing "twitterEmbed"

What about existing projects?

If you’re working with an existing body of content and find that you’re investing a lot of time repeating tasks, or manually distributing content to various channels – then your content could probably do with some revision.

Here are a few situations where you may want to stop what you’re doing, and complete a modeling exercise to avoid repeating the problems of the past:

Before a redesign

If you’re renovating the way your content is presented and find that your new layout ideas are inhibited by the structure that you already have in place – it’s time to remodel!

In this scenario your existing structure may be too closely coupled to the presentation concerns of your last redesign. This is a common pitfall, especially when using page builders. Baking presentation concerns into the core of your content structure may seem like a great idea in the moment, but the trade off is content durability. You’re always better off building your content structure around the essentials.

If you must include presentation needs, make them disposable

In a perfect world we build structured content that can go anywhere and do anything.

However, in the real world we can’t always achieve the ideal, and there are plenty of reasons why that may be the case. In these instances, don’t let the perfect be the enemy of the good, just do your best given the situation that you find yourself in.

If you do need to include presentation concerns in your content model, see if you can incorporate them in such a way that they can be taken away without compromising the essential meaning and value of your content.

// pet.js

export default {
  title: 'Pet',
  name: 'pet',
  type: 'document',
  fields: [
    {
      title: 'Name',
      name: 'name',
      type: 'string',
    },
    {
      name: 'image',
      type: 'image',
      title: 'Image',
      options: {
        hotspot: true,
      },
      fields: [
        {
          name: 'alt',
          type: 'string',
          title: 'Alternative text'
        }
      ]
    },
    {
      title: 'Species',
      name: 'species',
      type: 'string',
    },
    {
      title: 'Special ability',
      name: 'specialAbility',
      type: 'text',
    },
    {
      // A presentation-related field
      // separate from the others
      // if you remove this because you don't need it later on
      // all other fields will be unaffected 
      title: 'Display Theme',
      name: 'displayTheme',
      type: 'string',
      options: {
        list: [
          {value: 'dark', title: 'Dark'},
          {value: 'light', title: 'Light'},
          {value: 'brand', title: 'Brand'},
        ]
      }
    }
  ]
}

Before opening a new distribution channel

If you’re rolling out a new content service or product to reach audiences in other channels, then you should consider the modeling process as a means to essentialize your key needs and model to them.

When you have content isolated in different silos it makes it harder to manage and extract value from. A good content platform should enable multichannel distribution from a single content source of truth.

Before switching to a new CMS

If you’re considering switching from one Content Management System (CMS) to another we highly recommend that you undertake a modeling exercise beforehand.

With a content model in hand you’ll be better equipped to compare the various CMS features against your core needs. If you haven’t figured your model out in advance you may find yourself thinking about structure through the opinionated lens of your last CMS. This can lead to repeating the problems of the past.

PortableText [components.type] is missing "gotcha"
PortableText [components.type] is missing "protip"

Before adding new content tools to what you have

If you have content living in legacy software that you can’t abandon, there’s no reason why you can’t improve its reach and value by connecting it to a platform like Sanity.

In this particular case, the necessity of your legacy software should have some influence on the modeling process itself. Your new platform should be capable of enveloping your legacy content so that it can be enhanced to align more closely with core needs.

Summary

Adopting content modeling early on in a project lifecycle can improve the workflow and output of writers and designers, and contributes to better user experience by way of having content that is structured around domain logic and audience needs.

PortableText [components.type] is missing "protip"