Suchmaschinen robots.txt Steuerung

Während alle wichtigen Protokolle und Transportmechanismen, auf denen das Web aufbaut, öffentlich diskutierte und formell verabschiedete Standards sind, gibt es einen informellen, der das Verhalten von Spidern [auch Robots oder Crawler genannt] auf freiwilliger Basis steuert.

Das im Stammverzeichnis eines Web Servers abgelegte robots.txt-File wird von allen bedeutenden Suchmaschinen wie ein Verbots-Schild beachtet, d.h. die darin enthaltenen Anweisungen werden nicht vom Web Server erzwungen.

Die URL dieser Datei lautet stets http://www.ihre-domain.com/robots.txt. Unterbringung der Datei in einem anderen Verzeichnis wird geprüft. Die Zugriffsberechtigung auf diese Datei muss "weltweit" sein, d.h. sie muss genau wie Ihre HTML-Seiten von jedem Anwender abgerufen werden können.

Anweisungen in diesem File geben vor, welche Bereiche einer Präsenz von Spidern nicht bearbeitet werden sollten.

Sie können also über das robots.txt-File Suchmaschinen nicht dazu verleiten, zusätzliche Seiten in ihre Datenbestände aufzunehmen, und Sie können fehlerhafte oder agressive Spider über die in der Datei enthaltenen Anweisungen nicht dazu zwingen, genannte Bereiche Ihrer Site zu ignorieren.

Das File wird maschinell ausgewertet und nur beachtet, wenn Anweisungen die korrekte Syntax befolgen. Schon der Name sagt, dass es sich um ein reines Text-File handelt. robots.txt wird ignoriert, wenn es als HTML-Seite, Word-Dokument oder in einem anderen proprietären Format abgelegt wird.

Das File ist in Datensätze unterteilt, die ein oder mehrere Verzeichnisse [oder Dateien] für einen, mehrere oder alle Spider sperren. Jeder Datensatz nennt einen [oder mehrere] Spider bei Ihren Kennungen [Feldname: User-agent] und eine oder mehrere Regeln [Feldname: Disallow], um deren Beachtung Sie bitten.

Kommentare können in diesem File angebracht werden, wenn Sie diesen ein '#' voranstellen. Einzelne Datensätze werden durch eine Leerzeile getrennt.

In der Praxis ist zu beachten, dass Suchmaschinen nur den sie betreffenden Datensatz zwischenspeichern. Eine maximale Grösse für einzelne Datensätze ist zwar nicht vorgegeben, in der Praxis stellen viele Suchmaschinen aber nicht mehr als 512 bis 1024 Bytes Arbeitsspeicher für den sie betreffenden Datensatz zur Verfügung - bei Millionen von zu spidernden Sites muss man mit dem Arbeitsspeicher haushalten. Datensätze sollten daher nicht einzelne Dateien, sondern Verzeichnisse sperren, damit einzelne Datensätze möglichst kompakt gehalten werden können.

Die robots.txt-Datei wird von den meisten Spidern nur einmal pro Spider-Vorgang geladen, auch wenn sich dieser über mehrere Stunden oder Tage hinzieht. Spider organisieren die Liste der zu bearbeitenden Seiten fast immer so, dass zahlreiche Server zugleich besucht, ein einzelner Server also kaum überlastet werden kann.

Gelegentlich sieht man in den Log-Aufzeichnungen, dass Spider das robots.txt-File vor jedem Seitenabruf anfordern - dies basiert meist auf Fehlern im Spider-Code und erfolgt wahrscheinlich unbeabsichtigt.

Die Einrichtung einer robots.txt-Datei ist relativ einfach. Dabei muss die Syntax strikt eingehalten werden:

User-agent [die Schreibweise, grosses 'U', kleines 'a', ist historisch bedingt und muss eingehalten werden] bezeichnet den Spider, für den eine Anweisung gilt. Der Platzhalter '*' gilt für alle anderen nicht vorher in der Datei namentlich genannten Spider und sollte, wenn spezifische Spider in Ihrem robots.txt-File genannt werden, immer im letzten Datensatz erscheinen. Spider lesen das robots.txt-File nur soweit, bis ein diesen Spider betreffender Datensatz gelesen wurde.

Enthält ein Datensatz mehr als ein User-agent-Feld, gelten die folgenden Anweisungen für alle in diesem Datensatz genannten Spider. Nicht alle Suchmaschinen behandeln diesen Aspekt des robots.txt-Files korrekt. Wer auf Nummer Sicher gehen will, teilt jedem Spider einen eigenen Datensatz zu.

Spider-Kennung oder Name sind selten identisch mit dem Namen der Suchmaschine. AltaVistas Spider heisst Scooter. Der bekannteste Spider ist heute wohl Googlebot, der für Google von mehreren hundert verschiedenen IP-Adressen aktiv ist. Im robots.txt-File wird die Spider-Kennung vorgegeben, nie der Name der Suchmaschine.

Spider-Kennungen bestehen oft aus Name und einer Versions-Nummer, die hinter einem '/' angegeben wird und in robots.txt ignoriert werden kann.

Disallow gibt den Pfad [oder einen Dateinamen oder Teil eines solchen] an. Nicht alle Spider beachten Dateinamen oder Teile von Dateinamen. Auch daher wird empfohlen, stets Verzeichnisse und nie Einzeldateien zu sperren.

Platzhalter sind in Disallow-Feldern nicht erlaubt. Dateinamen werden ohne Berücksichtigung auf Strukturen wie Verzeichnisse abgeglichen, d.h.

Disallow: /help
verbietet den Zugriff auf alle Dateien und Pfade, die mit der Zeichenkette /help beginnen, z.B. /help.html und /help/index.html.
Disallow: /help/
verbietet den Zugriff auf alle im Verzeichnis /help/ gehaltenen Dateien, erlaubt aber den Zugriff auf z.B. /help.html

Im robots.txt-File aufgeführte Verzeichnisse und Dateien sind stets auf die besuchte Domain bezogen. Files mit fehlerhafter Syntax, wenn sie z.B. voll qualifizierte URLs inkl. Hostnamen wie xyz.domain.com/pfad/datei enthalten, werden ignoriert.

Ein Beispiel für eine robots.txt-Datei. Alles, was hinter dem #-Zeichen erscheint, ist ein Kommentar und wird nicht ausgewertet:

User-agent: linkCheck    # Datensatz betrifft linkCheck
Disallow: /de/prv/       # alle Seiten in /de/prv/ sind gesperrt
Disallow: /cgi-bin/      # /cgi-bin/ ist ebenfalls gesperrt
                         # Leerzeile beendet Datensatz
User-agent: BadSpider    # Datensatz betrifft BadSpider
Disallow: /              # BadSpider hat Site-Verbot
                         # Leerzeile beendet Datensatz
			 #
                         # letzter Datensatz mit Platzhalter betrifft
User-agent: *            # alle nicht namentlich genannten Spider
Disallow: /de/prv/       # alle Seiten in /de/prv/ sind gesperrt
Disallow: /cgi-bin/      # /cgi-bin/ ist ebenfalls gesperrt
Disallow: /verboten/     # hier darf niemand rein

Eine vollständige Beschreibung des Robot Exclusion Protocol gibt es leider nur in englischer Sprache.

Ob Ihre robots.txt-Datei korrekt ist, können Sie mit CheckROBOT hier testen.

Suchmaschinen-Tutorial: Inhalt
Weiter: Suchmaschinen-Spider durch META-Tags steuern


© Copyright 1998 - 2008 Klaus Schallhorn.