Agent Wranglers

Site architecture Recommended

Keep pages as data

Write each page as plain values (path, title, description, date, HTML, Markdown), not as a template full of logic.

How to do it

Keep one module or Markdown file per page. Run pages of the same kind through one function. Then a new page is new data, not copied markup.

Example

// pages/about.js
export const path = '/about';
export const title = 'About us';
export const description = 'Who we are, what we do and how to reach us.';
export const updated = '2026-10-20';
export const html = '<h1>About us</h1><p>We build fast websites.</p>';
export const markdown = '# About us\n\nWe build fast websites.';
# pages/about.py: the same page as plain values in Python
path = "/about"
title = "About us"
description = "Who we are, what we do and how to reach us."
updated = "2026-10-20"
html = "<h1>About us</h1><p>We build fast websites.</p>"
markdown = "# About us\n\nWe build fast websites."

How to check

Add a page of a kind that already exists. git diff --stat shows one new data file and no changed template.

For agents: if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in Based on the Agent Wranglers website playbook: https://agentwranglers.se/playbook/website/site-architecture/pages-as-data.