Mit diesem Artikel will ich die Methode vorstellen, mit der Besitzer von Homepages im World-Wide Web Anweisungen an Web Robots geben können, die deren Hompages besuchen. Im Großen und Ganzen ist es möglich, diese Robots in bestimmte Bereiche einzuladen oder davon fern zu halten. Was man dazu braucht ist eine Datei mit Namen robots.txt.
Was sind Web Robots?
Web Robots oder auch Spider genannt, sind webbasierende Programme, die meist in regelmäßigen Abständen Hypertext Dokumente und die dort verlinkten Dokumente indizieren. Meist werden diese Programme von Suchmaschinen verwendet, um Seiten zu indizieren und die eigenen Datenbanken zu aktualisieren.
In manchen Fällen kann es aber von Vorteil sein, wenn diese Robots bestimmte Bereiche einer Website nicht indizieren. Dies kann zum Beispiel eine noch nicht veröffentlichte Seite sein, oder Bereiche einer Website, die sich sowieso laufend ändern.
Um dies zu gewährleisten, legt man eine Datei an, in der dem Robots mitgeteilt wird, von welchen Bereichen sie sich fern halten sollen. Es hängt jedoch vom Robot ab, ob er diese Information verwendet und danach handelt.
Bevor ein Robot eine Website indiziert, sucht er dann zuerst nach der robots.txt Datei. Diese Datei ist immer im Hauptverzeichnis einer Website abgelegt. Zum Beispiel:
http://www.webmatze.de/robots.txt
Je nach den dort enthaltenen Instruktionen fährt er mit der Indizierung der Hypertext Dokumente fort.
Wird keine robots.txt Datei gefunden, wird der HTTP Status Code 404 erzeugt und der Robot geht davon aus, das es keine Restriktionen gibt. Daher sollte man immer eine robots.txt Datei anbieten.
Das Dateiformat
Die Datei robots.txt wird im Text Format abgespeichert und besteht aus einem oder mehreren Einträgen, die durch jeweils eine Leerzeile voneinander getrennt sind. Jeder dieser Einträge enthält mehrere Sätze von Feldern und Werten im Format:
<Feld> ":" <Wert>
Jeder der Einträge beginnt mit einem oder meheren User-Agent Feldern, die angeben für welche Robots dieser Eintrag zutrifft, gefolgt von "Allow" und "Disallow" Anweisungen für eben diese Robots.
User-agent: webcrawler User-agent: infoseek Allow: /daten/info.html Disallow: /cgi-bin/ Disallow: /demo/
Kommentare sind überall in der Datei erlaubt und werden durch ein vorgesetztes # Zeichen gekennzeichnet.
# robots.txt für http://www.name.com # Anmerkungen bitte an info@name.com
Das User-agent Feld
Die einzelnen Robots indentifiziert man anhand einer einfachen Produktbezeichnung wie zum Beispiel webcrawler oder infoseek. Wenn ein Robot die Einträge in der robots.txt Datei durchgeht, sucht er nach seiner Bezeichnung im Feld User-agent. Hat er das erste Feld mit seiner Bezeichnung gefunden, wertet er die Felder Allow und Disallow aus. Findet er seine Bezeichnung nicht, wertet er den ersten Eintrag mit einem * als User-agent für sich aus.
Ein Robot mit der Bezeichnung webcrawler würde also die robots.txt Datei nach dem Feld:
User-agent: webcrawler
durchsuchen. Findet er diese Zeile nicht, sucht er nach dem ersten Feld mit einem *
User-agent: *
Die Allow und Disallow Felder
Diese beiden Felder geben an, ob ein Verzeichnis oder eine bestimmte Datei indiziert werden darf, oder nicht. Der Robot vergleicht diese Angaben mit der URL. Wird für eine bestimmte URL kein Eintrag gefunden, so nimmt der Robot an, das der Zugriff erlaubt ist.
Hier ein paar Beispiele für Allow und Disallow.
Alle Robots ausschließen:
User-agent: * Disallow: /
Alle Robots einladen:
User-agent: * Disallow:
Alle Robots von einem bestimmten Verzeichnis vernhalten:
User-agent: * Disallow: /cgi-bin/
Einen bestimmten Robot einladen:
User-agent: webcrawler Disallow:
Einen bestimmten Robot Zugriff auf einzelne Dateien geben:
User-agent: infoseek Allow: /index.html Allow: /news.html Disallow: /
Ein Beispiel für eine komplette robots.txt Datei, wie sie auf webmatze.de verwedet wird, kann hier gefunden werden: http://www.webmatze.de/robots.txt
Sicherheitshinweise
Das alleinige Vorhandensein einer robots.txt Datei garantiert nicht automatisch, das nicht doch ein Robot verbotene Verzeichnise indiziert.
Außerdem ist diese Datei für jeden frei zugänglich, so das Unbefugte anhand der enthaltenen Angaben URL's erraten können.
Um Fehler zu vermeiden, kann man die robots.txt Datei unter folgender URL auf Fehler überprüfen lassen: