AIO — Artificial Intelligence Optimization — ist der Oberbegriff für alle Maßnahmen die Inhalte für KI-Systeme aufbereiten: für klassische Suchmaschinen-Snippets, für generative Suchengines, für direkte LLM-Zitate. AIO ist keine konkrete Technik, sondern eine Sammlung aus Best Practices, die sich aus SEO, dem llmstxt.org-Standard und der Schema.org-Welt zusammensetzt.
Der Post ist Teil der Reihe (siehe Glossar) und beschreibt das Pflichtprogramm jenseits von SEO — also was ihr auf einer Seite konkret umsetzen könnt, damit AI-Crawler (egal welches Modell, egal welche Engine) sie verlässlich erfassen.
Das mentale Modell
AIO besteht aus vier Säulen:
- Maschinenlesbarkeit — Strukturierte Daten (JSON-LD),
/llms.txt, klare Markup - Identität — Wer schreibt, woher kommt die Autorität, wie ist sie verlinkt
- Crawler-Policy — Welche Bots dürfen rein, welche nicht — explizit, nicht implizit
- Frische und Belege — Aktualisierte Inhalte, Quellen mit Datum
Jede Säule hat konkrete Hebel.
1. Maschinenlesbarkeit
JSON-LD ist der Default
LLMs und AI-Crawler parsen JSON-LD nativ. HTML-Microdata (itemtype, itemprop) funktioniert auch, ist aber für KI-Systeme weniger zuverlässig. Empfehlung: JSON-LD pro Seite, eingebettet als <script type="application/ld+json"> im <head>.
Bei mir ist das ein gemeinsamer @graph-Block pro Seitentyp:
- Home:
WebSite+Person - Post:
BlogPosting+Person+BreadcrumbList - Kategorie/Archiv:
CollectionPage+Person+BreadcrumbList - Generic Page (About, Impressum etc.):
WebPage+Person
Wichtig: alle Einträge referenzieren die GLEICHE Person-Entität via @id. Das macht den Author-Knoten in der Knowledge-Graph-Verarbeitung der Crawler eindeutig.
/llms.txt und /llms-full.txt
Die llmstxt.org-Konvention schlägt zwei Dateien am Site-Root vor:
/llms.txt— eine hand-kuratierte Markdown-Übersicht: Site-Name, Beschreibung, Links zu Hauptseiten und ausgewählten Posts/llms-full.txt— eine maschinell zusammengebaute Datei mit dem vollständigen Inhalt aller indexierbaren Posts
llms.txt ist Marketing für die Seite gegenüber LLMs. llms-full.txt ist die maschinenlesbare Volltextquelle. Bei mir wird llms.txt statisch unter source/ gepflegt; die llms-full.txt baut ein Hexo-Generator, der alle nicht-noindex-Posts zu einem Markdown-Dump verkettet.
Klare Headings + Definitionen
LLMs schneiden Antworten gerne aus konkreten Absätzen. Daher:
- Jeder Absatz sollte alleine Sinn ergeben — keine “Wie oben gesagt”-Pronomen-Brücken
- Begriffe vor Verwendung definieren (“ein Service-Worker (clientseitiger JS-Hintergrund-Prozess)…”)
<h2>/<h3>mit klaren Fragen oder Behauptungen, nicht “Mehr dazu”
2. Identität
Sichtbare Autor-Byline pro Post
Jeder Post braucht Autor und Datum sichtbar für den Leser. Nicht nur als Schema-Microdata, nicht nur im Footer. Eine Meta-Bar pro Post mit Autor, Veröffentlichungsdatum, Update-Datum und (Bonus) Lesezeit erfüllt mehrere Zwecke:
- LLMs lesen das als klare Author-Attribution
- Leser sehen sofort, wer schreibt und wann
- Schema.org-Validatoren bekommen
datePublishedunddateModifieddoppelt belegt
Ich hab bei mir genau diese Meta-Bar plus die datePublished/dateModified-Microdata ins Post-Template eingebaut.
Person-Entität mit sameAs
sameAs ist der wichtigste Schema-Trick für AI-Discovery. Eine Person mit:
1 | "sameAs": [ |
…ist für Knowledge-Graph-Crawler ein eindeutiges Signal: dieselbe Person ist auch dort und dort. Damit wird die Autorität von externer Reputation auf die Seite übertragen.
Eine echte About-Seite
Person.url sollte auf eine ECHTE About-Seite zeigen, nicht aufs Impressum (das ist rechtlich, nicht biografisch). Die About-Seite sollte enthalten:
- Bio (1–2 Absätze)
- Tech-Stack / Skills
- Publishing-Prinzipien
- Profile-Links
- Verweis auf Impressum + Datenschutz
3. Crawler-Policy
robots.txt ist nicht “Default”
Eine robots.txt mit nur User-agent: * und leerem Disallow: ist 2026 unterspezifiziert. Die neun aktuell relevanten AI-Crawler:
| Crawler | Anbieter | Zweck |
|---|---|---|
GPTBot | OpenAI | Training |
OAI-SearchBot | OpenAI | Search-Index |
ChatGPT-User | OpenAI | Real-time-Lookup für User-Anfragen |
ClaudeBot | Anthropic | Training |
Claude-User | Anthropic | Real-time-Lookup |
anthropic-ai | Anthropic | (Alias) |
PerplexityBot | Perplexity | Index |
Google-Extended | Gemini-Training | |
CCBot | Common Crawl | Open-Data-Training |
Jeder dieser Bots respektiert robots.txt-Direktiven. Mein Vorschlag: jeden mit explizitem Eintrag in der robots.txt nennen — auch wenn die Policy “Allow” lautet. Dann ist die Entscheidung dokumentiert.
X-Robots-Tag als HTTP-Header
Für Inhalte die nicht indexiert werden sollen, aber trotzdem erreichbar bleiben müssen, ist <meta name="robots" content="noindex,follow"> der HTML-Weg. Auf Cloudflare-Worker-Ebene kann man auch X-Robots-Tag: noindex,follow als HTTP-Header setzen — defense-in-depth. Auf einem statischen Hexo-Blog reicht meiner Erfahrung nach das Meta-Tag.
4. Frische und Belege
datePublished UND dateModified
Schema.org erlaubt beide. AI-Crawler verwenden dateModified um Frische einzuschätzen. Wenn dateModified fehlt oder gleich datePublished ist, wird der Post als unverändert seit Veröffentlichung gewertet — was nach Jahren zur Abwertung führen kann.
Empfehlung: bei jedem substantiellen Edit den updated:-Frontmatter setzen. Auch Tippfehler-Fixes sind ein Update.
Quellen mit Datum + Kontext
LLMs zitieren bevorzugt Inhalte die selbst zitierfähig wirken: konkrete Zahlen, benannte Urheber, Datumsangaben. Statt “kürzlich gab es einen Datenleak bei einer großen App” lieber “im Juli 2021 wurden 3,8 Milliarden Clubhouse-Telefonnummern auf einem Darknet-Forum angeboten (Check Point Research)”.
Update-Zyklus
Posts altern. Eine jährliche Inventur ist sinnvoll — sonst wachsen Karteileichen die das durchschnittliche Qualitätssignal der Seite verwässern. Was zeitlos brauchbar bleibt, bleibt indexiert. Was thematisch komplett überholt ist, kann auf noindex: true gesetzt werden — bleibt erreichbar, ist aber aus Such- und Sitemap-Index raus.
Verifikation
Wie misst du AIO?
- Schema.org Validator für JSON-LD-Korrektheit
- Google Rich Results Test für Rich-Result-Berechtigung
curl /llms.txtundcurl /llms-full.txtals HTTP-200-Check- Eigenes Validierungs-Script, das z.B. 5 URL-Typen fetcht und das JSON-LD gegen die erwarteten Pflichtfelder prüft. Hab ich mir bei mir als Dauer-Smoke-Check gebaut.
Was AIO nicht ist
- Kein Trick. Es gibt keine geheime Hintertür zu LLM-Antworten.
- Kein Ersatz für SEO. Die meisten AI-Crawler verwenden die SERP-Rankings oder den klassischen Index als Ausgangspunkt.
- Keine Garantie für Zitation. LLMs entscheiden autonom welche Quellen sie nennen.
- Keine Single-Action. Es ist die Summe aus 10–15 kleinen Disziplinen.
Wo geht’s weiter
- GEO — Generative Engine Optimization für die Such-Engine-Variante
- LLMO — Large Language Model Optimization für die direkte LLM-Zitation
- GAIO — was hinter dem Begriff steckt für die Marketing-Variante
- SEO als Basis für alles davor