Robots.txt-Tester

Geben Sie eine Adresse ein und wählen Sie einen Crawler. Wir holen die robots.txt der Website, wenden sie so an, wie es der Standard vorschreibt, und sagen Ihnen, ob die Adresse offen oder gesperrt ist und welche Zeile entscheidet.

Das Token-Feld wird nur gelesen, wenn „Anderer Crawler“ ausgewählt ist. Die Regeln werden mit dem Pfad und dem Query-String abgeglichen, geben Sie also die genaue Adresse an, nicht nur die Domain.

Oder probieren Sie en.wikipedia.org/w/index.php?title=Special:Search (Googlebot), www.nytimes.com/section/world (GPTBot), github.com/search?q=robots (Bingbot)

Ein Aushang an der Tür, vor jedem Besuch gelesen

Bevor ein gut erzogener Crawler Seiten von einem Host abruft, fragt er nach einer Datei: /robots.txt. Die Datei listet die Pfade auf, die der Betreiber der Website lieber nicht abgerufen haben möchte, sortiert danach, welcher Crawler fragt. Jahrzehntelang lief das nur über Gewohnheit. 2022 bekam es einen schriftlichen Standard, RFC 9309, und dieser Tester folgt diesem Text.

Die Datei besteht aus Gruppen. Eine Gruppe beginnt mit einer oder mehreren User-agent-Zeilen und geht mit Allow- und Disallow-Regeln weiter:

User-agent: *
Disallow: /cart/
Disallow: /*?sort=

User-agent: GPTBot
Disallow: /

Sitemap: https://www.example.com/sitemap.xml

Jeder Host und jedes Schema hat eine eigene Datei. Die Regeln von https://www.example.com sagen nichts über https://shop.example.com.

Wie das Ergebnis zustande kommt

Es braucht zwei Entscheidungen, in dieser Reihenfolge.

  1. Welche Gruppe. Der Crawler sucht eine Gruppe, die sein eigenes Token nennt, ohne Rücksicht auf Groß- und Kleinschreibung. Findet er eine, befolgt er diese Gruppe und sonst nichts. Auf User-agent: * greift er nur zurück, wenn keine Gruppe ihn nennt. Darüber stolpern ständig Leute: Fügen Sie eine kurze Gruppe für Googlebot hinzu, und Sie haben Googlebot von allen Regeln unter * befreit. Gruppen, die dasselbe Token nennen, werden als eine gelesen. Einige Crawler haben eine dokumentierte zweite Wahl, die der Tester anwendet. Googlebot-Image und Applebot folgen der Googlebot-Gruppe, wenn sie keine eigene haben, und YandexBot folgt Yandex.
  2. Welche Regel. Innerhalb der Gruppe ist jede Regel ein Kandidat, deren Muster auf den Anfang des Pfads passt. Der Kandidat mit dem längsten Muster gewinnt, egal wo er in der Datei steht. Passen ein Allow und ein Disallow gleicher Länge, gewinnt Allow. Passt nichts, ist die Adresse offen.

Muster werden mit Pfad und Query-String verglichen, Zeichen für Zeichen und mit Beachtung der Groß- und Kleinschreibung. Zwei Zeichen sind besonders: * steht für eine beliebige Zeichenfolge, und $ ganz am Ende bedeutet „hier endet der Pfad“.

MusterPasst aufPasst nicht auf
/fish/fish, /fish.html, /fishing/rods/Fish, /catfish
/fish//fish/, /fish/salmon/fish, /fish.html
/*.pdf$/guide.pdf, /docs/a.pdf/guide.pdf?v=2
/*?sort=/shoes?sort=price/shoes?page=2&sort=price

Prozentkodierung wird vor dem Vergleich angeglichen, /caf%C3%A9 und /café sind also derselbe Pfad.

Das Ergebnis lesen

Die Zusammenfassung zeigt das Ergebnis, die Nummer der entscheidenden Zeile und die angewandte Gruppe. Darunter steht die Datei mit Zeilennummern. Die Zeilen der angewandten Gruppe tragen einen Balken, die entscheidende Zeile ist hervorgehoben. Passen mehrere Regeln, listet eine kleine Tabelle sie mit ihrer Musterlänge auf, und diese Länge reicht, um zu sehen, warum eine die andere schlägt. Eine letzte Tabelle zeigt das Ergebnis für die anderen Crawler der Liste, denn eine Datei behandelt sie oft unterschiedlich.

Der Status der Datei zählt genauso viel wie ihr Inhalt:

  • 404 oder ein anderer 4xx: Es gibt keine Regeln, jede Adresse ist offen. Das gilt auch für 403. Die Datei zu verbieten verbietet nicht das Crawlen.
  • 5xx, 429 oder keine Antwort: Der Crawler kann die Regeln nicht kennen und muss der ganzen Website fernbleiben, bis die Datei wieder da ist.
  • 200 mit einer Webseite darin: keine gültige Zeile, also ist nichts gesperrt. Das passiert, wenn eine Website auf jede unbekannte Adresse mit ihrer Startseite antwortet.

Der Tester meldet auch Zeilen, die ein Crawler überspringt: Regeln vor der ersten User-agent-Zeile, unbekannte oder falsch geschriebene Direktiven, Muster, die nicht mit / beginnen, eine Datei über 500 KiB, Noindex:-Zeilen (Google hat sie 2019 abgeschafft) und Crawl-delay, das Googlebot ignoriert.

Was eine robots.txt nicht kann

Sie ist eine Bitte. Suchmaschinen und die großen KI-Firmen sagen, dass sie sie respektieren. Scraper und Sicherheitsscanner tun es nicht, tragen Sie dort also nie einen geheimen Pfad ein. Außerdem ist die Datei öffentlich, und jeder kann sie lesen.

Eine Seite zu sperren entfernt sie nicht. Eine gesperrte Seite wird nicht abgerufen, aber ihre Adresse kann trotzdem in den Ergebnissen auftauchen, wenn andere Seiten auf sie verlinken. Um eine Seite aus einem Index herauszuhalten, lassen Sie sie crawlbar und antworten Sie mit noindex in einem Meta-Tag oder einem X-Robots-Tag-Header.

Diese Seite liest die Datei einmal, von unserem Server aus. Ein Crawler kann eine bis zu einen Tag alte Kopie haben, und eine Website kann verschiedenen Besuchern verschiedene Dateien ausliefern. Jeder Crawler hat außerdem seinen eigenen Parser. Wo der Standard schweigt, etwa bei falsch geschriebenen Direktiven, lesen wir die Zeile so wie der veröffentlichte Parser von Google und sagen Ihnen das.

Häufige Fragen

Wie sperre ich einen einzelnen Crawler und lasse alle anderen zu?

Geben Sie diesem Crawler eine eigene Gruppe mit Disallow: / und lassen Sie die anderen in Ruhe:

User-agent: GPTBot
Disallow: /

Crawler, die keine Gruppe mit ihrem Namen finden, verwenden die *-Gruppe, oder haben gar keine Einschränkung, wenn es keine gibt.

Warum ist meine Seite gesperrt, obwohl es eine Allow-Regel für sie gibt?

Es gibt zwei Möglichkeiten. Ein längeres Disallow-Muster passt ebenfalls, und das längste Muster gewinnt. Oder die Allow-Regel steht in einer Gruppe, die der Crawler nicht liest, denn ein Crawler mit eigener Gruppe ignoriert die *-Gruppe vollständig. Der Tester zeigt, welche Gruppe angewandt wurde und jede Regel, die gepasst hat.

Entfernt Disallow eine Seite aus Google?

Nein. Es hindert Google daran, die Seite abzurufen, nicht daran, ihre Adresse aufzuführen. Verwenden Sie noindex auf der Seite selbst und sperren Sie diese Seite nicht in der robots.txt, sonst bekommt der Crawler die Anweisung nie zu sehen.

Beachtet robots.txt Groß- und Kleinschreibung?

Bei Pfaden ja: Disallow: /Private erfasst /private nicht. Bei Direktiven und Crawler-Namen nein: user-agent: googlebot und User-Agent: Googlebot bedeuten dasselbe.

Was bedeutet eine leere Disallow-Zeile?

Disallow: ohne etwas dahinter sperrt nichts. Eine Gruppe, die nur diese Zeile enthält, sagt „dieser Crawler darf alles abrufen“. Disallow: /, mit dem Schrägstrich, sperrt die ganze Website.

Wie lange dauert es, bis eine Änderung an der robots.txt greift?

Crawler behalten eine Kopie der Datei, und der Standard bittet sie, diese nicht länger als 24 Stunden zu verwenden. Rechnen Sie damit, dass eine neue Regel innerhalb eines Tages befolgt wird, manchmal früher. Ein neues Disallow entfernt keine Seiten, die schon in einem Index sind.