Content modeling for Content Management Systems (CMS) is the act of designing the relationship between content, their fields, and their containers (i.e. pages).
Though standards like schema.org 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 schema.org, 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 ModelYou 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.
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.