Sitemap und robots
Die sitemap.xml und robots.txt, die Blume für Crawler schreibt, und die Content-Signal-Zeile, die KI-Crawlern mitteilt, wie sie deine Dokumentation verwenden dürfen.
Suchmaschinen-Crawler und KI-Crawler starten beide bei denselben zwei Dateien im Stammverzeichnis deiner Website. Blume schreibt beide bei jedem Build, und die robots.txt enthält die Signale zur Inhaltsnutzung, nach denen KI-Crawler suchen, sodass hier die Such- und die Agenten-Seite der Auffindbarkeit aufeinandertreffen.
Sitemap
Blume schreibt zur Build-Zeit eine sitemap.xml mit allen indexierbaren Seiten. Dafür wird eine absolute deployment.site benötigt, und es werden alle Seiten aufgelistet außer Entwürfen, versteckten und noindex-Seiten sowie Seiten, deren seo.canonical eine andere URL angibt. Auf einer versionierten Website bleiben auch archivierte Seiten außen vor, deren Canonical auf ihr Live-Pendant zeigt — die Live-Seite ist diejenige, die indexiert werden soll. Standardmäßig aktiviert:
seo: {
sitemap: true,
}
Sprachalternativen
Aktiviere alternative Links in der Sitemap einer mehrsprachigen Website:
seo: {
sitemap: { alternates: true },
}
Jede übersetzte Seite listet ihre Übersetzungen, sich selbst eingeschlossen, als xhtml:link-Elemente auf, dazu einen x-default-Link, wenn die Standardsprache die Seite enthält. Das sind dieselben hreflang-Links, die auch der Seitenkopf enthält: Eine Übersetzung mit noindex, eine versteckte oder eine, deren Canonical auf eine andere URL zeigt, taucht in keinem von beiden auf. Eine Seite, die in weniger als zwei der aufgeführten Sprachen vorliegt, bekommt keine alternativen Links. Die URLs enthalten den Basispfad des Deployments. sitemap: true und sitemap: {} lassen die Alternativen deaktiviert; sitemap: false deaktiviert die Sitemap.
Liefere deine eigene public/sitemap.xml aus, um die Kontrolle zu übernehmen — Blume überschreibt niemals eine Datei, die du in public/ ablegst.
Robots
Blume schreibt eine robots.txt, die alle Crawler zulässt, deine Content-Signale deklariert und eine Sitemap:-Zeile hinzufügt, die auf die Sitemap verweist, sofern eine verfügbar ist. Standardmäßig aktiviert:
seo: {
robots: true,
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=yes
Allow: /
Sitemap: https://docs.example.com/sitemap.xml
Content-Signale
Die Content-Signal-Zeile — die aufkommende Konvention zur Inhaltsnutzung — deklariert, wie KI-Crawler deine Dokumentation weiterverwenden dürfen. Blume gibt sie standardmäßig mit allen Signalen auf yes gesetzt aus, passend zu seiner Haltung, dass Dokumentation für Menschen und Agenten gleichermaßen offen ist:
search— klassische und KI-gestützte SuchindexierungaiInput— Grounding / RAG zum Zeitpunkt der AntwortaiTrain— Modelltraining
Schränke ein beliebiges Signal ein, indem du es auf false setzt; die, die du weglässt, bleiben auf yes:
agents: {
contentSignals: {
aiTrain: false, // opt out of training, keep search + grounding
},
}
User-agent: *
Content-Signal: search=yes, ai-input=yes, ai-train=no
Allow: /
Setze contentSignals: false, um die Deklaration vollständig wegzulassen:
agents: {
contentSignals: false,
}
agents.contentSignals?boolean | object
Content-Signal-Deklaration. true oder weggelassen gibt alle Signale als yes aus; false lässt die Zeile weg; ein Objekt setzt Signale einzeln.
boolean | objectcontentSignals.search?boolean
Nutzung für Suchindexierung erlauben (search). Standard true.
booleancontentSignals.aiInput?boolean
Nutzung für KI-Grounding / RAG zum Zeitpunkt der Antwort erlauben (ai-input). Standard true.
booleancontentSignals.aiTrain?boolean
Nutzung für KI-Modelltraining erlauben (ai-train). Standard true.
booleanContent-Signale drücken eine Präferenz aus, keine Zugriffskontrolle: Sie teilen wohlerzogenen Crawlern mit, wie du deine Inhalte verwendet sehen möchtest, und es liegt am Crawler, sie zu respektieren. Dieselbe Richtlinie wird als contentUsage im Manifest zur Agenten-Lesbarkeit gespiegelt, sodass auch ein Agent, der niemals robots.txt liest, sie zu sehen bekommt.
Liefere deine eigene public/robots.txt aus, um die Kontrolle zu übernehmen.