Skip to content

Addressing, head and SEO

site, base, head, seo, jsonLd, structuredData, analytics and redirects.

sitestring

Absolute deployment origin, e.g. "https://docs.example.com". No path, query or fragment — a path belongs in base. Never inferred.

basestring

Mount path with a leading slash, e.g. "/docs".

Setting site is what enables sitemap-index.xml, robots.txt and absolute URLs in llms.txt. Without it those outputs are simply not written.

Setting base prefixes every internal link and asset reference — but the built files still sit at the root of the output directory, so the mount path must exist in the tree you actually serve. See Deploy.

head.metaobject[]

Meta tags to inject.

head.linkobject[]

Link tags to inject: rel, href, optional type.

Data only. There is no head.script, no head.raw and no head.style. head cannot be turned into a script-injection surface, which is what makes a multi-tenant build safe to run on someone else’s content.

A root-relative href is base-prefixed; an absolute http(s) URL is passed through verbatim. For stylesheets use customCss, not a head.link.

seo.titlestringdefault: name

Page title base.

seo.descriptionstring

Meta description.

seo.ogImagepath

Open Graph image.

seo.ogTypestring

Open Graph type, e.g. "website".

seo.ogSiteNamestring

Open Graph site name.

seo.ogLocalestring

Open Graph locale, e.g. "en_US".

seo.twitterstring

Twitter card handle.

seo.robotsstring

Robots directive.

There is no seo.canonical: canonical URLs derive from site and base, and a hand-written override is the standard way to point every page at one wrong URL.

jsonLdobject[]

Site-level schema.org blocks, copied verbatim onto every page.

structuredDatabooleandefault: true

Site-wide switch for automatic per-page TechArticle/Article plus BreadcrumbList emission.

The two are independent: jsonLd is what you wrote, structuredData is what Reed derives. Turning structuredData off does not remove your jsonLd. There is no per-page frontmatter equivalent of the switch.

analytics.providerstring

A provider from Reed’s own registry.

analytics.optionsobject

Provider-specific options.

A registry of known providers, not a place to paste a script tag. If your provider is not in the registry, it is not configurable here — by design, for the same reason head takes no scripts.

redirects[].sourcestringrequired

Site-root-relative path, without the base prefix — Reed adds it.

redirects[].destinationstringrequired

Site-root-relative path, or an absolute http(s) URL.

redirects[].permanentbooleandefault: true

true emits a 301, false a 302.

Two entries with the same normalized source are a schema error rather than a silent last-one-wins.