Das Zeitalter der KI-Suche ist angebrochen. ChatGPT-Websuche, Perplexity, Google AI Overviews — die Zahl der Nutzer, die Informationen über KI beziehen, wächst rasant. Dadurch wird es immer wichtiger, dass KI-Systeme Ihre Website korrekt verstehen.

Hier kommt llms.txt ins Spiel. Während robots.txt Crawlern sagt „diese Seite darfst du crawlen / nicht crawlen“, ist llms.txt ein Wegweiser, der der KI sagt: „Das deckt diese Website ab, und hier stehen die Details.“ Es gibt allerdings keinen Beleg dafür, dass eine llms.txt zu mehr Zitaten in KI-Antworten führt, und in den Zugriffsprotokollen dieser Website hat kein einziger KI-Crawler sie in dreieinhalb Tagen abgerufen. Dieser Leitfaden zeigt auch, für welche Websites sie sich tatsächlich lohnt.

Dieser Artikel erklärt umfassend das Format von llms.txt, welche Informationen eingetragen werden sollten, die Entscheidungskriterien zwischen statischer und dynamischer Generierung sowie Implementierungscode für gängige Frameworks.

1. Was ist llms.txt?

llms.txt ist eine Klartextdatei im Markdown-Format, die im Stammverzeichnis einer Website platziert wird. Ihr Zweck ist es, LLMs (Large Language Models) eine Übersicht über Inhalt, Struktur und Angebot der Website zu vermitteln.

Grundlegende Informationen

MerkmalDetails
Dateinamellms.txt
SpeicherortStammverzeichnis der Domain (https://example.com/llms.txt). Seit v2 auch in einem Unterpfad (/docs/llms.txt) möglich; die Datei gilt dann für die Seiten darunter
FormatMarkdown (Klartext)
ZeichenkodierungUTF-8
Initiatorllmstxt.org (Jeremy Howard u. a.)
StandardisierungsstatusDe-facto-Standard (kein RFC und keine formale Spezifikation). Aktuelle Version: v2 (überarbeitet im August 2026)
Hauptsächliche LeserKI-Agenten, die beim Helfen für einen Nutzer Informationen brauchen (der von der Spezifikation vorgesehene Einsatz, vor allem Coding-Agenten, die Dokumentation durchsuchen). Kein Anbieter hat offiziell erklärt, dass Trainings- oder Such-Crawler wie GPTBot sie lesen

Kurz gesagt

robots.txt = „Zutritt verboten“ / llms.txt = „Das ist unsere Website“

Während robots.txt eine Zugriffskontrolle darstellt (erlauben/verbieten), ist llms.txt eine Inhaltsbeschreibung (Selbstvorstellung). Beide stehen nicht im Widerspruch zueinander — sie sind vielmehr dazu gedacht, zusammen eingesetzt zu werden.

2. Warum wird es gebraucht? — Unterschied zu robots.txt

„Reichen Sitemap und Meta-Tags nicht aus, damit auch KI die Website versteht?“ — ein berechtigter Gedanke. Doch llms.txt bietet eigene Vorteile.

Rollenvergleich: robots.txt / sitemap.xml / llms.txt

DateiZweckZielgruppeInhalt
robots.txtCrawl-Erlaubnis/-VerbotAlle CrawlerAllow-/Disallow-Regeln
sitemap.xmlSeitenliste bereitstellenSuchmaschinenURLs, Änderungsdaten, Prioritäten
llms.txtWebsite-Inhalte beschreibenLLM-CrawlerÜbersicht, Struktur, Inhaltszusammenfassungen

Drei Gründe, warum llms.txt nötig ist

Grund 1: LLMs können eine Website nicht effizient vollständig crawlen

Der Googlebot crawlt Milliarden von Seiten und baut einen riesigen Index auf, doch LLM-Crawler arbeiten nicht annähernd so umfassend. Mit llms.txt kann man der KI effizient mitteilen: „Das sind die wichtigsten Inhalte unserer Website.“

Grund 2: Mehr Zitate in KI-Antworten — eine verbreitete Behauptung ohne Beleg

Oft liest man, eine llms.txt erhöhe die Chance, von ChatGPT oder Perplexity zitiert zu werden. Daten oder offizielle Aussagen der Anbieter, die das zeigen, gibt es jedoch nicht. Google schreibt ausdrücklich, dass für AI Overviews und den AI Mode keine KI-Textdateien nötig sind (Google Search Central). Treffender ist es, llms.txt als Inhaltsverzeichnis zu sehen, das Agenten schnell zur richtigen Information führt, statt als Mittel für mehr Zitate; Abschnitt 9 prüft das an echten Protokollen.

Eine ausführliche Erklärung zu LLMO finden Sie in „Was ist LLMO?“.

Grund 3: Meta-Informationen übermitteln, die sitemap.xml nicht bietet

sitemap.xml ist lediglich eine URL-Liste. Mit llms.txt lassen sich zusätzlich folgende Informationen vermitteln:

  • Thema und Fachgebiet der Website
  • Zusammenfassungen und Kategorien einzelner Inhalte
  • Aktualisierungshäufigkeit und Umfang der Website
  • Ob Mehrsprachigkeit unterstützt wird
  • Kontaktinformationen

3. Formatspezifikation — was und wie schreiben

Formatstruktur von llms.txt

H1 Site-Name → Blockquote-Übersicht → H2-Abschnittsgruppe

1. Header Pflicht
# Website-Name
> Kurze Site-Beschreibung (1-2 Sätze)
Site mit H1 + Blockquote vorstellen
2. Abschnittsliste Empfohlen
## Abschnittsliste
- [Abschnittsname](URL): Beschreibung
- [Abschnittsname](URL): Beschreibung
H2-Gruppierung + Linkliste
3. Inhaltsverzeichnis Empfohlen
## Inhaltsliste
- [Titel](URL): Zusammenfassung [Kategorie]
- [Titel](URL): Zusammenfassung [Kategorie]
 ... (alle Inhalte auflisten)
Einzeilige Zusammenfassung pro Artikel hilft der KI
4. Kategorien / Tags Optional
## Kategorie-/Tag-System
- Kategorie-Slug: Beschreibung
- Kategorie-Slug: Beschreibung
Macht die Informationsstruktur explizit
5. Site-Infos Empfohlen
## Website-Informationen
- URL: https://example.com
- Sitemap: .../sitemap.xml
- Contact: email@example.com
Zeigt Betreiber und kanonische URL

llms.txt wird im Markdown-Format geschrieben. Das Format gemäß der Spezifikation von llmstxt.org sieht wie folgt aus:

Grundstruktur

# Website-Name

> Kurzbeschreibung der Website. In 1-3 Saetzen Thema, Zielgruppe und Mehrwert vermitteln.

## Abschnittsname 1

- [Seitentitel](URL): Zusammenfassung der Seite

## Abschnittsname 2

- [Seitentitel](URL): Zusammenfassung der Seite
- [Seitentitel](URL): Zusammenfassung der Seite

Formatregeln

ElementMarkdown-SyntaxFunktion
H1-Überschrift# Website-NameOffizieller Name der Website. Nur einmal pro Datei
Zitatblock> BeschreibungstextKurzbeschreibung der Website. Direkt nach H1
H2-Überschrift## AbschnittsnameGruppierung der Inhalte
Listenlink- [Titel](URL): BeschreibungInformationen zu einzelnen Inhalten

Konkretes Beispiel

# My Tech Blog

> My Tech Blog is a software engineering blog covering web development, cloud infrastructure, and AI tools. Updated weekly with practical tutorials and comparisons.

## Main Sections

- [Articles](https://example.com/articles): 50+ in-depth technical articles
- [Tutorials](https://example.com/tutorials): Step-by-step coding tutorials

## Popular Articles

- [React vs Vue in 2026](https://example.com/articles/react-vs-vue): A detailed comparison of React and Vue.js for modern web development, covering performance, ecosystem, and learning curve.
- [Docker for Beginners](https://example.com/articles/docker-beginners): Complete guide to Docker containers for developers who have never used containerization.

## Site Information

- URL: https://example.com
- Sitemap: https://example.com/sitemap.xml
- Languages: en, ja
- Contact: admin@example.com

Hinweise

  • Standardmäßig auf Englisch schreiben. Die llms.txt-Spezifikation und Beispiele sind durchweg auf Englisch, was es zur Best Practice macht. Für mehrsprachige Websites wird empfohlen, auf Englisch zu schreiben und die unterstützten Sprachen mit Languages: ja, en, es, ... anzugeben. Für einsprachige Websites (z.B. eine Website komplett auf Französisch oder Russisch) ist es jedoch völlig akzeptabel, in der Sprache der Website zu schreiben. Die führenden LLMs (GPT, Claude, Gemini usw.) verarbeiten die meisten Sprachen mit hoher Genauigkeit, und die Nutzer solcher Websites werden in derselben Sprache anfragen, was konsistente Antworten gewährleistet.
  • Zeichenkodierung muss UTF-8 sein. Andere Kodierungen können zu Darstellungsfehlern führen
  • URLs als absolute Pfade angeben (vollständige URLs beginnend mit https://)
  • Nur eine H1-Überschrift pro Datei. Für die Unterteilung H2 verwenden

4. Welche Informationen eingetragen werden — Pflicht, empfohlen, optional

Viele sind unsicher, was genau eingetragen werden soll. Hier eine Übersicht nach Priorität:

Hinweis: Die Spezifikation (llmstxt.org) verlangt nur die H1 mit dem Namen der Website; das Zitat mit der Zusammenfassung und die Linklisten unter H2 sind formal optional. „Pflicht“ bedeutet hier das Minimum, das dieser Leitfaden für sinnvoll hält, damit sich die Datei lohnt.

Pflichtangaben (ohne diese ist llms.txt sinnlos)

InformationPlatzierungBeispiel
Website-NameH1-Überschrift# AI Arte
Website-BeschreibungZitatblock> AI learning platform...
HauptabschnitteH2 + Linkliste- [Articles](URL): Beschreibung

Empfohlene Angaben (verbessern das KI-Verständnis)

InformationWarum nötig?
Vollständige InhaltslisteDie KI kann den Umfang der gesamten Website erfassen
Einzeilige Zusammenfassung pro InhaltDie KI kann den Seiteninhalt vorab verstehen
Kategorie-/Tag-SystemZeigt die Informationsstruktur der Website
Website-URLGibt die kanonische URL an
Sitemap-URLVerweis auf die detaillierte URL-Liste
Unterstützte SprachenWichtig bei mehrsprachigen Websites
KontaktZeigt die Identität des Betreibers

Optionale Angaben (wünschenswert, aber nicht zwingend)

  • Technologie-Stack: Womit die Website erstellt wurde (Framework usw.)
  • Aktualisierungshäufigkeit: Wie oft neue Inhalte veröffentlicht werden
  • Gesamtzahl der Inhalte: Anzahl der Artikel usw.
  • Lizenz-/Zitierrichtlinien: Ob KI-Systeme die Inhalte zitieren dürfen
  • API-Informationen: Falls programmatischer Zugriff möglich ist

Was nicht eingetragen werden sollte

  • Vertrauliche Informationen: Admin-Panel-URLs, interne API-Endpunkte usw.
  • Personenbezogene Daten: Überflüssige persönliche Angaben (Adresse, Telefonnummer usw.)
  • Zugangsdaten: API-Schlüssel, Passwörter usw.

5. Unterschied zwischen llms.txt und llms-full.txt

llms-full.txt fasst den gesamten Inhalt einer Website in einer einzigen Datei zusammen. Sie ist nicht Teil der Spezifikation von llmstxt.org, sondern eine Konvention, die sich verbreitet hat, weil Dokumentationsplattformen wie Mintlify sie automatisch zusammen mit llms.txt erzeugen (Mintlify-Dokumentation). Die Spezifikation v2 empfiehlt stattdessen, für jede Seite eine Markdown-Version (page.md oder page.html.md) bereitzustellen und aus der llms.txt darauf zu verlinken, statt alles in eine Datei zu packen.

DateiInhaltGröße (ca.)Zweck
llms.txtÜbersicht, Struktur, Linkliste1-50 KB„Inhaltsverzeichnis“ der gesamten Website
llms-full.txtVolltext aller Inhalte100 KB - mehrere MBStellt der KI den gesamten Inhalt bereit

Wann llms-full.txt sinnvoll ist

  • Technische Dokumentation: API-Referenzen oder Bibliotheksdokumentation, bei denen das Verständnis des Volltextes die Antwortgenauigkeit der KI verbessert
  • Wissensdatenbanken: FAQ-Sammlungen oder Glossare, die häufig in Auszügen zitiert werden

Wann llms-full.txt nicht nötig ist

  • Blogs und Medien-Websites: Bei vielen Artikeln würde eine einzelne Datei zu groß werden. Die Zusammenfassungen in llms.txt genügen
  • E-Commerce-Websites: Produktinformationen werden besser über strukturierte Daten (JSON-LD usw.) bereitgestellt
  • Unternehmenswebsites: Bei wenigen Seiten reicht llms.txt allein aus

Für gewöhnliche Blogs und Medien-Websites genügt llms.txt vollkommen. llms-full.txt ist eher für technische Dokumentation gedacht.

6. Statische Datei vs. dynamische Generierung — was wählen?

Statische Datei vs Dynamische Generierung — welches wählen

Trade-off: Implementierung vs. laufende Pflege

Statische Datei
public/llms.txt direkt ablegen
+ Einfachste Umsetzung (Datei ablegen)
+ Keine Serverlast
+ Kein Framework nötig
- Veraltet bei vergessener Pflege
- Manuelle Bearbeitung pro Artikel
- Anzahl/Kategorien werden ungenau
Geeignet für
Wenig Inhalt (10 oder weniger)
Seltene Aktualisierung (unter 1x/Monat)
Dynamische Generierung
Automatisch aus DB generieren (Route)
+ Immer auf dem neuesten Stand
+ Neue Artikel automatisch sichtbar
+ Anzahl/Kategorien stets korrekt
- Höherer Implementierungsaufwand
- Datenbankzugriff pro Anfrage
- Framework erforderlich
Geeignet für
Viel Inhalt (10+ Einträge)
Häufige Aktualisierung (1x/Woche+)
Im Zweifel Dynamische Generierung — „installieren und vergessen“ senkt die Betriebskosten

Für den Betrieb von llms.txt gibt es zwei grundlegende Ansätze.

Ansatz 1: Statische Datei

Bei dieser Methode wird eine Textdatei direkt unter public/llms.txt (oder einem vergleichbaren Pfad) abgelegt.

Vorteile:

  • Einfachste Implementierung (Datei ablegen, fertig)
  • Keinerlei Serverlast
  • Funktioniert ohne Framework

Nachteile:

  • Bei jeder Inhaltsänderung muss die Datei manuell aktualisiert werden
  • Wird die Aktualisierung vergessen, erhält die KI veraltete Informationen
  • Anzahl der Inhalte und Kategorien können von der Realität abweichen

Ansatz 2: Dynamische Generierung

Bei dieser Methode nimmt die Anwendung Anfragen an /llms.txt entgegen und generiert den Text dynamisch aus der Datenbank.

Vorteile:

  • Immer auf dem neuesten Stand
  • Neue Artikel erscheinen automatisch in llms.txt
  • Inhaltsanzahl und Kategorienamen sind stets korrekt

Nachteile:

  • Höherer Implementierungsaufwand (Routendefinition + Controller)
  • Bei jeder Anfrage erfolgt ein Datenbankzugriff (durch Caching reduzierbar)
  • Framework erforderlich

Entscheidungshilfe

BedingungEmpfehlung
Weniger als 10 Inhalte, selten neueStatische Datei genügt
Mehr als 10 Inhalte oder monatliche AktualisierungDynamische Generierung empfohlen
WordPress / Laravel / Django o. Ä. im EinsatzDynamische Generierung ist leicht umsetzbar
Statische Website (Hugo, Jekyll, Astro o. Ä.)Idealerweise automatische Generierung beim Build
Ein-Personen-Betrieb, minimaler WartungsaufwandDynamisch (einmal einrichten, dann vergessen)

Im Zweifel: dynamische Generierung. Der anfängliche Implementierungsaufwand ist höher, aber langfristig sinken die Betriebskosten, weil man es „einrichten und vergessen“ kann. Das schlimmste Szenario ist eine statische Datei, deren Aktualisierung vergessen wird und die der KI veraltete Informationen liefert.

7. Implementierung — Codebeispiele für gängige Frameworks

Im Folgenden werden Implementierungsbeispiele für die dynamische Generierung von llms.txt in gängigen Frameworks vorgestellt.

Laravel (PHP)

Routendefinition (routes/web.php):

use App\Http\Controllers\LlmsTxtController;

Route::get('/llms.txt', [LlmsTxtController::class, 'index']);

Controller (app/Http/Controllers/LlmsTxtController.php):

class LlmsTxtController extends Controller
{
    public function index()
    {
        $articles = Article::published()
            ->with(['translations' => fn($q) => $q->where('locale', 'en')])
            ->orderBy('published_at')
            ->get();

        $lines = [];
        $lines[] = '# My Site Name';
        $lines[] = '';
        $lines[] = '> Site description here.';
        $lines[] = '';
        $lines[] = '## All Articles (' . $articles->count() . ')';
        $lines[] = '';

        foreach ($articles as $article) {
            $t = $article->translations->first();
            if (!$t) continue;
            $url = 'https://example.com/en/articles/' . $article->slug;
            $lines[] = '- [' . $t->title . '](' . $url . '): ' . $t->meta_description;
        }

        $content = implode("\n", $lines);
        return response($content, 200)
            ->header('Content-Type', 'text/plain; charset=utf-8');
    }
}

Wichtig ist die explizite Angabe von Content-Type: text/plain; charset=utf-8. Ohne diese Angabe wird die Datei möglicherweise als HTML interpretiert.

Django (Python)

# urls.py
from django.urls import path
from . import views

urlpatterns = [
    path('llms.txt', views.llms_txt, name='llms_txt'),
]

# views.py
from django.http import HttpResponse
from .models import Article

def llms_txt(request):
    articles = Article.objects.filter(
        status='published'
    ).order_by('published_at')

    lines = ['# My Site', '', '> Description.', '', '## Articles', '']
    for a in articles:
        lines.append(f'- [{a.title}](https://example.com/articles/{a.slug}): {a.meta_description}')

    content = '\n'.join(lines)
    return HttpResponse(content, content_type='text/plain; charset=utf-8')

Next.js (TypeScript)

// app/llms.txt/route.ts (App Router)
import { NextResponse } from 'next/server'

export async function GET() {
  // Daten aus DB oder CMS abrufen
  const posts = await getAllPosts()

  const lines = [
    '# My Site',
    '',
    '> Description.',
    '',
    '## Articles',
    '',
    ...posts.map(p =>
      `- [${p.title}](https://example.com/posts/${p.slug}): ${p.description}`
    ),
  ]

  return new NextResponse(lines.join('\n'), {
    headers: { 'Content-Type': 'text/plain; charset=utf-8' },
  })
}

WordPress (PHP)

In die functions.php oder als Plugin einfügen:

// functions.php
add_action('init', function() {
    add_rewrite_rule('^llms\.txt$', 'index.php?llms_txt=1', 'top');
});

add_filter('query_vars', function($vars) {
    $vars[] = 'llms_txt';
    return $vars;
});

add_action('template_redirect', function() {
    if (!get_query_var('llms_txt')) return;

    header('Content-Type: text/plain; charset=utf-8');
    $posts = get_posts(['numberposts' => -1, 'post_status' => 'publish']);

    echo "# " . get_bloginfo('name') . "\n\n";
    echo "> " . get_bloginfo('description') . "\n\n";
    echo "## Articles (" . count($posts) . ")\n\n";

    foreach ($posts as $post) {
        $url = get_permalink($post);
        $desc = get_the_excerpt($post);
        echo "- [{$post->post_title}]({$url}): {$desc}\n";
    }
    exit;
});

Bei WordPress nicht vergessen, die Permalink-Einstellungen neu zu speichern (Rewrite-Regeln flushen).

Statische Website-Generatoren (Hugo / Astro usw.)

Ein Skript schreiben, das die Datei beim Build automatisch erzeugt:

# build-llms-txt.sh (Beispiel fuer Hugo)
#!/bin/bash
echo "# My Site" > public/llms.txt
echo "" >> public/llms.txt
echo "> Site description." >> public/llms.txt
echo "" >> public/llms.txt
echo "## Articles" >> public/llms.txt
echo "" >> public/llms.txt

for file in content/posts/*.md; do
  title=$(grep '^title:' "$file" | sed 's/title: //')
  slug=$(basename "$file" .md)
  desc=$(grep '^description:' "$file" | sed 's/description: //')
  echo "- [${title}](https://example.com/posts/${slug}): ${desc}" >> public/llms.txt
done

Wenn dieses Skript in der CI-Pipeline (GitHub Actions usw.) vor dem Build ausgeführt wird, wird llms.txt bei jedem Deployment automatisch aktualisiert.

8. Prüfung und Validierung nach der Einrichtung

Nach der Einrichtung von llms.txt sollten folgende Punkte geprüft werden:

Grundlegende Checkliste

PrüfpunktPrüfmethode
Ist die URL erreichbar?curl https://ihreseite.de/llms.txt
Ist der Content-Type korrekt?curl -I — text/plain; charset=utf-8 prüfen
Werden Zeichen korrekt dargestellt?Datei direkt im Browser öffnen und Darstellung prüfen
Sind die Links korrekt?Sind die angegebenen URLs tatsächlich erreichbar?
Ist der HTTP-Status 200?curl -o /dev/null -w "%{http_code}"
Wird sie nicht von robots.txt blockiert?Kein Disallow: /llms.txt in robots.txt

Zusätzliche Prüfung bei dynamischer Generierung

  • Nach dem Hinzufügen eines Artikels llms.txt prüfen: Wird der neue Artikel angezeigt?
  • Ist die angezeigte Inhaltsanzahl korrekt? Stimmt die Zahl bei „All Articles (27)“ mit der tatsächlichen Anzahl veröffentlichter Artikel überein?
  • Sind unveröffentlichte Artikel ausgeschlossen? Sicherstellen, dass Entwürfe und geplante Beiträge nicht angezeigt werden

Validierungstools

Einen offiziellen Validator für das llms.txt-Format gibt es nicht (Stand: 29. September 2026). Chromes Lighthouse führt llms.txt zwar unter den „Agentic browsing“-Audits, prüft aber nur, ob beim Abruf der Datei ein Serverfehler auftritt; fehlt die Datei (404), gilt das Audit als nicht anwendbar (Chrome for Developers). Den Inhalt prüfen Sie mit den folgenden Methoden.

  • Von ChatGPT oder Claude lesen lassen: Fragen wie „Lies https://ihreseite.de/llms.txt und erkläre mir, worum es auf dieser Website geht“
  • Markdown-Previewer: Den Inhalt von llms.txt in einen Markdown-Previewer einfügen und prüfen, ob die Struktur korrekt gerendert wird
  • SEO-Audit-Tools: Einige SEO-Audit-Tools beginnen, die Existenz von llms.txt zu überprüfen

9. Nachgemessen: Rufen KI-Crawler die llms.txt überhaupt ab?

Oft heißt es „einfach veröffentlichen, dann liest die KI sie“. Ob sie tatsächlich abgerufen wird, lässt sich aber in den Zugriffsprotokollen des eigenen Servers prüfen. Diese Website (arte.itlibra.com) liefert eine dynamisch erzeugte /llms.txt aus; wir haben daher die Anfragen nach User-Agent vom 26. September, 07:20 Uhr, bis zum 29. September, 12:54 Uhr UTC gezählt (etwa dreieinhalb Tage, insgesamt 86.696 Anfragen).

Crawler (User-Agent)Alle Anfragen im Zeitraumrobots.txtllms.txt
OAI-SearchBot (Suche von OpenAI)866200
ChatGPT-User (ChatGPT öffnet eine Seite im Auftrag eines Nutzers)1.27520
ClaudeBot (Anthropic)502290
Claude-User (Claude öffnet eine Seite im Auftrag eines Nutzers)438700
PerplexityBot1.086190
Googlebot2.186140
bingbot4.362210

In diesem Zeitraum wurde /llms.txt nur dreimal abgerufen: zweimal von der Kommandozeile (curl) und einmal von einem Website-Audit-Tool. KI-Crawler haben Artikel hunderte Male gelesen, llms.txt aber kein einziges Mal geöffnet. Viele von ihnen haben robots.txt geprüft; es liegt also nicht daran, dass sie kleine Dateien meiden, sondern daran, dass sie nicht nach llms.txt suchen.

Das sind dreieinhalb Tage Protokolle einer einzigen Website; andere Websites oder längere Zeiträume können anders aussehen. Zusammen mit den offiziellen Aussagen ergibt sich trotzdem ein klares Bild.

  • Google: schreibt „You don't need to create new machine readable files, AI text files, or markup“ (neue maschinenlesbare Dateien, KI-Textdateien oder Markup sind nicht nötig), um in AI Overviews oder im AI Mode zu erscheinen (AI features and your website)
  • Die Spezifikation (v2, August 2026): sieht vor, dass llms.txt eher bei der Inferenz genutzt wird, also wenn ein Agent beim Helfen Informationen braucht, als beim Training, und nennt als häufigsten Einsatz Coding-Agenten, die Softwaredokumentation durchsuchen (llmstxt.org)
  • Chrome Lighthouse: Die „Agentic browsing“-Audits enthalten llms.txt, eine Seite fällt aber nur durch, wenn der Abruf der Datei einen Serverfehler liefert. Fehlt die Datei (404), gilt das als nicht anwendbar und kostet nichts (Chrome for Developers)

Entscheidungshilfe: Lohnt sich eine llms.txt?

Art der WebsiteEmpfehlungGrund
API- oder BibliotheksdokumentationAnlegen (plus Markdown-Versionen der einzelnen Seiten)Coding-Agenten folgen ihr tatsächlich; das ist der Haupteinsatz, den die Spezifikation vorsieht
Blog oder MedienseiteSchadet nicht, aber keine zusätzlichen Besuche oder Zitate erwartenIn den Protokollen dieser Website lasen KI-Crawler die Artikel direkt. Zuerst zählen die Qualität der Artikel und dass robots.txt KI-Crawler nicht aussperrt
Kleine UnternehmenswebsiteKeine EileBei wenigen Seiten reichen Startseite und Sitemap

Wenn Sie eine anlegen, zeigen Ihre eigenen Protokolle zuverlässig, ob sie genutzt wird. Bei Zugriffsprotokollen im Standardformat von nginx oder Apache (combined) zählt diese eine Zeile die User-Agents, die /llms.txt abgerufen haben, die häufigsten zuerst.

grep ' /llms.txt ' access.log | awk -F'"' '{print $6}' | sort | uniq -c | sort -rn

10. Praxisbeispiele von llms.txt auf echten Websites

OpenAI, Anthropic und Google (Gemini API) veröffentlichen eine llms.txt für ihre eigene Entwicklerdokumentation (so auf der Seite der Spezifikation aufgeführt). Statistiken zur Verbreitung haben wir nicht gefunden; die folgende Tabelle ist daher nur eine grobe Tendenz.

Merkmale von Websites mit llms.txt-Einführung

Website-TypVerbreitungGrund
KI-bezogene Dienste und ToolsHochDie KI-Branche selbst hat ein hohes LLMO-Bewusstsein
Technische DokumentationHochBedarf, der KI Informationen korrekt zu vermitteln
Tech-BlogsMittelHohe Sensibilität für technische Trends
UnternehmenswebsitesNiedrigBekanntheit noch gering
E-Commerce-WebsitesNiedrigStrukturierte Daten (JSON-LD) haben Vorrang

Merkmale einer guten llms.txt

  • Knappe und verständliche Beschreibung — Das Fachgebiet der Website ist auf einen Blick erkennbar
  • Alle Inhalte mit Zusammenfassung aufgelistet — Die KI kann das Gesamtbild erfassen
  • Kategorie-System angegeben — Die Informationsstruktur wird sichtbar
  • Dynamisch generiert — Stets auf dem aktuellen Stand

Merkmale einer schlechten llms.txt

  • Nur Website-Name und Kontakt — Zu wenig Information, um der KI beim Verständnis zu helfen
  • Volltexte aller Inhalte hineinkopiert — llms.txt ist ein „Inhaltsverzeichnis“, kein „Volltext“. Dafür gibt es llms-full.txt
  • Veraltete Informationen belassen — Wenn „10 Artikel“ angegeben sind, tatsächlich aber 50 existieren, schadet das der Glaubwürdigkeit
  • Vertrauliche Informationen enthalten — Fälle, in denen Admin-URLs oder API-Schlüssel eingetragen sind

FAQ

F. Wird meine Website ohne llms.txt nicht in KI-Suchergebnissen angezeigt?

Nein. KI-Systeme können Ihre Seiten auch ohne llms.txt direkt lesen und zitieren. Google schreibt ausdrücklich, dass für AI Overviews und den AI Mode keine KI-Textdateien nötig sind, und in den Protokollen dieser Website haben KI-Crawler Artikel hunderte Male gelesen, llms.txt aber nie geöffnet. Wer keine hat, verliert nichts; sie ist eine optionale Datei für den Fall, dass Sie Agenten gezielt lenken möchten.

F. Hat llms.txt einen Sinn, wenn KI-Crawler über robots.txt blockiert werden?

Wenn in robots.txt User-agent: GPTBot o. Ä. mit Disallow gesperrt ist, crawlt dieser Bot die Website nicht. Allerdings ist llms.txt selbst unabhängig von den robots.txt-Regeln. Es ist möglich, dass KI auf anderem Weg (z. B. wenn ein Nutzer die URL direkt einfügt) auf llms.txt zugreift. Wenn KI-Crawler bewusst blockiert werden, ist es konsequent, auch auf die Bereitstellung von llms.txt zu verzichten.

F. In welcher Sprache sollte llms.txt geschrieben werden?

Für mehrsprachige Websites auf Englisch. Für einsprachige Websites ist die Sprache der Website ebenfalls akzeptabel. Die Spezifikation und Beispiele sind überwiegend auf Englisch, was es für mehrsprachige Websites als neutrale Sprache zur logischsten Wahl macht. Wenn der Inhalt einer Website jedoch vollständig in einer Sprache ist, ist es akzeptabel, llms.txt in dieser Sprache zu verfassen. Die führenden LLMs verarbeiten die meisten Sprachen mit hoher Genauigkeit, und die Nutzer werden in der Sprache der Website anfragen, wodurch konsistente Antworten erzielt werden.

F. Gibt es eine Größenbeschränkung für llms.txt?

Die Spezifikation setzt keine Obergrenze; sie verlangt nur, dass die Datei klein genug bleibt, um in den Kontext zu passen. Zur Orientierung: Die llms.txt dieser Website listet 225 Artikel und 40 Kurskapitel mit je einer Zeile auf und ist etwa 116 KB groß (Stand: 29. September 2026). Wird Ihre Datei zu groß, kürzen Sie die einzeiligen Zusammenfassungen, verschieben Sie Nebenlinks nach ## Optional oder teilen Sie sie, wie v2 es erlaubt, in mehrere llms.txt pro Unterpfad auf. Für den Volltext verlinken Sie die Markdown-Versionen der einzelnen Seiten.

F. Wie häufig sollte aktualisiert werden?

Bei dynamischer Generierung werden bei jeder Anfrage die aktuellsten Informationen ausgegeben — das ist kein Thema. Bei statischen Dateien ist die Aktualisierung bei jeder Inhaltsänderung ideal. Mindestens einmal im Monat sollte geprüft und aktualisiert werden. Wenn die Gefahr besteht, dass eine statische Datei veraltet, ist der Wechsel zur dynamischen Generierung empfehlenswert.

F. Hat es Auswirkungen auf SEO?

Auf das Google-Ranking hat sie keinen Einfluss. Google erklärt, dass auch für AI Overviews und den AI Mode keine KI-Textdateien und kein besonderes Markup nötig sind und die üblichen SEO-Grundlagen gelten (Google Search Central). Für mehr Zitate in ChatGPT oder Perplexity gibt es ebenfalls keinen Beleg. Ob sie bei Ihnen etwas bewirkt, sehen Sie am zuverlässigsten in Ihren eigenen Zugriffsprotokollen, wie in Abschnitt 9.

F. Gibt es WordPress-Plugins dafür?

Ja. Die Liste auf llmstxt.org nennt Yoast SEO und AIOSEO als WordPress-Plugins mit llms.txt-Erzeugung (Stand: 29. September 2026). Egal welches Sie nutzen: Prüfen Sie immer den erzeugten Inhalt. Mit ein paar Dutzend Zeilen in der functions.php geht es auch selbst, ein Plugin ist also nicht zwingend nötig.