SEO and AI readability
Open Graph, hreflang, structured data, llms.txt and per-page markdown outputs.
Per-page head, automatically
Every page emits without configuration:
- canonical URL (self-referencing, safe with separately-deployed versions)
- Open Graph and Twitter card tags: title, description, type and locale
- hreflang alternates linking the same page across the version’s languages (only where the page exists), with
x-defaulton the default language - BreadcrumbList JSON-LD matching the visible breadcrumbs
noindexautomatically on non-production builds
Social card image
"social": { "cover": "/docs/media/banner.png" }Per-page override via cover: front matter. With an image set, shares render as large cards. Without one, they appear as text cards. Must be a direct image URL, sized approximately 1200x630.
Browser tint
"themeColor": { "light": "#fff8f6", "dark": "#1a110f" }llms.txt and Markdown outputs
For AI assistants and “read as Markdown” use cases, the build emits:
/llms.txt: a curated index (llmstxt.org) of the latest version’s default language, linking to the per-page Markdown files- per-page
index.md: the raw Markdown of every article, next to its HTML (this page: index.md)
Both come from the LLMS and Markdown output formats in hugo.toml. Remove those lines to disable them.
Build-time link checking
Internal links and anchors are validated while building:
[params.render_hooks.link]
errorLevel = "warning" # ignore | warning | errorSet error in CI to make broken internal links fail the pipeline. The same pattern exists for remote images. See Images and links.
Was this page helpful?
Thanks for your feedback!