Layout is code, content is data

A simple rule that prevents CMS-driven rewrites: keep layout in code, expose content as structured data.

#architecture#astro#cms#workflow

If you only remember one thing, remember this:

Layout stays in code.
Content becomes data.

Why this rule matters

CMS are built to manage content: text, media, metadata, lists.

They are not built to preserve frontend intent: spacing, composition, interaction boundaries, component contracts.

When a CMS starts owning layout, you get:

  • page builders
  • fragile templates
  • design drift
  • endless “can we make this block do X?” tickets

The boring workflow that scales

A scalable workflow is boring:

  1. Build the site in Astro first.
  2. Define what is editable via component props and content frontmatter.
  3. Extract a content model at build-time.
  4. Let editors change data, not structure.

This keeps teams aligned:

  • developers own structure
  • editors own content
  • no one fights the system

The outcome

You ship faster, with fewer regressions.

Not because the CMS is better.
Because the responsibilities are finally in the right place.