Developers
Open app

Capabilities

Pages & templating

Pages are the backbone of a site. They're authored as templates and rendered on the server, so every page ships as complete HTML — fast to load and fully indexable by search engines.

Templating

Pages are written in a familiar templating language with variables, conditionals, loops, and filters. You compose them from reusable pieces so a site stays consistent and DRY:

  • Layouts wrap pages with shared structure — header, footer, navigation.
  • Partials are reusable fragments you include across pages.
  • Filters transform values inline — formatting dates, numbers, text, and more.

Output is escaped by default, so content rendered into a page is safe from injection unless you explicitly opt a value out.

Routing

A page's location determines its URL — the file path is the route. On top of that you get:

  • Dynamic routes with parameters, like /blog/[slug] or /products/[id], so one template serves many pages.
  • Validated parameters — path and query values can be typed and checked before your page logic runs.
  • Custom error pages for not-found and unauthorized states.

Metadata

Each page can declare metadata — title, description, social preview, and your own custom fields — that flows into the rendered HTML and into your templates. This is what drives SEO tags and Open Graph previews.

Built-in niceties

  • A sitemap is generated automatically, and you can provide a custom robots file.
  • Pages are served over a global CDN, so visitors get them from a nearby location.
  • A small client-side runtime is available in the browser for session, chatbot, and realtime features where you use them.

Beyond static pages

Pages become dynamic when you add logic to them — processing a form, loading data, or returning JSON. That's covered in Handlers, forms & webhooks. For content that lives in a database rather than in the template, see Databases & content.

Previous

Overview

Next

Handlers, forms & webhooks