asw/layouts/partials/meta/seo.html
Vigilio Desto 5deaa22e38
Port head partials: SEO, OG, JSON-LD, AI disclosure, tag-nav
- layouts/partials/head.html: full <head> partial with meta partials + CSS pipeline
- layouts/partials/meta/seo.html: canonical URL + robots directives
- layouts/partials/meta/og.html: Open Graph + Twitter Card meta tags
- layouts/partials/meta/ai-disclosure.html: AI content disclosure (EU AI Act)
- layouts/partials/meta/json-ld.html: Schema.org JSON-LD structured data
- layouts/partials/tag-nav.html: site-wide tag cloud partial
- layouts/_default/baseof.html: simplified to use partial head.html
- layouts/_default/single.html: removed inline head block (now in head.html)

Verified: canonical, robots, OG tags, ai-content-disclosure on live pages.
96 pages build clean.

Closes: asw#15
2026-04-10 18:42:21 +02:00

16 lines
550 B
HTML

{{- /*
partials/meta/seo.html — canonical URL + robots directives
Outputs:
<link rel="canonical"> Always emitted; uses .Permalink (absolute).
<meta name="robots"> "noindex, nofollow" on draft/future pages,
"index, follow" otherwise.
No params required. Works from any page context.
*/ -}}
<link rel="canonical" href="{{ .Permalink }}">
{{- if or .Draft (gt .Date now) }}
<meta name="robots" content="noindex, nofollow">
{{- else }}
<meta name="robots" content="index, follow">
{{- end }}