Zum Inhalt springen

Robots Exclusion Standard

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 17. März 2026 um 08:13 Uhr durch imported>Heebi (Omatauglichkeit).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Der Robots Exclusion Standard (auch bekannt als Vorlage:Monospace) ist ein Dateiformat mit Namenskonvention für Webserver, um Bots mitzuteilen, ob und inwieweit sie willkommen oder unerwünscht sind.

Umgesetzt wird das durch eine Textdatei namens robots.txt im Stammverzeichnis der Website. Webcrawler sollen zuerst eine Datei dieses Namens abzurufen versuchen und, sofern das gelingt, die darin niedergeschriebenen Grenzen achten. Ein zwingendes Verbot der Indizierung wird durch den Einsatz von robots.txt nicht erreicht.<ref>Informationen zur robots.txt-Datei – Hilfe für Search Console. In: support.google.com. Abgerufen am 22. August 2018 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Der Standard ist rein hinweisend und auf die Mitarbeit des Webcrawlers angewiesen. Seriöse Webcrawler, die die Anweisungen befolgen, werden als „freundliche“ Webcrawler bezeichnet. Ein Ausgrenzen bestimmter Teile einer Website durch das Protokoll garantiert keine Geheimhaltung. Dazu wären weitere Mechanismen notwendig, wie eine HTTP-Authentifizierung oder eine Access Control List (ACL). Manche Suchmaschinen zeigen die vom Webcrawler gefundenen und zu sperrenden URLs trotzdem in den Suchergebnisseiten an, jedoch ohne Seitenbeschreibung.

Der Robots Exclusion Standard geht auf einen Vorschlag des Entwicklers von ALIWEB im Februar 1994 zurück.<ref>Jo Bagel: robots.txt – 30 Jahre Hausregeln für Websites. In: heise online. 25. Februar 2024, abgerufen am 26. Februar 2024.</ref> Anfang Juni 2008 bekannten sich Google,<ref>Verbesserungen des Robots-Exclusion-Protokolls. Google-Blog Webmaster Zentrale, 10. Juni 2008.</ref> Microsoft und Yahoo zu einigen Gemeinsamkeiten.<ref>Everything You Wanted To Know About Blocking Search Engines. searchengineland.com, 12. Juni 2008.</ref> Mit RFC 9309<ref>Vorlage:RFC-Internet</ref> von 2022 wurde der Robots Exclusion Standard erweitert und als Internetstandard vorgeschlagen.

2025 wurde mit Really Simple Licensing (RSL) ein technisch weiterentwickelter Nachfolger vorgestellt.

Aufbau

Die Datei robots.txt ist eine Textdatei in einem einfachen, auch maschinenlesbaren Format. Jede Zeile besteht aus zwei Feldern, die durch einen Doppelpunkt getrennt werden.

<syntaxhighlight lang="text"> User-agent: Sidewinder Disallow: / </syntaxhighlight>

Die erste Zeile beschreibt den Webcrawler (hier: User-agent), an den sich die darauf folgenden Regeln richten. Es darf beliebig viele solcher Blöcke geben. Webcrawler lesen die Datei von oben nach unten und halten an, wenn sich ein Block auf sie bezieht. Für jede URL, die ausgeschlossen ist, existiert eine eigene Zeile mit dem Disallow-Befehl. Leerzeilen sind nur oberhalb von User-agent-Zeilen erlaubt. Sie trennen die Blöcke voneinander. Einzeilige, mit einem Rautezeichen (#) beginnende Kommentare sind an jeder Stelle möglich. Sie dienen der Übersichtlichkeit und werden vom Webcrawler ignoriert.

Anweisung Beschreibung Beispiel Funktion
User-agent: Spezifizierung des Webcrawlers User-agent: Sidewinder Gilt nur für den Webcrawler namens „Sidewinder“.
User-agent: * Wildcard für User-Agent; gilt für alle Webcrawler.
Disallow: Auslesen nicht gestatten Disallow: Kein Ausschluss; die komplette Website darf durchsucht werden.
Disallow: / Die komplette Website darf nicht durchsucht werden.
Disallow: /Temp/
Disallow: /default.html
Das Verzeichnis „Temp“ und die Datei „default.html“ dürfen nicht durchsucht werden.
Disallow: /default Alle Dateien und Verzeichnisse, die mit „default“ beginnen, werden nicht durchsucht z. B. „default.html“, „default.php“, „default-page.html“, „defaultfolder/“, und so weiter. Ein Verbot von „default.html“ verbietet also auch z. B. „default.html.php“ oder „default.html/“, auch wenn diese Konstellation eher selten vorkommen dürfte.
Disallow: /c Alle Dateien und Verzeichnisse, die mit „c“ beginnen, werden nicht durchsucht. Wenn man möchte, dass das Subverzeichnis /c/ nicht gecrawlt werden soll, ist zwingend ein abschließender Schrägstrich anzugeben (/c/); ansonsten werden URLs, die mit dem Buchstaben „c“ beginnen, nicht durchsucht.
$ Zeilenende-Anker (nur Googlebot, Yahoo! Slurp, msnbot) Disallow: /*.pdf$ Alle PDF-Dateien werden ignoriert.
? URLs mit '?' behandeln (nur Googlebot) Disallow: /*? Alle URLs, die ein Fragezeichen enthalten, werden ignoriert.
Allow: /*?$ Alle URLs, die mit einem Fragezeichen enden, werden erlaubt.
Allow: Auslesen erlauben (nur Ask.com, Googlebot, Yahoo! Slurp, bingbot) Disallow: /
Allow: /public/
Nur das Verzeichnis „public“ darf durchsucht werden, der Rest nicht.
Crawl-delay: Auslesegeschwindigkeit (nur bingbot, Yahoo! Slurp, [bis 22. Feb. 2018 auch Yandex<ref>Using robots.txt. Yandex, abgerufen am 19. Februar 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref><ref>The Crawl-delay directive. Yandex, abgerufen am 19. Februar 2021 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>]) Crawl-delay: 42 Nur alle 42 Sekunden darf eine neue Seite zum Auslesen aufgerufen werden.
Sitemap: URL der Sitemap (nur Googlebot, Yahoo! Slurp, bingbot, Ask.com) Sitemap: http://example.com/sitemap.xml Die Sitemap gemäß dem Sitemap-Protokoll liegt unter der angegebenen Adresse.

Beispiele

<syntaxhighlight lang="text">

  1. robots.txt für example.com
  2. Diese Webcrawler schließe ich aus

User-agent: Sidewinder Disallow: /

User-agent: Microsoft.URL.Control Disallow: /

  1. Diese Verzeichnisse/Dateien sollen nicht
  2. durchsucht werden

User-agent: * Disallow: /default.html Disallow: /Temp/ # diese Inhalte werden von Suchmaschinen nicht neu erfasst; ob bereits zuvor erfasste Inhalte entfernt werden, ist undefiniert Disallow: /Privat/Familie/Geburtstage.html # Nicht geheim, sollen aber nicht von Suchmaschinen gecrawlt werden. </syntaxhighlight>

Mit den folgenden Befehlen wird allen Webcrawlern das Abrufen der kompletten Website erlaubt. <syntaxhighlight lang="text"> User-agent: * Disallow: </syntaxhighlight>

Mit den folgenden Befehlen wird allen Webcrawlern das Abrufen der kompletten Website verboten. Die Indexierung des Inhalts in der Suchmaschine ist dadurch ausgeschlossen, nicht jedoch die Darstellung der URL sowie von Informationen, die nicht von der Seite, sondern aus externen Quellen stammen. Dies gilt auch, wenn die Indexierung auf einzelnen Seiten selbst wieder erlaubt wird, da Webcrawler die Seite gar nicht erst aufrufen.<ref>Spezifikationen für Robots-Meta-Tags und X-Robots-Tag-HTTP-Header. Google</ref> <syntaxhighlight lang="text"> User-agent: * Disallow: / </syntaxhighlight>

Weiteres Beispiel:

robots.txt der deutschsprachigen Wikipedia

Undokumentiere Anweisungen

Direktiven wie crawl-delay, nofollow, und noindex waren lange Zeit undokumentiert, wurden aber von Websites in der robots.txt verwendet und von Google berücksichtigt. Ende 2019 hat Google angekündigt, diese undokumentierten Anweisungen künftig nicht mehr zu nutzen.<ref>A note on unsupported rules in robots.txt. In: Official Google Webmaster Central Blog. Abgerufen am 2. Oktober 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>

Test-Werkzeug

Google stellt einen robots.txt-Tester zur Verfügung, um festzustellen, ob durch die robots.txt-Datei bestimmte URLs einer Website für die Web-Crawler von Google blockiert werden.<ref>robots.txt-Datei mit dem robots.txt-Tester testen - Search Console-Hilfe. Abgerufen am 9. Juni 2022.</ref>

Alternativen

Metainformationen

Das Indexieren durch Webcrawler kann man auch durch Meta-Elemente im HTML-Quelltext einer Webseite ablehnen.<ref>Robots and the META element. W3C Recommendation</ref> Auch Meta-Elemente sind rein hinweisend, benötigen die Mitarbeit „freundlicher“ Webcrawler und garantieren keine Geheimhaltung. Soll der Suchroboter die Webseite nicht in den Index der Suchmaschine aufnehmen (noindex) oder den Hyperlinks der Seite nicht folgen (nofollow), kann das in einem Meta-Element wie folgt notiert werden: <syntaxhighlight lang="html" style="border: none; margin-left: 2em;"> <meta name="robots" content="noindex,nofollow" /> </syntaxhighlight> In HTML-Dokumenten, für die beides erlaubt sein soll, kann die Angabe entweder weggelassen oder explizit notiert werden: <syntaxhighlight lang="html" style="border: none; margin-left: 2em;"> <meta name="robots" content="all" /> </syntaxhighlight>

Die Syntax ist kaum offiziell standardisiert, sondern gründet auf übliche Praxis und Akzeptanz durch die Crawler-Entwickler.

Bekannte Schlüsselwörter
Ermutigung Untersagung Erhoffte Wirkung
all Maximale Aufmerksamkeit schenken
index noindex Diese Seite (nicht) aufnehmen
follow nofollow In der Seite enthaltenen Verlinkungen (nicht) folgen
archive noarchive Seite in die Web-Archivierung (nicht) aufnehmen oder sogar ggf. vorhandene archivierte Versionen eliminieren
noopd OPD (dmoz): Statt des OPD-Eintrags die Metadaten der aktuellen Seite verwenden.<ref><templatestyles src="Webarchiv/styles.css" />Was ist NOOPD? (Memento vom 15. April 2016 im Internet Archive), xovi.de</ref> Zukunft wegen vorläufiger Einstellung des Dienstes ungewiss.
noydir Yahoo (AltaVista): Statt eines vorhandenen Yahoo-Eintrags die Metadaten der aktuellen Seite verwenden.<ref><templatestyles src="Webarchiv/styles.css" />Was ist die Metatag “slurp” (Meta Name slurp noydir) (Memento vom 28. September 2020 im Internet Archive), meta-tags.de</ref> Obsolet, da Suchmaschine 2013 eingestellt.

Statt allgemein an alle Bots zu adressieren: <syntaxhighlight lang="html" style="border: none; margin-left: 2em;"> <meta name="robots" content="noindex,nofollow" /> </syntaxhighlight> kann auch versucht werden, bestimmte Bots zu lenken: <syntaxhighlight lang="html" style="border: none; margin-left: 2em;"> <meta name="bingbot" content="nofollow" /> <meta name="GoogleBot" content="noindex" /> <meta name="Slurp" content="noydir" /> </syntaxhighlight>

humans.txt

Die Datei robots.txt stellt „Robotern“ (in Form von Software/Webcrawler) zusätzliche Informationen über eine Website zur Verfügung. In Anlehnung hieran hat Google 2011 die Datei humans.txt eingeführt, die menschlichen Besuchern der Website zusätzliche Hintergrundinformationen bieten soll.<ref>Google führt die humans.txt ein. In: GWB. 7. Mai 2011, abgerufen am 2. August 2016.</ref> Diese Datei wird seitdem auch von anderen Websites verwendet, um z. B. die Programmierer der Website namentlich zu nennen oder die eingesetzte Software zu beschreiben.<ref>Wir sind Menschen, nicht Maschinen. In: humanstxt.org. Abgerufen am 2. August 2016.</ref> Google selbst nutzt die Datei für eine kurze Selbstdarstellung und Verweise auf Arbeitsplätze im Unternehmen.<ref>humans.txt von google.com. Google, abgerufen am 2. August 2016.</ref>

Siehe auch

Literatur

  • Ian Peacock: Showing Robots the Door, What is Robots Exclusion Protocol? In: Ariadne, May 1998, Issue 15, Webversion.

Weblinks

Einzelnachweise

<references responsive />