SEO
robots.txt und Sitemap: die zwei Dateien, mit denen du mit Crawlern sprichst
Was die robots.txt sperren darf und was nicht, warum eine Sperre kein Schutz vor dem Index ist, was in die Sitemap gehört und wie du beide Dateien in wenigen Minuten selbst prüfst.
10 Min. Lesezeit
Von Timo Wessels Veröffentlicht am
robots.txt und XML-Sitemap sind zwei Dateien, die sich ausschließlich an Maschinen richten. Die robots.txt sagt Crawlern, welche Adressen sie nicht abrufen sollen. Die Sitemap sagt ihnen umgekehrt, welche Adressen du für wichtig hältst. Kein Besucher sieht sie je — und trotzdem sind sie regelmäßig die Stelle, an der eine ansonsten saubere Website Sichtbarkeit verliert: durch eine Sperre, die zu viel sperrt, oder eine Sitemap, die etwas anderes sagt als die Seiten selbst.
Was die robots.txt tut — und was nicht
Die robots.txt steuert, welche Adressen ein Crawler abrufen darf. Google nennt als Hauptzweck, die Website nicht mit Anfragen zu überlasten. Sie ist ausdrücklich kein Mittel, um eine Seite aus Google herauszuhalten.
Drei Missverständnisse, die daraus folgen:
- Gesperrt heißt nicht unsichtbar. Eine gesperrte Seite kann trotzdem im Index landen, wenn andere Websites auf sie verlinken — dann mit Adresse, aber ohne Beschreibung.
- Gesperrt heißt nicht geschützt. Der Standard selbst sagt, die Regeln sind keine Zugriffskontrolle. Nicht jeder Crawler hält sich daran. Was vertraulich ist, gehört hinter ein Passwort.
- Gesperrt und
noindexschließen sich aus. Eine gesperrte Seite ruft Google nicht ab und sieht dasnoindexdarauf deshalb nie. Wer etwas aus dem Index haben will, setztnoindexund lässt den Abruf zu.noindexin derrobots.txtselbst beachtet Google seit dem 1. September 2019 nicht mehr.
Was sinnvoll gesperrt wird: der Admin-Bereich, interne Suchergebnisse und Filterkombinationen, die beliebig viele Adressen erzeugen. Also alles, was Crawler beschäftigt, ohne etwas Sinnvolles zu finden.
Was nicht über die robots.txt gehört: die Testumgebung. Eine gesperrte Staging-Seite kann trotzdem im Index auftauchen. WordPress empfiehlt für Entwicklungsumgebungen den Header X-Robots-Tag: noindex, nofollow für alle Dateien, Google nennt den Passwortschutz als Weg, Inhalte aus dem Index zu halten. Am sichersten ist beides.
CSS und JavaScript
Der teuerste Fehler in der robots.txt ist oft nicht eine gesperrte Seite, sondern eine gesperrte Ressource. Google kann CSS-, JavaScript- und Bilddateien nur dann ohne Schaden entbehren, wenn die Seite ohne sie nicht wesentlich anders aussieht. Was Google zum Darstellen und Verstehen der Seite braucht, muss abrufbar bleiben.
In WordPress heißt das praktisch: Zeilen wie Disallow: /wp-content/ oder Disallow: /wp-includes/ haben in der robots.txt nichts zu suchen. Dort liegen Stylesheets, Skripte und Bilder.
Die Regeln, nach denen Google die Datei liest
- Eine Datei je Host und Protokoll. Die
robots.txtunterhttps://example.com/gilt nicht fürhttps://www.example.com/und nicht fürhttp://example.com/. Sie muss im Wurzelverzeichnis liegen. - Groß- und Kleinschreibung zählt bei Pfaden:
/Kontaktund/kontaktsind zwei Regeln. - Die genaueste Regel gewinnt. Passen
AllowundDisallowauf dieselbe Adresse, gilt die längere, spezifischere. Sind beide gleich genau, gilt die weniger strenge. - Keine passende Regel heißt erlaubt. Steht für einen Crawler nichts in der Datei, darf er alles abrufen.
- Höchstens 500 KiB. Was darüber hinausgeht, liest Google nicht mehr.
- Google speichert die Datei bis zu 24 Stunden zwischen. Änderungen wirken also nicht sofort.
- Fehlt die Datei (Status 404), gibt es keine Einschränkungen. Antwortet der Server mit einem 5xx-Fehler, stoppt Google das Crawling zunächst für 12 Stunden und greift dann bis zu 30 Tage auf die zuletzt gespeicherte Fassung zurück.
crawl-delaykennt Google nicht. Andere Suchmaschinen teilweise schon.- Die
Sitemap:-Zeile braucht eine vollständige Adresse mit Protokoll und Domain.
Eine schlanke robots.txt für eine WordPress-Website sieht so aus — genau das erzeugt WordPress auch von selbst:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/wp-sitemap.xml
robots.txt und KI-Crawler
Die robots.txt entscheidet inzwischen auch darüber, welche KI-Systeme deine Inhalte lesen. Die Anbieter trennen dabei nach Zweck, und jeder Crawler wird über seinen eigenen Namen gesteuert:
| Crawler | Anbieter | Zweck |
|---|---|---|
GPTBot |
OpenAI | Material für das Training der Modelle |
OAI-SearchBot |
OpenAI | Suchfunktion in ChatGPT |
Google-Extended |
Training und Antworten in Gemini | |
Googlebot |
Google Suche einschließlich der KI-Übersichten |
Zwei Punkte, an denen es häufig schiefgeht:
- OpenAI schreibt, dass Seiten, die
OAI-SearchBotsperren, nicht in den Suchantworten von ChatGPT erscheinen. Wer nur das Training verhindern will, sperrtGPTBotund lässtOAI-SearchBotzu. Google-Extendedhat laut Google keinen Einfluss darauf, ob eine Seite in der Google Suche erscheint, und ist kein Rankingsignal. Die KI-Übersichten in der Suche hängen am normalenGooglebot. WerGooglebotsperrt, verschwindet aus der Suche und aus den KI-Übersichten zugleich — das ist selten die Absicht.
Steht für einen KI-Crawler nichts in deiner robots.txt, darf er alles abrufen. Das ist auch eine Entscheidung, selbst wenn sie niemand bewusst getroffen hat. Mehr dazu, welche Crawler du für KI-Antworten brauchst, steht im Artikel zur KI-Sichtbarkeit.
Die Sitemap: wann du eine brauchst
Eine Sitemap ist eine Liste der Adressen, die du für wichtig hältst. Google nennt drei Fälle, in denen sie besonders hilft:
- große Websites — Google spricht von mehr als etwa 500 Seiten, weil dort schwerer sicherzustellen ist, dass jede Seite verlinkt ist,
- neue Websites mit wenigen Links von außen,
- Websites mit viel Video, Bildern oder Nachrichten.
Eine kleine, gut verlinkte Website kommt auch ohne aus. Schaden tut sie dort aber nicht, und WordPress erzeugt sie ohnehin. Eine Garantie ist sie nie: Google schreibt ausdrücklich, dass nicht jede Adresse aus der Sitemap abgerufen und indexiert wird.
Was in die Sitemap gehört
Nur kanonische, indexierbare Adressen mit eigenem Wert. Keine Weiterleitungen, keine Fehlerseiten, nichts mit noindex, nichts mit einem Canonical auf eine andere Seite. Die Sitemap ist für Google ein zusätzliches Signal, welche Adresse die maßgebliche ist — widerspricht sie den Seiten, schwächt sie genau dieses Signal.
Der häufigste Befund ist deshalb kein Fehlen, sondern ein Widerspruch: Die Sitemap listet Adressen, die auf noindex stehen oder weiterleiten. Die Website sagt dann gleichzeitig „hier ist eine wichtige Seite" und „bitte nicht aufnehmen". Oder umgekehrt: Seiten, die es tatsächlich gibt, fehlen, weil sie zu einer Inhaltsart gehören, die das SEO-Plugin nicht erfasst.
Die formalen Regeln:
- höchstens 50.000 Adressen und 50 MB unkomprimiert je Datei. Darüber wird aufgeteilt und über eine Index-Datei verbunden.
- vollständige, absolute Adressen, mit Protokoll und Domain.
- UTF-8 als Zeichenkodierung.
lastmodnur, wenn es stimmt. Google nutzt das Änderungsdatum nur, wenn es durchgehend und nachprüfbar korrekt ist — gemeint sind wesentliche Änderungen am Inhalt, nicht das Jahr in der Fußzeile.priorityundchangefreqignoriert Google. Pflegen lohnt sich nicht.
WordPress: robots.txt und Sitemap
Die robots.txt erzeugt WordPress selbst, solange keine echte Datei im Wurzelverzeichnis liegt. Erweitert wird sie über den Filter robots_txt oder das SEO-Plugin. Liegt dort eine physische Datei, wird sie direkt ausgeliefert und WordPress kommt gar nicht zum Zug. Dann wirken Änderungen im Plugin nicht — eine typische Ursache für „ich habe es doch umgestellt".
Eine Sitemap bringt WordPress seit Version 5.5 selbst mit, unter /wp-sitemap.xml. Sie ist eine Index-Datei mit Unterdateien von standardmäßig höchstens 2.000 Einträgen, und WordPress trägt sie automatisch in die robots.txt ein. SEO-Plugins ersetzen sie meist durch eine eigene. Ist „Suchmaschinen davon abhalten, diese Website zu indexieren" aktiviert, schaltet WordPress die Sitemap ab.
Wie du das selbst prüfst
Die robots.txt ansehen. Ruf deinedomain.de/robots.txt im Browser auf. Die Datei sollte kurz und lesbar sein. Achte auf drei Dinge:
- Steht irgendwo
Disallow: /ohne weitere Einschränkung? Das sperrt die ganze Website. - Tauchen
wp-content,wp-includes,.cssoder.jsin einerDisallow-Zeile auf? - Gibt es eine
Sitemap:-Zeile, und funktioniert die Adresse darin?
Die Sitemap öffnen. Ruf die genannte Adresse auf. Eine Fehlermeldung oder eine leere Datei heißt: Die Angabe ist veraltet. Stichprobe: Öffne fünf Adressen aus der Sitemap — leitet eine weiter oder trägt sie noindex, hat die Sitemap ein Problem.
Die Search Console. Im Bericht „Sitemaps" siehst du, ob die Datei eingereicht und ohne Fehler gelesen wurde und wie viele Adressen Google darin gefunden hat. Im Bericht zur Seitenindexierung kannst du nach dieser Sitemap filtern und siehst, wie viele der Adressen tatsächlich indexiert sind. Eine große Lücke zwischen beiden Zahlen ist der interessante Befund, und die Gründe stehen gleich daneben — etwa „URL wird von der robots.txt-Datei blockiert" oder „Indexiert, obwohl durch robots.txt-Datei blockiert".
Die KI-Crawler. Such in deiner robots.txt nach GPTBot, OAI-SearchBot und Google-Extended und nach den Crawlern weiterer Anbieter, die der Artikel zur KI-Sichtbarkeit auflistet. Steht dort nichts, sind sie erlaubt.
Der vorgelagerte Dienst. Läuft die Website hinter einem CDN oder einer Firewall, kann dort ein Crawler abgewiesen werden, obwohl die robots.txt ihn erlaubt. Ein Blick in dessen Einstellungen gehört zur Prüfung.
Was zu tun ist
- Prüf, ob eine physische
robots.txtexistiert, und entscheide dich: entweder die Datei pflegen oder sie löschen und WordPress beziehungsweise das SEO-Plugin übernehmen lassen. Nicht beides. - Nimm Sperren für CSS, JavaScript und Bilder heraus, soweit die Seite sie zum Darstellen braucht. Lass Admin-Bereich, interne Suche und Filter-Parameter gesperrt.
- Nimm nichts in die
robots.txt, was eigentlich aus dem Index soll. Dafür istnoindex. - Trag die Sitemap in die
robots.txtein und reiche sie zusätzlich in der Search Console ein. - Sorg dafür, dass Sitemap und Seiten dasselbe sagen: Was auf
noindexsteht, weiterleitet oder ein fremdes Canonical trägt, gehört nicht hinein. - Triff eine bewusste Entscheidung zu den KI-Crawlern. Für die meisten Dienstleister-Websites heißt sie: Suchcrawler erlauben, Training nach eigener Haltung. Wer in KI-Antworten vorkommen will, muss lesbar sein.
- Nach jedem Relaunch:
robots.txtund Sitemap als Erstes ansehen. Eine Sperre aus der Testumgebung oder eine Sitemap voller alter Adressen fällt sonst erst Wochen später auf.
Quellen
- Google Search Central, Einführung in robots.txt — Zweck, kein Mittel gegen Indexierung, gesperrte Seiten ohne Beschreibung, CSS und JavaScript: developers.google.com
- Google Search Central, So interpretiert Google die robots.txt-Spezifikation — Host und Protokoll, 500 KiB, 24 Stunden, 4xx und 5xx, Vorrang der Regeln, Groß- und Kleinschreibung,
crawl-delay,Sitemap:-Zeile: developers.google.com - IETF, RFC 9309 Robots Exclusion Protocol — keine passende Regel heißt erlaubt, keine Zugriffskontrolle: rfc-editor.org
- Google Search Central Blog, A note on unsupported rules in robots.txt —
noindexin der robots.txt seit 1. September 2019 nicht mehr beachtet, Passwortschutz: developers.google.com - Google Search Central, Indexierung mit noindex blockieren — noindex wirkt nur ohne robots.txt-Sperre: developers.google.com
- WordPress Core, Changes to prevent search engines indexing sites —
X-Robots-Tag: noindex, nofollowfür Entwicklungsumgebungen: make.wordpress.org - OpenAI, Overview of OpenAI Crawlers — GPTBot für Training, OAI-SearchBot für die Suche in ChatGPT: developers.openai.com
- Google, Übersicht über Googles gängige Crawler — Google-Extended ohne Einfluss auf die Google Suche: developers.google.com
- Google Search Central, KI-Funktionen und deine Website — Googlebot und robots.txt als Steuerung für die Suche: developers.google.com
- Google Search Central, Was ist eine Sitemap — etwa 500 Seiten, neue Websites, Medien, keine Garantie: developers.google.com
- Google Search Central, Sitemap erstellen und einreichen — 50.000 Adressen und 50 MB, absolute Adressen, UTF-8,
lastmod,priorityundchangefreq: developers.google.com - Google Search Central, Kanonische URL angeben — Sitemap als schwaches Canonical-Signal: developers.google.com
- Google Search Console-Hilfe, Sitemaps-Bericht — Status, gefundene Adressen, Filter im Indexierungsbericht: support.google.com
- Google Search Console-Hilfe, Bericht zur Seitenindexierung — Gründe für nicht indexierte Adressen: support.google.com
- WordPress Developer Resources,
do_robots()— Standardinhalt der von WordPress erzeugten robots.txt: developer.wordpress.org - WordPress.org Plugin-Verzeichnis, Virtual Robots.txt — eine physische robots.txt verhindert die von WordPress erzeugte: wordpress.org
- WordPress Core, New XML Sitemaps Functionality in WordPress 5.5 —
/wp-sitemap.xml, 2.000 Einträge, Eintrag in der robots.txt: make.wordpress.org