Addressing, head and SEO
site, base, head, seo, jsonLd, structuredData, analytics and redirects.
site and base
Section titled “site and base”sitestringAbsolute deployment origin, e.g. "https://docs.example.com". No path, query or
fragment — a path belongs in base. Never inferred.
basestringMount 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: namePage title base.
seo.descriptionstringMeta description.
seo.ogImagepathOpen Graph image.
seo.ogTypestringOpen Graph type, e.g. "website".
seo.ogSiteNamestringOpen Graph site name.
seo.ogLocalestringOpen Graph locale, e.g. "en_US".
seo.twitterstringTwitter card handle.
seo.robotsstringRobots 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.
jsonLd and structuredData
Section titled “jsonLd and structuredData”jsonLdobject[]Site-level schema.org blocks, copied verbatim onto every page.
structuredDatabooleandefault: trueSite-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
Section titled “analytics”analytics.providerstringA provider from Reed’s own registry.
analytics.optionsobjectProvider-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
Section titled “redirects”redirects[].sourcestringrequiredSite-root-relative path, without the base prefix — Reed adds it.
redirects[].destinationstringrequiredSite-root-relative path, or an absolute http(s) URL.
redirects[].permanentbooleandefault: truetrue emits a 301, false a 302.
Two entries with the same normalized source are a schema error rather than a silent
last-one-wins.