Sinn der robots.txt
Viele Robots/Spider/Crawler/Bots durchsuchen wahllos das Internet nach Inhalten. Manchmal ist es sinnvoll, bestimmte Seiten oder Bereiche der eigenen Site vor diesen Robots zu schützen.
Beispiele:- Seiten die sich täglich ändern oder an denen noch gearbeitet wird.
- Programmdateien oder Logfiles.
- Bilder und Download-Dateien.
Aufbau der robots.txt
Eine Textdatei mit dem Namen robots.txt wird im Stammverzeichnis des Webs angelegt.
Das Schema der robots.txt Datei ist einfach aufgebaut:
- Welchen Robot betrifft es?
User-Agent - Was darf er, was nicht?
AllowundDisallow - Nächster Regelblock wird wieder mit
User-Agenteingeleitet. - Kommentare beginnen mit
#und gehen bis zum Ende der Zeile.
Syntax von User-Agent:
User-Agent: [Name|*]
Entweder die Regel gilt nur einen Robot, oder mit * für alle.
Syntax von Allow:
Allow: [Datei|Pfad&|*]
Ein Pfad beginnt und endet immer mit einem / (slash).
Da die Allow Anweisung aber erst später als der eigentliche Standard eingeführt wurde, wird sie noch nicht von allen Robots unterstützt. Von daher sollte man sich nicht darauf verlassen und lieber nur Disallow benutzen.
Syntax von Disallow:
Disallow: [Pfad]
Bei Disallow ist keine Wildcard * erlaubt.
Hier muß auch aktiv auf die Pfade geachtet werden. Ein Disallow /index würde evtl. die Datei index.html und das Verzeichnis index-dateien/ ausschließen.
Beispiele für robots.txt
Es ist auf jeden Fall sinnvoll, eine minimale robots.txt zu erstellen:
# robots.txt for http://www.domain.tld/
# Zugriff auf alle Dateien erlauben
User-agent: *
Disallow:
# robots.txt fuer http://www.domain.tld/
Mit
User-agent: BeispielRobot
Disallow: /temp/ # Die Dateien sind sehr kurzlebig
Disallow: /logfiles/ # Die ändern sich jeden Tag
Disallow: /bilder/ # Bilder nicht downloaden
Disallow: /cgi-bin/ # CGI Ausgaben nicht indexieren
Disallow: /news.html # Die news.html ändert sich täglich
User-agent: BeispielRobot bestimmt man, daß die Anweisungen nur für den Crawler BeispielRobot gelten.
Mit den einzelnen Disallow Einträgen bestimmt man Dateien und Verzeichnisse die nicht indexiert werden sollen.
Um alle Crawler aus einem Verzeichnis rauszuhalten, benutzt man den Wildchar *.
# Alle Robots ausschließen
User-agent: *
Disallow: /temp/
Wenn man nicht gleich alle Crawler, sondern nur ein paar bestimmte meint, kann man diese so angeben:
# Massendownloader vom CGI Verzeichnis fernhalten
User-agent: wget
User-agent: webzip
User-agent: webmirror
User-agent: webcopy
Disallow: /cgi-bin/
Um seine Site ganz von der Indexierung auszuschließen kann man folgendes benutzen:
# Ganze Site für alle Robots sperren
User-agent: *
Disallow: /
Wenn man den Slash (/) wegläßt, gibt man Seine Site ganz für die Indexierung frei.
# Ganze Site freigeben
User-agent: *
Disallow:
Fehler vermeiden & Syntax prüfen
- Häufiger Fehler: Ein HTML-Editor wird beim erstellen der
robots.txtbenutzt und fügt ungewollten HTML-Code ein. - Beim FTP-Transfer sollte die
robots.txtim ASCII Modus übertragen werden. - Der Dateiname besteht nur aus Kleinbuchstaben!
- Man sollte immer einen Syntax-Check machen um seine
robots.txtzu prüfen. (Link siehe unten.)
Grenzen der robots.txt
- Man kann mit der
robots.txtkeine Dateien vor Zugriffen schützen. - Kein Robot ist verbindlich verpflichtet sich an die
robots.txtzu halten. - Mit der
robots.txtkann man keinen Robot dazu bringen etwas bestimmtes zu indexieren.
