In diesem Beitrag
Agentenlesbare Websites: llms.txt, Markdown-Spiegel und was wirklich kaputtgeht
Mach öffentliche Inhalte leicht abrufbar und verständlich. Prüfe danach die zusätzlichen Formate, die du veröffentlichst. Unsere Umsetzung nutzt HTML, Crawler-Regeln, Markdown und JSON-LD. Ihre Konsistenz ist ein technisches Problem, das wir testen können.
Wir betreiben diesen Stack auf der Website, die du gerade liest: einen Markdown-Spiegel jeder Seite, eine llms.txt pro Sprache, veröffentlichte Agent Skills und einen Verifier, der den Production-Build scheitern lässt, sobald davon etwas kaputt ist. Dieser Beitrag ist die Liste der Dinge, die dieser Verifier gefangen hat, und die ist nützlicher als die Liste, die man beim Lesen der Spezifikation bekommt.
Willst du wissen, ob ein Agent deine Website lesen kann, bevor du in Fixes investierst?
Kostenlosen Checker startenVier Oberflächen unserer Umsetzung
Diese Oberflächen bedienen unterschiedliche Verbraucher. Sie sind keine vier universellen Voraussetzungen für KI-Sichtbarkeit. Eine nützliche HTML-Seite kann ohne Markdown-Spiegel oder JSON-LD abgerufen und zitiert werden.
| Oberfläche | Beantwortete Frage | So sieht der Fehler aus |
|---|---|---|
| robots.txt | Welche Crawler-Regel gilt? | Eine Einschränkung in der passenden Gruppe und im Pfad |
| Ausgeliefertes HTML | Was ist ohne JavaScript-Rendering lesbar? | Eine leere Hülle für Verbraucher ohne Rendering |
| Markdown-Spiegel (optional) | Kann ein Verbraucher eine inhaltlich getreue Kopie nutzen? | Kaputte Links oder verlorene Inhalte in dieser Kopie |
| JSON-LD (optional) | Sind öffentliche Fakten konsistent beschrieben? | Ungültige oder widersprüchliche strukturierte Fakten |
Laut Google sind llms.txt, Markdown und spezielles Schema für KI-Suchfunktionen nicht erforderlich. JavaScript wird nach den üblichen SEO-Regeln verarbeitet. Relevant sind Index- und Snippet-Eignung sowie die wirksame Einstellung zur generativen KI in Search Console. Prüfe diese getrennt von optionalen Formaten. Google Search Central.
llms.txt, ehrlich betrachtet
llms.txt ist eine Konvention, kein Webstandard. Keine Engine ist verpflichtet, sie zu lesen, und wer dir garantierte Auswertung verkauft, verkauft zu viel. Sie ist auch günstig zu erzeugen und gibt einem Agenten eine saubere Karte statt deiner gerenderten Navigation, weshalb wir eine veröffentlichen und sie meistens empfehlen.
Wenn du sie veröffentlichst, entscheiden drei Dinge, ob sie nützlich ist:
- Portable URLs. Die v2-Konvention akzeptiert Markdown-Links und schreibt absolute URLs nicht vor. Relative Links funktionieren, wenn ein Consumer die Quell-URL der llms.txt als Basis behält. Beim Kopieren in andere Tools geht dieser Kontext manchmal verloren, deshalb verwenden wir absolute URLs.
- Das Blockquote unter der H1. Die H1 ist der einzige Pflichtabschnitt; die Konvention beschreibt die folgende Zusammenfassung als optional. Ergänze sie trotzdem, wenn ein Satz die Website eindeutig einordnet.
- Notizen an wichtigen Links. Notizen nach einem Link sind optional, helfen einem Agenten mit knappem Budget aber bei der Auswahl. Ergänze kurze Beschreibungen, wenn der Titel allein mehrdeutig ist.
Markdown-Spiegel und wie man sie ankündigt
Ein Spiegel ist derselbe Inhalt wie die Seite, ohne Beiwerk, als Markdown unter einem vorhersagbaren Pfad ausgeliefert und aus dem Seitenkopf verlinkt:
<link rel="alternate" type="text/markdown" href="/services/ai-visibility.md">Spiegel zu erzeugen ist einfach. Sie treu zu halten ist der Teil, der eine Maschine braucht, denn ein Spiegel kann auf Weisen subtil falsch sein, die monatelang niemandem auffallen. Der Generator läuft nach dem Site-Build, geht das gerenderte HTML durch, und der Verifier vergleicht danach beides.
Die Fehlerfälle, die man kennen sollte
Das sind echte Funde aus unserem eigenen Build, keine Hypothesen. Jeder davon ist mindestens einmal live gegangen, bevor es das Gate gab.
| Fehler | Warum er passiert | Was ein Agent sieht |
|---|---|---|
| Unaufgelöster Template-Wert | Ein Generator gibt seinen No-Value-Platzhalter aus, oder ein Paar Template-Delimiter übersteht ungerendert, und niemand liest die Ausgabe | Eine Seite, die dir deine Templating-Sprache zurückzitiert |
| Unbalancierte Code-Fence | Eine öffnende Fence ohne schließende | Jede Überschrift danach ist keine Überschrift mehr, das Dokument verliert seine Struktur |
| Unaufgelöste HTML-Entity | Entities werden bei der Konvertierung nicht dekodiert | Eine nicht dekodierte Ampersand- oder Apostroph-Entity, gelesen als ihre wörtlichen Zeichen statt als das Satzzeichen |
| Zusammengeklebte Links | Whitespace zwischen zwei Anchors bei der Konvertierung verloren | Zwei Linktexte zu einer Phrase verschmolzen |
| Attribution am Link klebend | Ein fehlendes Leerzeichen vor einem Autorenlink | Ein Autorenstring, in dem das Wort vor dem Link mit dem Namen verschmolzen ist |
| Nicht passende Tabellenspalten | Kopfzeile und Trennzeile sind sich über die Spaltenzahl nicht einig | Die Tabelle wird nicht mehr als Tabelle geparst, jede Zahl verliert ihre Spalte |
| Mehr als eine H1 | Chrome-Überschriften lecken in den Body | Unklarheit darüber, worum es auf der Seite überhaupt geht |
| Leerer Body | Inhalt clientseitig eingefügt, der Spiegel hat nichts zu spiegeln | Front Matter und Stille |
Unser Favorit war subtiler als alle davon. Ein dekoratives Glyph auf einer Seite brachte ein wörtliches Anführungszeichen in einen SVG-Textknoten, was den HTML-Minifier in Foreign Content stoppte. Der Rest dieser Seite ging unminifiziert live, und ihr Markdown-Spiegel brach still nach zwei Dritteln ab und nahm die komplette FAQ mit. Im Browser sah nichts falsch aus. Das Gate ließ den Build scheitern, benannte die Route, und der Fix war ein einzelnes Zeichen.
Die robots.txt-Falle: Retrieval ist nicht Training
Das ist das teuerste Missverständnis im ganzen Thema, und es ist eine Zeile Konfiguration.
GPTBot sammelt Trainingsdaten, OAI-SearchBot unterstützt die Suche und ChatGPT-User nutzergesteuerte Abrufe. Anthropic unterscheidet entsprechend ClaudeBot, Claude-SearchBot und Claude-User. Eine Einschränkung betrifft den dokumentierten Zweck dieses Agenten, nicht jede mögliche Antwort über deine Website:
User-agent: GPTBot
Disallow: /
User-agent: *
Disallow: /Die erste Gruppe erklärt eine Trainingsbeschränkung für GPTBot. Die Wildcard gilt, wenn keine spezifischere Gruppe passt. Spezifische Gruppen haben Vorrang; bei Pfadregeln zählt der längste Treffer, bei Gleichstand gewinnt Allow. Dieses Beispiel beschränkt regelkonforme Such-Crawler ohne eigene Gruppe. Es belegt nicht, dass kein Assistent die Website erwähnen oder zitieren kann.
Trenne Trainingspräferenzen von Suche und nutzergesteuerten Abrufen. OpenAI weist darauf hin, dass robots-Regeln für ChatGPT-User möglicherweise nicht gelten. Prüfe die Dokumentation jedes Anbieters und die tatsächlich ausgelieferte Antwort vor einer Änderung. OpenAI; Anthropic.
Warum ein Gate und keine Checkliste
Jeder Punkt oben ist leicht einmal zu beheben und unmöglich durch guten Willen behoben zu halten. Der Inhalt ändert sich wöchentlich, die Templates monatlich, und keiner dieser Fehler erzeugt ein sichtbares Symptom. Ein Quartals-Audit findet sie ein Quartal zu spät.
Unser Produktions-Verifier prüft die Spiegel, die wir bewusst veröffentlichen. Der Agent Readability Checker überträgt ausgewählte Spiegel-Regeln in ein lokales Browser-Tool. Er prüft eine eingefügte Datei mit klaren Grenzen, weder unseren vollständigen Build noch verlinkte Seiten.
Für die Nachbarprobleme: unser Open-Knowledge-Format-Guide behandelt das Verpacken internen Wissens als portables Markdown, und der Guide zum KI-fähigen Firmenwiki behandelt das Ausliefern dieses Wissens an deine eigenen Agenten. Dieser Beitrag dreht sich strikt um die öffentliche Oberfläche: was der Agent von jemand anderem lesen kann.
Häufige Fragen
Was macht eine Website agentenlesbar?
Ist llms.txt ein Standard?
Funktionieren relative URLs in llms.txt?
Sollen wir GPTBot blocken?
Erzeugen Markdown-Spiegel Duplicate Content für Suchmaschinen?
Wie verhindern wir, dass das nach dem Launch verfällt?
Fazit
Beginne mit lesbaren öffentlichen Inhalten und passenden Zugriffsregeln. Veröffentliche zusätzliche Formate, wenn ein Verbraucher davon profitiert, und prüfe ihre Integrität im Build.
Unser Checker hilft, eine Datei lokal zu untersuchen. Behebe den belegten Fehler und prüfe anschließend Live-Zugriff und Sucheignung getrennt.
