# Sites and Pages

URL: /products/site/sites-and-pages · Id: `page:products/site/sites-and-pages`

> A Site is the Pages, navigation, and Brand of a Startup, held as records and compiled from its definition, so every Page says only what is true.

A [Site](/business/nouns/site) is everything a [Startup](/business/nouns/startup) serves on the web: its [Pages](/business/nouns/page), navigation, and [Brand](/business/nouns/brand), on one or more [Domains](/business/nouns/domain). Every part is a record, so the Site changes the moment its data does.

## A Site is records, not files
Take `permitfeed.com`, a Startup that sells building permit records as a [Dataset API](/products/templates/dataset-api). Its Site holds a home Page, pricing, docs, and the legal Pages, and none of them is an HTML file. Each is a Page record that names a [Template](/business/nouns/template), the [Components](/business/nouns/component) it places, and the [Content](/business/nouns/content) that fills them.

A request for `permitfeed.com/pricing` resolves the Domain to the Startup, reads the Page, and renders it. The prices on that Page are not copied text. They are the [Price](/business/nouns/price) of each [Offer](/business/nouns/offer), read at render, so changing a Price changes every Page that shows it.

The same rule holds for every claim: a claim with no record does not render. Social proof follows it too. [Customer](/business/nouns/customer) counts and quotes render from payments, usage, and [Evidence](/business/nouns/evidence), and with none they hide.

No Site shows social proof before it is [Live](/business/lifecycle/states/live).

## Compiled from the definition
A new Startup does not start from a blank Site. [SiteBuilder](/code/builders/site) compiles the first draft from the founding [Hypothesis](/business/nouns/hypothesis): the customer story for each [ICP](/business/nouns/icp), the [Problem](/business/nouns/problem) it names, and the Offers that answer it. Every block records where it came from:

```yaml
page: /
component: Hero
props:
  headline: Every permit filed in 400 counties, one call away
  action: Get an API key
from: hypothesis#solution@v4
```

Lineage makes a pivot legible. When the Startup revises its Problem slot to version 5, SiteBuilder lists every block compiled from version 4 and proposes the rewrite as one [Change](/business/nouns/change). The owner reviews a diff, not a new Site.

After the first compile, Pages are records that [Agents](/business/nouns/agent) and people edit through Changes. Nothing regenerates a Page on request, and a recompile proposes a Change; it never overwrites an edit.

## Pages have kinds
Every Site serves a home Page, `/pricing`, `/terms`, `/privacy`, and `/security`, plus the machine registers covered in the [publishing](/products/site/publishing) chapter. The legal Pages render from Templates chosen by the kind of Startup, so a marketplace and a Dataset API get different terms. Beyond these, each Page has a path and a kind, and the kind decides its shape:

| Kind | What it is for | Opens with |
| --- | --- | --- |
| `landing` | Turn a [Visitor](/business/nouns/visitor) into a [Customer](/business/nouns/customer) | A hero with the primary call to action |
| `pricing` | Show every Offer and its Price | The Offers, side by side |
| `comparison` | Answer "this or that" searches | A table against the alternatives |
| `article` | Answer one question for search and answer engines | The answer, in the first paragraph |
| `docs` | Explain how to use a [Product](/business/nouns/product) | A one-line definition, then code |
| `agent` | Route an Agent to an operation | Structured data, with minimal chrome |
| `terms`, `privacy`, `security` | State the legal and security terms | The terms themselves |

A Page about one record, such as a county in a permits catalog, can instead stand for every member of a [Collection](/business/nouns/collection). One Page record then serves one address per member.

## The page spine
Landing, pricing, comparison, and article Pages share one spine, in this order:

1. A header with the Brand and a call to action that stays visible at every scroll depth.
2. A hero: headline, subhead, and the primary call to action.
3. The problem and the approach, side by side.
4. Who it is for.
5. What the buyer gets: the outcome or the output, stated as a contract.
6. Pricing, read from the Offers.
7. [Questions](/business/nouns/question) and answers.
8. A closing call to action.
9. A footer with the legal links.

The last three never move. The questions answer the final objections, such as data handling and refunds, and the closing call to action catches the convinced buyer. Trust lives in those answers, not in a band of badges.

On a phone screen 360 pixels wide and 640 tall, the headline, subhead, and primary call to action appear without scrolling. The renderer checks this on every Page before it serves.

## Copy only this Startup could publish
Generic copy fails a buyer twice: it says nothing, and it reads like every other Site. So every Page passes five checks before it publishes:

- **Interchangeability.** Swap in a competitor's name. If the Page still reads true, it fails.
- **Look.** Swap in a sibling's Brand. If the Page still reads as the sibling's, it fails.
- **The buyer's world.** The Page names a real artifact of the buyer's work: the permit number, the claim form, the chart note. Placeholders such as "your workflow" are defects.
- **Numbers.** Every number is computed from a record or left out. No Price is "illustrative".
- **No internals.** Field names and enum values never render as copy.

Two Startups built from the same [Startup Template](/business/nouns/startup-template) differ in every visible block where their definitions differ. [Guards](/business/nouns/guard) run these checks on each Change, and a failure names the block and the rule.

## Who builds a Site
Two [Roles](/business/nouns/role) own a Site. The [Designer](/agents/product/designer) keeps the design system and checks every Page for accessibility. The [Content Lead](/agents/marketing/content-lead) writes the Pages that search engines and answer engines cite.

An Agent, a [Human](/business/nouns/human), or both hold either Role. Every edit arrives as a Change with its author recorded.

## Next
- [Design system](/code/builders/site/design-system): how Components, [Themes](/business/nouns/theme), and Templates render a Page.
- [Brand](/business/brand): the identity every Page reads.