← All posts

Content modelling: the hour that saves the rebuild

21 October 2026

Nearly every expensive CMS problem is a content modelling decision made quickly in week one and discovered in month nine.

Model the thing, not the page

An Event has a start date, a venue and a capacity. It is not “a page with a date in the body text”. The moment the date is a real field, you can sort by it, filter on it, syndicate it and show a countdown. The moment it is prose, you can only read it.

Separate content from layout

If a field is called field_right_column_blue_box, the model has absorbed a design decision and will outlive the design. Describe what the content is; let presentation decide where it goes.

Reference, do not retype

If an author's biography appears on forty articles, it is one entity referenced forty times — not forty copies. Duplication is not a storage problem, it is a correctness problem: copies drift, and nobody knows which one is right.

Use real field types

Dates as date fields, links as link fields, numbers as numbers. A date stored as text cannot be validated, sorted or formatted per locale, and every consumer has to re-parse it.

Decide what is reusable before you build

Ask of each component: does this appear on one page, or many? One-page content belongs to the node. Many-page content belongs somewhere it can be referenced — otherwise you are maintaining the same paragraph in twelve places.

Test the model with real content

Load twenty genuine items, not three lorem ipsum stubs. Real content reveals the field you forgot, the one that needs to repeat, and the one nobody will ever fill in.