Content Modeling Best Practices

Content modeling for Content Management Systems (CMS) is the act of designing the relationship between content, their fields, and their containers (i.e. pages).

I don't use "best practice" lightly, but the best practice in CMS content modeling is opting for a semantic (update: meaningful) content model (see exceptions below), where content types and their managed fields mean something to people and machines.
Though standards like offer much needed content types or definitions, they do not create your content model. Your business and available systems determine your content model.
As an example, consider "Person." You'll notice it has a "structured value" for Postal Address. So we know with a CMS we'll likely have authorable fields that we template or render to a "semantic" output.
  • But what are the direct and indirect relationships?
  • Do you keep a list of separate addresses with a many-to-many relationship?
  • To what extend is it worth normalizing the data?
  • Could you simply do a reverse geo-code lookup?
  • Most importantly, in CMS-terms, are you going to re-use the same content in a different context or page?
So consider markup read-able by people and machines along with standards like, but define and evolve your own content model.

Having said this, here's when to break the rules:
  • Functional or Feature-based scenarios (maybe)
  • Promotional Content

Feature-Based Content Model

You may opt for a functional or feature-based content model in a "multi-tenant" scenario. This is when you use a CMS like SDL Tridion to create a mini-site management platform for distributed and separate groups. This works to the extend that mini-sites and blogs literally have one or two content types (blog index and blog post).

Example content types will include generic names like "generic content" or "article" (that's use for anything on a web page).

Ultimate flexibility has a trade-off though. Wide spread changes to the model and design and new channels can become difficult.

Promotional Content Types

I've mentioned it before and I've seen setups that break all CMS conventions. But because of their short times online, how they compete with the "main" content, and variations, promotional content types or promos disregard many CMS best practices.

Promotional content would traditionally be calls-to-actions, promos, and advertisements. More recently we're seeing interactive multimedia like games as well as targeted content from sites and advertising platforms. 

You can still manage these items in terms of metadata, placement, and profiling though the "content" might be markup or a baked image.

This is more okay when:
  • It would take more time, cost, and effort to model the variations into content forms. At this point, especially for graphical design-intense promos, it's not worth making the details configurable to the pixel. At that point, you're "coding in a form."
  • Design owns and is willing to create these variations in their favorite IDE and syntax. If regular authors shouldn't be able to pick any RGB or Hex color code and designers don't want to enter these into a CMS form, then there is no need to "separate design from layout."
  • You can demonstrate the business impact and/or these are from somewhere else, ideally being measured and adjusted by your analytics.
Personally, I suspect if we looked at the majority of promos and call-to-action banners, we'll find some of the scenarios aren't worth it. It really comes down to the context--do you visitors finding what they need on certain sites and are these promos helpful?

So there are your best practices. Use a CMS content model with terms that mean something beyond their presentation. Break the rules to scale or sell. Mix and match approaches as needed.


  1. I'm always suspicious of the word "semantic". I know it's common enough in this subject area, but it's too easy to end up with it just being jargon. I'm not suggesting we abandon the use of the word, but it's sometimes interesting, as an exercise, to try to substitute "meaningful". So maybe saying "a meaningful content model" would lead to endless discussion, but keeping hold of the idea is useful.

  2. Yeah, but you know the meaning of meaning, you know what I mean? ;-) We organize and categorize with meaning in the real world. Clothes are first grouped into Men's and Women's department rather than by fabric. But carpet might be organized by fabric.

    Maybe it's hard to separate form from meaning from medium. But in the CMS world, we try call things by what they are, not how they present. Simplified, content management is slightly easier if you call and treat something an article versus a web page.

  3. This comment has been removed by a blog administrator.


Feel free to share your thoughts below.

Some HTML allowed including links such as: <a href="link">link text</a>.