Modul 3 · 3.3
Deutsch
robots.txt: Was Sie blockieren und was nicht
Modul 3: Die technische Grundlage einer Seite · Lesezeit: 13 Minuten
Lernziel: Nach dieser Lektion können Sie eine robots.txt lesen und schreiben, selbst ausrechnen, ob Googlebot eine Adresse aufrufen darf, erklären, was bei einer fehlenden oder nicht erreichbaren Datei passiert, und Sie wissen, warum robots.txt weder ein Schutz noch ein noindex ist.
Kernbegriffe: robots.txt (RFC 9309), Crawler, Gruppe, User-agent, Disallow, Allow, längste Übereinstimmung, gleiche Länge (Allow gewinnt), * und $, Sitemap:, Statuscode der robots.txt (4xx, 5xx), 500 KiB, 24 Stunden Cache, kein Schutz, kein noindex, KI-Crawler (Google-Extended, GPTBot)
Ein Schild an der Haustür
Eine robots.txt ist eine gewöhnliche Textdatei im Hauptverzeichnis Ihrer Website, immer unter derselben Adresse: https://www.example.com/robots.txt. Ein anständiger Crawler (Lektion 1.2) ruft diese Datei zuerst ab und liest, welche Bereiche der Website er nicht besuchen darf. Sie ist ein Schild an der Haustür, kein Schloss: Googlebot und Bingbot halten sich daran, aber ein böswilliger Robot liest das Schild einfach und geht trotzdem hinein.
Seit 2022 ist das Protokoll ein offizieller Internetstandard: RFC 9309. Google beschreibt außerdem genau, wie Googlebot die Datei liest. Beide Quellen verwenden wir in dieser Lektion.
Einige feste Regeln:
- Die Datei liegt im Hauptverzeichnis des Hosts. Eine robots.txt unter
/blog/robots.txtwird nicht gelesen. - Sie gilt nur für diesen Host, dieses Protokoll und diesen Port.
https://www.example.com/robots.txtgilt nicht fürhttps://shop.example.com/; dieser Host braucht eine eigene Datei. - Es handelt sich um reinen Text in UTF-8.
Wie die Datei aufgebaut ist
User-agent: *
Disallow: /winkelmand/
Disallow: /zoeken
Allow: /zoeken/tips
User-agent: Googlebot
Disallow: /concepten/
Sitemap: https://www.example.com/sitemap.xmlDie Datei besteht aus Gruppen. Eine Gruppe beginnt mit einer oder mehreren Zeilen User-agent:, danach folgen die Regeln Disallow: (nicht besuchen) und Allow: (besuchen erlaubt). Der Pfad nach Disallow: ist der Anfang einer Adresse: Disallow: /zoeken blockiert /zoeken, /zoeken?q=rozen und auch /zoekenmachine, denn sie beginnen alle mit /zoeken.
Die Zeile Sitemap: gehört zu keiner Gruppe und gibt an, wo Ihre Sitemap liegt (Lektion 3.4). Google verlangt eine vollständige Adresse mit https:// und Hostnamen.
Ein Disallow: ohne Pfad blockiert nichts. Disallow: / blockiert alles.
Welche Gruppe gilt?
Ein Crawler wählt eine einzige Gruppe: die mit dem spezifischsten Namen, der zu ihm passt. Googlebot folgt also der Gruppe User-agent: Googlebot, wenn es sie gibt, und ignoriert dann die Gruppe * vollständig. Im Beispiel oben darf Googlebot /winkelmand/ (Warenkorb) also doch besuchen: Diese Regel steht nur in der *-Gruppe. Das ist einer der häufigsten Fehler: Wer eine eigene Googlebot-Gruppe anlegt, muss dort alle Regeln wiederholen, die auch für Google gelten sollen.
Beim Namen wird nicht zwischen Groß- und Kleinschreibung unterschieden (googlebot = Googlebot). Gibt es zwei Gruppen für denselben Crawler, fasst Google sie zusammen.
Welche Regel gewinnt?
Innerhalb der Gruppe kann eine Adresse unter mehrere Regeln fallen. Dann gilt:
- Die längste passende Regel gewinnt (der spezifischste Pfad).
- Sind ein
Allowund einDisallowgenau gleich lang, gewinntAllow. Google nennt das "die am wenigsten einschränkende Regel".
Zwei Zeichen haben eine besondere Bedeutung:
| Zeichen | Bedeutung | Beispiel | Trifft zu | Trifft nicht zu |
|---|---|---|---|---|
* | null oder mehr beliebige Zeichen | Disallow: /*?sessie= | /rozen?sessie=12 | /rozen?kleur=rood |
$ | Ende der Adresse | Disallow: /*.pdf$ | /folder.pdf | /folder.pdf?v=2 |
Rechenbeispiel mit der Gruppe * von oben, für den Crawler Bingbot (der keine eigene Gruppe hat):
| Adresse | Passende Regeln | Ergebnis |
|---|---|---|
/winkelmand/ | Disallow: /winkelmand/ | nicht erlaubt |
/zoeken/tips | Disallow: /zoeken (7 Zeichen) und Allow: /zoeken/tips (12) | erlaubt: die längste gewinnt |
/zoeken?q=rozen | Disallow: /zoeken | nicht erlaubt |
/bruidsboeketten | keine | erlaubt |
/robots.txt | (immer) | erlaubt: die robots.txt selbst ist immer zugänglich |
Wenn die Datei fehlt oder der Server hakt
Was Google tut, hängt vom Statuscode ab, mit dem Ihr Server auf /robots.txt antwortet:
| Antwort | Was Google tut |
|---|---|
| 200 (gefunden) | Liest die Regeln |
| Weiterleitung (301, 302) | Folgt mindestens fünf Schritten; danach behandelt Google es als 404 |
| 4xx, etwa 404 oder 403 (außer 429) | Als gäbe es keine robots.txt: alles ist erlaubt |
| 5xx oder keine Verbindung | In den ersten 12 Stunden crawlt Google die Website nicht und versucht es erneut; danach bis zu 30 Tage lang die letzte gute Version aus dem Cache. Bleibt der Fehler danach bestehen, während die Website sonst funktioniert, verhält sich Google so, als gäbe es keine robots.txt |
Eine fehlende robots.txt ist also kein Problem: Dann ist alles erlaubt. Eine robots.txt, die einen Serverfehler liefert, ist dagegen sehr wohl ein Problem: Dann hört Google vorübergehend auf zu crawlen. RFC 9309 ist hier noch strenger: Bei einer nicht erreichbaren Datei muss ein Crawler annehmen, dass alles verboten ist.
Außerdem:
- Google liest höchstens 500 KiB; alles danach wird ignoriert.
- Google speichert die robots.txt meist bis zu 24 Stunden im Cache. Eine Änderung wirkt also nicht sofort. In der Search Console finden Sie unter Einstellungen den robots.txt-Bericht: welche Version Google zuletzt abgerufen hat, mit Fehlern und Warnungen, und eine Schaltfläche, um sie erneut abrufen zu lassen.
- Google kennt nur
User-agent,Allow,DisallowundSitemap. Regeln wieCrawl-delayoderNoindexignoriert Googlebot.
Was robots.txt nicht leistet
Sie ist kein Schutz
Jeder kann Ihre robots.txt lesen, auch wer Böses vorhat. Eine Regel Disallow: /beheer-oud/ zeigt sogar genau, wo etwas Interessantes liegt. RFC 9309 sagt es selbst: Die Regeln sind keine Form der Zugriffskontrolle. Wirklich abschirmen können Sie Inhalte mit einem Passwort oder indem der Server den Zugriff verweigert, zum Beispiel mit .htaccess (siehe Weiterführende Links).
Sie ist kein noindex
Das ist die wichtigste Erkenntnis. robots.txt regelt das Crawlen, nicht das Indexieren (Lektion 1.3). Google schreibt wörtlich, dass robots.txt kein Mittel ist, um eine Seite aus Google herauszuhalten. Verlinken andere Websites auf eine blockierte Adresse, kann diese trotzdem in den Suchergebnissen erscheinen, nur ohne Beschreibung.
Möchten Sie eine Seite aus den Suchergebnissen heraushalten, verwenden Sie noindex (in einem <meta name="robots"> oder in der Kopfzeile X-Robots-Tag) oder schützen Sie die Seite mit einem Passwort. Und Vorsicht vor der klassischen Falle: Setzen Sie eine Seite mit noindex zusätzlich in der robots.txt auf Disallow, kann Google die Seite nicht besuchen und das noindex also nie lesen.
Blockieren Sie keine Bestandteile, die Google braucht
Blockieren Sie keine Ordner mit Stylesheets, Skripten oder Bildern, die Ihre Seite für eine korrekte Darstellung benötigt. Google betrachtet Ihre Seite wie ein Browser; ohne diese Dateien versteht Google die Seite schlechter.
KI-Crawler
Immer mehr Unternehmen sammeln Webseiten für künstliche Intelligenz. Einige davon können Sie in der robots.txt ansprechen:
Google-Extendedist kein eigener Robot, sondern ein Name in der robots.txt, mit dem Sie angeben, ob Google Ihre Inhalte für das Training von Gemini-Modellen und für Grounding verwenden darf. Google schreibt, dass dies keinen Einfluss auf Ihre Aufnahme oder Position in der Google Suche hat.GPTBotvon OpenAI sammelt Seiten, die für das Training von Modellen verwendet werden können.OAI-SearchBotist für die Suchfunktion von ChatGPT zuständig: Blockieren Sie ihn, erscheint Ihre Website nicht in den Suchantworten von ChatGPT.
User-agent: GPTBot
Disallow: /Ob Sie das möchten, ist eine Entscheidung, keine technische Notwendigkeit. Blockieren Sie versehentlich einen Suchrobot (Googlebot, Bingbot, OAI-SearchBot), werden Sie dort schlechter gefunden.
In der Praxis: Wo liegt Ihre robots.txt?
- Der AI Builder von WebOké erstellt beim Veröffentlichen selbst eine robots.txt mit
User-agent: *,Allow: /und einerSitemap:-Zeile. Stellen Sie die Website auf nicht indexieren oder handelt es sich um eine kostenlose Demo, steht dortDisallow: /. - WordPress erstellt eine virtuelle robots.txt mit einem Verweis auf die Sitemap. Legen Sie selbst eine Datei
robots.txtin das Webverzeichnis, hat diese Vorrang. - Eine eigene Website auf einem Hostingpaket: Sie legen die
robots.txtüber den Dateimanager oder per FTP in das Webverzeichnis (bei DirectAdminpublic_html).
Bei anderen Anbietern funktioniert es ähnlich: Die Datei muss immer unter /robots.txt Ihres Hosts erreichbar sein.
Zusammenfassung
- Die robots.txt liegt unter
/robots.txtjedes Hosts und teilt anständigen Crawlern mit, was sie nicht besuchen dürfen. - Ein Crawler folgt einer einzigen Gruppe (dem spezifischsten Namen, sonst
*). Innerhalb der Gruppe gewinnt die längste Regel; bei gleicher Länge gewinntAllow. - 404 bedeutet "alles erlaubt", ein Serverfehler lässt Google vorübergehend das Crawlen einstellen. Google liest 500 KiB und speichert die Datei bis zu 24 Stunden im Cache.
- robots.txt ist weder ein Schutz noch ein noindex. Blockieren Sie eine
noindex-Seite nicht in der robots.txt. - KI-Crawler wie
GPTBotund den NamenGoogle-Extendedkönnen Sie separat regeln, ohne Folgen für die Google Suche.
Quiz
Aufgabe
Aufgabe A3.3: Ihre robots.txt unter der Lupe. Geben Sie Ihre Domain ein und dazu drei Adressen Ihrer eigenen Website (zum Beispiel die Startseite, eine Produktseite und Ihren Warenkorb oder Ihre Suchseite), jeweils mit Ihrer Erwartung: Darf Googlebot die Adresse crawlen, ja oder nein? Das Programm ruft Ihre robots.txt ab, prüft Statuscode, Größe, Gruppen und die Sitemap:-Zeile und rechnet für jede Adresse nach, was Googlebot nach den Regeln aus dieser Lektion darf. Stimmt Ihre Erwartung? Keine eigene Website? Verwenden Sie www.wikipedia.org.
Weiterführende Links
Die Schritte in diesen Artikeln gelten für die Verwaltungsoberflächen von WebOké; bei anderen Anbietern funktioniert es ähnlich.
- DirectAdmin Anleitung 11.1: Dateimanager öffnen: die Verzeichnisse in Ihrem Paket
- Dateien per .htaccess sperren, z. B. plugin-googlemap2-proxy.php
- DirectAdmin Anleitung 11.4: Versteckte Dateien wie .htaccess anzeigen und bearbeiten
- Google Search Central, Wie Google die robots.txt interpretiert: https://developers.google.com/search/docs/crawling-indexing/robots/robots_txt
- Google Search Central, Einführung in robots.txt: https://developers.google.com/search/docs/crawling-indexing/robots/intro
- RFC 9309, Robots Exclusion Protocol: https://www.rfc-editor.org/rfc/rfc9309.html
- Google, Übersicht der Crawler (Google-Extended): https://developers.google.com/crawling/docs/crawlers-fetchers/google-common-crawlers
- OpenAI, Übersicht der Crawler (GPTBot, OAI-SearchBot): https://developers.openai.com/api/docs/bots
