robots.txt

Nicht immer sollen alle Bereiche einer Website von Suchmaschinen durchsucht werden können. Verzeichnisse mit Logfiles oder anderen halb-geheimen Dateien sollten nicht unbedingt in den Datenbanken der Suchmaschinen auftauchen. Um dies gewährleisten zu können, wurde der Robots Exclusion Standard vereinbart, an den sich die meisten Robots auch halten. Im übrigen wird er auch von vielen der „hausgemachten“ Crawler beachtet, da die üblichen Libraries (etwa die Perl LWP Bibliothek), mit denen Robots sehr einfach zu schreiben sind, diesen Standard von sich aus berücksichtigen.

Entsprechend dem Robots Exclusion Standard liest ein Robot beim Besuch einer neuen Website (genauer: eines neuen Hosts) zunächst die Datei robots.txt im obersten Verzeichnis Ihres Webservers ein: http://www.ihredomain.de/robots.txt

Diese Datei ist eine einfache Textdatei, die zeilenweise aufgebaut ist. Hier sehen Sie ein Beispiel:

User-agent: webcrawler
Disallow:
User-agent: lycra
User-agent: omega
Disallow: /
User-agent: *
Disallow: /tmp
Disallow: /logs

Die Zeilen mit einem # am Beginn stellen Kommentare dar. Mit User-Agentsprechen Sie bestimmte Robots mit Ihrem Namen an. Es reicht dabei aus, einen Teilstring des tatsächlichen User-Agents des gewünschten Robots anzugeben; Groß/Kleinschreibung wird nicht berücksichtigt. Es können ein oder mehrere User-Agent-Einträge untereinander stehen.

Mit dem folgenden Disallow wird diesem Robot mitgeteilt, welche Bereiche tabu sind. Dabei werden alle URLs auf diesem Server ausgeschlossen, die mit den hinter Disallow angegebenen Zeichen beginnen. Im obigen Beispiel ist für den Robot webcrawler nichts verboten, also kann er die ganze Site indexieren. Für die Robots lycra und omega hingegen sind alle URLs gesperrt, die mit „/“ beginnen – also die komplette Site. Der User-Agent * schließlich spricht alle bisher noch nicht genannten Robots an und verbietet diesen die Ordner /tmpund /logs mit allen Unterordnern. Eine Notierung der Art /tmp/* ist übrigens nicht zulässig. Eine Disallow-Angabe gilt immer für den zuletzt angegebenen User-Agent.

Wollen Sie allen Robots den Zugang zu Ihrer kompletten Site gewähren, so benötigen Sie keine robots.txt-Datei. Allerdings führt dies bei jedem Robot-Besuch zu einem 404-Fehler in Ihren Logfiles. Wenn Sie das stört, stellen Sie einfach eine leere robots.txt Datei auf Ihren Webserver.

Auch wenn ständig vom Robots Exclusion Standard die Rede ist, so handelt es sich keineswegs um einen offiziellen Webstandard, der irgendwo definiert wurde. Vielmehr haben sich im Juni 1994 die Mitglieder einer Robots-Mailingliste darauf verständigt, sich künftig an die heute als Standard bekannten Vorgaben zu halten. Der Robots Exclusion Standard ist also lediglich eine unverbindliche Empfehlung ist. Ein Robot muss sich nicht unbedingt daran halten. Die robots.txt-Datei bietet keinerlei Schutz für geheime Daten! Sie sollten also nicht auf die Idee kommen, eine Datei mit Passwörtern auf Ihren Webserver zu legen und das entsprechende Verzeichnis per robots.txt zu „schützen“.

Im Lauf der Jahre haben Suchmaschinen die Angaben, die in einer robots.txt-Datei stehen dürfen immer weiter ausgeweitet. Eine solche Erweiterung ist zum Beispiel die Anweisung Crawl-Delay, die angibt, welche Pausen die Crawler einer Suchmaschine zwischen zwei Zugriffen auf die Website einlegen sollen.

Noch ein Hinweis auf eine kleine Falle, in die viele Webmaster und Optimierer bereits getappt sind: Wird eine robots.txt-Disallow-Anweisung mit einer NOINDEX-Angabe im Quelltext einer HTML-Seite kombiniert, so kann durch das Disallow der Suchmaschinencrawler die NOINDEX-Anweisung nicht lesen. Konsequenz ist, dass die URL der NOINDEX-Seite trotzdem in den Index der Suchmaschine gelangen kann. Mehr dazu gibt es in diesem Artikel zu lesen.

weiterer Lesestoff:
Robots Exclusion Standard