01 — Purpose

Content structure drives the frontend

CMS structure affects frontend flexibility and content quality — content models should reflect real editorial needs.

A CMS model designed around page mockups — giant rich text fields, presentation toggles, duplicated blocks — forces the frontend into hacks. Models shaped around content types and relationships stay maintainable as design evolves.

See semantic HTML for how structured content maps to accessible markup.

02 — Principles

Editorial reality in the schema

CMS models should support maintainable content systems.

  • reusable structures — chapter, callout, FAQ item — not one-off page fields
  • meaningful relationships — author, category, related articles as links, not pasted text
  • restrained complexity — editors can understand the model without training docs

03 — Practice

Good CMS modelling

Model content, not layout comps.

  • separate content from presentation — no “font size” or “column width” fields
  • use structured blocks — repeatable sections with typed fields
  • validate required fields — lead, title, alt text enforced at entry
  • map types to components — one Astro or framework component per block type
  • plan for localisation and reuse — shared modules across locales and sites

04 — Avoid

Modelling anti-patterns

Presentation-first CMS design creates brittle frontends.

  • giant generic fields — one WYSIWYG for the entire page body
  • presentation-first modelling — “hero variant 7” instead of structured hero content
  • duplicated content structures — same FAQ model copy-pasted per section
  • untyped embeds — arbitrary HTML from editors breaking layout and accessibility
  • fields editors cannot fill consistently — optional everything, empty pages

05 — Close

Model for the next redesign

Good content structure survives visual refreshes without re-entry.

Involve frontend and editorial in schema design. Prototype rendering from sample content before locking fields. Refactor models when duplication appears — do not paper over it in templates.

See component ownership, design tokens, and SEO metadata checklist.