Robots.txt-Parser

Fügen Sie eine robots.txt ein und lesen Sie sie so, wie ein Crawler es tut, nach RFC 9309 (das Robots-Exclusion-Protokoll, 2022 standardisiert): User-Agent-Gruppen, Allow/Disallow-Regeln, Sitemaps und unbekannte Direktiven, alles übersichtlich dargestellt — dazu eine Prüfung auf die klassischen Fehler (leere Disallow-Zeilen, unbekannte Direktiven, zu große Dateien). Der Abgleich beantwortet dann die eigentliche Frage: Fügen Sie einen User-Agent und einen Pfad ein und erhalten Sie das Erlaubt-/Verboten-Urteil mit der genauen Regel, die entschieden hat — längste Übereinstimmung, Platzhalter *, End-Anker $ und das Zusammenführen von Gruppen, genau wie der Standard es festlegt. Alles läuft in Ihrem Browser.
Noch nichts analysiert. Fügen Sie oben eine robots.txt ein und drücken Sie Datei analysieren oder laden Sie ein Beispiel.
Der Abgleich arbeitet mit dem Text, der gerade im Feld oben steht (Sie müssen nicht zuerst Analysieren drücken). Der User-Agent wird so abgeglichen, wie RFC 9309 es festlegt: Der Wert User-agent in der Datei muss eine Teilzeichenkette des hier eingegebenen Textes sein, ohne Beachtung der Groß-/Kleinschreibung — geben Sie also ExampleBot/1.0 ein, trifft das auf eine als ExampleBot deklarierte Gruppe zu. Eine vollständige URL wird als Pfad akzeptiert.
User-Agent (eine echte UA-Zeichenkette funktioniert) Pfad oder vollständige URL
Noch kein Urteil. Drücken Sie Berechtigung prüfen.
So rufen Sie Ihre Datei ab:öffnenhttps://your-domain.example/robots.txtim Browser, markieren Sie alles, kopieren Sie es und fügen Sie es hier ein — odercurl -s https://your-domain.example/robots.txtim Terminal. Diese Seite ruft niemals selbst etwas ab: Sie liest nur, was Sie einfügen. Um die Antwort-Header zu prüfen, die die Datei übermittelt haben, leiten Sie sie durch den BefehlHTTP-Header-Parser.
Selbsttest
Führt Parser und Abgleich erneut gegen die Referenzvektoren aus RFC 9309 aus: Vorrang der längsten Übereinstimmung (einschließlich der Regel, dass Allow bei Gleichstand Disallow schlägt, und des tiefen Pfad-Falls), Zusammenführung von Gruppen, die*Gruppen-Ersatzregel, Groß-/Kleinschreibung von Pfaden und User-Agents, Platzhalter, die$Anker, die implizite Erlaubnis von/robots.txt, Prozentkodierungs-Normalisierung, Sitemap-Extraktion und die negativen Pfade. Nichts wird irgendwohin gesendet.
Was ist robots.txt?
In einem Satz: robots.txt ist eine Klartextdatei im Stammverzeichnis einer Website, die gut erzogenen Crawlern mitteilt, welche Pfade sie abrufen dürfen — eine freiwillige Konvention, 2022 als RFC 9309 standardisiert und von allen großen Crawlern beachtet.
Der Aufbau einer Datei

Eine Datei ist eine Folge von Datensätzen. Eine Gruppe beginnt mit einer oder mehreren User-agent-Zeilen, gefolgt von Allow- und Disallow-Regeln, die für diese Crawler gelten. Eine neue User-agent-Zeile nach Regeln beginnt eine neue Gruppe; mehrere User-agent-Zeilen hintereinander teilen sich eine Gruppe (ein Crawler mit zwei Namen braucht das). Eigenständige Datensätze wie Sitemap können überall stehen. # beginnt überall in einer Zeile einen Kommentar. Feldnamen sind nicht groß-/kleinschreibungsabhängig; Pfade schon.

ZeileBedeutung
User-agent: foobotDie folgenden Regeln gelten für Crawler, deren Name foobot enthält (ohne Beachtung der Groß-/Kleinschreibung)
User-agent: *Die folgenden Regeln gelten für jeden Crawler ohne eine spezifischere Gruppe
Disallow: /private/Keine Pfade abrufen, die mit /private/ beginnen
Allow: /private/public/Ausnahme, die das obige Disallow für diese Pfade schlägt (längste Übereinstimmung)
Disallow: (leer)Nichts ist gesperrt — die klassische Formel „alles erlauben“
Sitemap: https://…/sitemap.xmlWo Ihre Sitemap liegt; Crawler können mehrere sammeln
Crawl-delay: 30Nicht in RFC 9309 — eine ältere Erweiterung; große Crawler ignorieren sie oder interpretieren sie selbst
Wie ein Urteil zustande kommt (RFC 9309 §2.2.2)

1. Finden Sie die Gruppe, deren User-agent-Wert eine Teilzeichenkette des Crawler-Namens ist; führen Sie alle passenden Gruppen zusammen. Gibt es keine, gilt die Gruppe *; gibt es auch die nicht, ist alles erlaubt. 2. Prüfen Sie den Pfad gegen jede Regel: Der Abgleich erfolgt präfixbasiert, groß-/kleinschreibungsabhängig, und */$ wirken als Platzhalter. 3. Die längste passende Regel gewinnt; bei gleicher Länge schlägt Allow Disallow. Gibt es keine passende Regel, ist der Zugriff erlaubt. Und unabhängig davon, was die Regeln sagen, ist /robots.txt selbst implizit erlaubt — sonst könnte ein Crawler die Regeln nicht lesen.

Häufige Fehler
  • Zu glauben, robots.txt blockiere den Zugriff. Es ist eine Bitte an höfliche Crawler, keine Mauer: Unseriöse Scraper ignorieren sie vollständig, und auf das, was ein Browser öffnen kann, hat sie keinen Einfluss. Für echten Schutz nutzen Sie Authentifizierung; robots.txt ist nur das richtige Werkzeug, um Suchmaschinen zu lenken.
  • Zu erwarten, dass Disallow: / eine Seite aus den Suchergebnissen entfernt. Es stoppt das Crawlen, nicht das Indexieren: Verlinken andere Seiten auf Ihre, kann eine Suchmaschine die URL dennoch (ohne Beschreibung) auflisten. Zum Entfernen dienen das Meta-Tag noindex oder ein entsprechender Antwort-Header.
  • Sich auf die Reihenfolge statt auf die Länge zu verlassen. Nicht die erste passende Regel gewinnt — sondern die spezifischste (längste). Zeilen umzusortieren, um das Verhalten zu „reparieren“, bewirkt nichts; machen Sie stattdessen die gewünschte Regel länger.
  • CSS und JavaScript blockieren. Das Verbieten von /*.css$ und /*.js$ war früher eine verbreitete „Optimierung“; Renderer brauchen diese Dateien heute, um die Seite so zu sehen wie Besucher, und eine nur halb gerenderte Seite kann schlechter gereiht werden.
  • Eine große Gruppe als Dokumentation zu behandeln. Kommentarzeilen innerhalb einer Gruppe sind unproblematisch; ein Absatz Fließtext vor der ersten User-agent-Zeile ohne # ist dagegen ein Analysefehler, der nachsichtige Parser verwirren kann.
FAQ

Unterstützen alle Crawler Allow, * und $? Die großen tun es, und RFC 9309 standardisiert alle drei. Manche kleineren oder älteren Crawler kennen nur Disallow und lesen * wörtlich — ein Grund, Regeln einfach zu halten, wenn Sie können.

Was bedeutet ein leeres Disallow:? „Nichts sperren“ — die Gruppe erlaubt ausdrücklich alles. Es taucht meist auf, wenn jemand eine Vorlage bearbeitet und den Pfad löscht, aber nicht die Direktive; die Prüfung weist darauf hin.

Wie groß darf die Datei sein? RFC 9309 verlangt von Parsern, mindestens 500 KiB zu verarbeiten; darüber hinaus darf ein Crawler das Lesen abbrechen und den Rest als gesperrt behandeln. Bleiben Sie deutlich darunter, und wenn sie riesig wird, fragen Sie sich, ob die Steuerung des Crawlings nicht besser in die Header der Seiten gehört.

Warum sagt der Abgleich, /robots.txt sei erlaubt, selbst unter Disallow: /? Weil der Standard es ausdrücklich so vorsieht: Die robots-Datei selbst ist implizit erlaubt. Pythons urllib.robotparser und andere implementieren diesen Sonderfall nicht — eine der kleinen Abweichungen zwischen Parsern in der Praxis, die diese Seite in ihrem Selbsttest dokumentiert.

Wird ein Disallow-Pfad groß-/kleinschreibungsabhängig behandelt? Ja. /Private/ und /private/ sind verschiedene Pfade. Der Feldname disallow darf in beliebiger Schreibweise stehen, der Wert muss aber genau zur URL passen.