Website Spec

About this spec

The Website Specification is an attempt to answer one question: regardless of the stack you build on, what should a good website do? Not a framework. Not a guide. A spec — what is required, what is recommended, and what to avoid.

Why this exists

The web is a layer cake of standards. WHATWG defines HTML. W3C ratifies WCAG. The IETF publishes the RFCs behind security headers and /.well-known/ URIs. Search engines publish their own rules. Browsers add their own quirks. Designers, developers, and accessibility specialists each carry a slice of the picture. Almost nobody carries the whole picture.

This site collects the slices into one platform-agnostic specification — sources cited, MIT licensed, open for pull requests.

Who it is for

  • Engineers auditing or building a website and wanting a single reference.
  • Designers and PMs trying to scope quality without inventing it from scratch.
  • Agents — yes, AI agents — that need a machine-readable description of what to check.

Status levels

Every topic has a status. Use them as the default — context can justify exceptions.

  • Required — leaving it out breaks the web platform contract (e.g. <title>, charset, HTTPS).
  • Recommended — meeting modern expectations of users, search engines, agents, and browsers.
  • Optional — useful in some contexts, not all. Pick when it applies.
  • Avoid — outdated, harmful, or actively superseded.

How it is built

Static site, generated with Astro, deployed to Cloudflare Pages from GitHub. The content lives in plain Markdown files under src/content/spec/. Sources are part of the schema — a page without a source link should not be merged.

Dogfooding

This site itself follows the spec. Everything listed below is implemented here. If you spot a contradiction between what we say and what we do, that is a bug.

Credits

The spec draws on (and credits, on every applicable page):

Licensing

Content: CC BY 4.0. Code: MIT. Use it, fork it, ship it.

Contact

Maintained by Joost de Valk and contributors. For security reports, please follow /.well-known/security.txt. For everything else, open an issue.

Search
esc close navigate open