Um nochmal auf diese blöde Scherz-Mail zurückzukommen: es ist manchmal schon sinnvoll bestimmte Seiten oder Verzeichnisse der Webseite vor der Indexierung durch Suchmaschinen auszuschließen.
Eine minimale robots.txt sollte man seiner Webseite auf jeden Fall spendieren. Beim Erstellen muss man darauf achten, dass der Texteditor die Datei auch wirklich als reinen Text abspeichert und nicht etwa in HTML. Ich benutze am liebsten den PSPad, aber es geht natürlich auch mit anderen. Hat man die Datei erstellt lädt man sie einfach per FTP in das Rootverzeichnis der Webseite. Der Dateiname muss übrigens komplett klein geschrieben werden, also robots.txt und nicht etwa Robots.txt oder Robots.TXT.
Und wie sieht die robots.txt nun aus?
Die Minimaldatei enthält zumindest diese Einträge:
# robots.txt für http://www.meine-domain.de/
# Zugriff auf alle Dateien erlauben
User-agent: *
Disallow:
Was bedeuten die Anweisungen nun im Einzelnen?
Ein "#" zu Beginn einer Zeile markiert einen Kommentar. Die Suchmaschinen ignorieren alles was hinter dem "#" bis zum Ende dieser Zeile steht.
Die Anweisung User-agent: spezifiziert für welche Suchmaschine die folgenden Anweisungen gelten. Ein "*" bedeutet, dass alle gemeint sind.
Die folgende Anweisung Disallow: gibt an, welche Seiten oder Verzeichnisse für die Suchmaschine verboten ist. Steht nichts hinter dem Doppelpunkt, so darf die komplette Webseite durchsucht werden. Ein "/" wie in der der Scherz-Mail bedeutet, dass die komplette Webseite nicht durchsucht werden darf. Sollen nur einzelne Seiten oder Verzeichnisse ausgeschlossen werden so lauten die entsprechenden Einträge
Disallow: /skripte/ # schließt das Unterverzeichnis skripte aus
Disallow: /beispiel.html # verbietet die Datei beispiel.html
Läßt man den "/" am Ende des Eintrags weg, so werden übrigens alle Verzeichnisse und Dateien, die mit "skripte" anfangen, ausgeschlossen - also beispielsweise auch "skripte.html" oder "skripte-oeffentlich"!
Die robots.txt wird von den Suchmaschinen von oben nach unten abgearbeitet. Stößt ein Robot auf einen Eintrag, der auf ihn zutrifft, so ignoriert er alle folgenden Einträge. Daher müssen Einträge für bestimmte Robots an den Anfang und Einträge die alle betreffen an das Ende.
Hier noch ein Beispiel:
# http://www.meine-domain.de/robots.txt
User-agent: sidewinder
Disallow: /
User-agent: webmirror
User-agent: webzip
Disallow: /cgi-bin
User-agent: *
Disallow: /skripte/
Disallow: /beispiel.html
Disallow: /temp
Diese robots.txt bewirkt, dass der Robot sidewinder die nichts durchsuchen darf. Downloader, die Webseiten zum Offline-Lesen herunterladen, dürfen das cgi-bin-Verzeichnis nicht erfassen. Und alle übrigen Robots sind von dem Verzeichnis "skripte", der Datei beispiel.html und allen Verzeichnissen und Dateien, die mit "temp" anfangen ausgeschlossen.
Darüber hinaus gibt es noch weitere Anweisungen, die aber nicht von allen Suchmaschinen verwendet werden:
$
Beispiel:
Disallow: /*.pdf
Wirkung: Alle PDF-Dateien werden ignoriert.
Allow:
Beispiel:
Disallow: /
Allow: /public/
Wirkung: es darf nur das Verzeichnis "public" durchsucht werden.
Crawl-Delay:
Beispiel:
Crawl-Delay: 10
Wirkung: Es darf nur alle 10 Sekunden eine neue Seite angefordert werden
Sitemap:
Beispiel:
Sitemap: http://meine-domain.de/sitemap.xml
Wirkung: der robot erfährt, wo eine Sitemap für ihn abgelegt ist.
Noch ein Hinweis zum Schluss: robots.txt erfordert "wohlwollende" Suchmaschinen, es bietet keinen Schutz davor, dass ein Robot nicht doch die verbotenen Bereiche einer Website indexiert. Will man das verhindern, so muss man serverseitig Maßnahmen ergreifen und die entsprechenden Verzeichnisse oder Dateien z.B. mittels .htaccess und .htpassword schützen.