Suchmaschinenoptimierung (SEO) gehört zweifellos zu den wichtigsten Aufgaben bei einer guten (Firmen-)Website. Die sogenannten Webcrawler der Suchmaschinen sind ständig im Internet unterwegs und sammeln Informationen für die eigenen Suchdienstleistungen. Jeder Webdesigner und –programmierer sollte deshalb bestrebt sein, seine Seite so aufzubereiten, dass die Crawler fündig werden und die eigene Website möglichst weit vorn präsentieren, wenn der Nutzer eine Suchanfrage formuliert.

Nur manchmal möchte man gerade nicht, dass Teile der eigenen Seite ständig durchstöbert werden und der Suchende hierher gelenkt wird. Ich betreibe als Webmaster seit geraumer Zeit die Website einer Community mit eigenem Forum und Chatroom. Ein Teil des Forums und der Chat ist den Mitgliedern vorbehalten, ein anderer Teil nur angemeldeten Nutzern. Da es sich um ein rein deutschsprachiges Forum handelt, störte es mich, dass fast ständig der Crawler der chinesischen Suchmaschine Baidu auf den Forumsseiten unterwegs war. Das Mitgliederforum ist zwar durch einen bestimmten Mechanismus geschützt, trotzdem versuchte der Crawler immer wieder die Seiten aufzurufen. Die Spammer ließen nicht lange auf sich warten. Deshalb musste ich eine relativ aufwendige Anmeldeprozedur installieren, um das Eindringen ungeliebter Gäste möglichst zu verhindern.

undefinedFoto: der Suchmaschinenanbieter Baidu aus China auf der Tourismusmesse ITB 2015 in Berlin (Copyright Blogautor)

Unterstützung bei einer solchen Aufgabe kann eine kleine Datei mit dem Namen ‚robots.txt‘ bieten, die direkt in das Stammverzeichnis der eigenen Website kopiert wird. Welche Aufgabe die Datei erfüllt, beschreibt unter anderem Wikipedia.

Zitat: „Nach der Übereinkunft des Robots-Exclusion-Standard-Protokolls liest ein Webcrawler (Robot) beim Auffinden einer Webseite zuerst die Datei robots.txt (kleingeschrieben) im Stammverzeichnis („root“) einer Domain. In dieser Datei kann festgelegt werden, ob und wie die Webseite von einem Webcrawler besucht werden darf. … Das Protokoll ist rein hinweisend und ist auf die Mitarbeit des Webcrawlers angewiesen. … Ein Ausgrenzen bestimmter Teile einer Website durch das Protokoll garantiert keine Geheimhaltung, dazu sind Seiten oder Unterverzeichnisse eines Servers durch HTTP-Authentifizierung, eine Access Control List (ACL) oder einen ähnlichen Mechanismus zu schützen.“ (Zitatende)

Eine Datei robots.txt ist sehr leicht auch vom „Laien“ zu erstellen, da man eigentlich nur die Syntax zweier Befehle kennen muss.

Mit dem Befehl - User-agent: - werden die Suchmaschinencrawler benannt, für die der folgende Befehl gelten soll. Entweder benennt man diese mit Namen oder verwendet einen - * -, wenn man alle Crawler meint.

Der zweite Befehl - Disallow: - nennt den Ordner, den der Crawler nicht durchsuchen soll. Dabei beginnt die Ordnerangabe immer mit einem - / - und danach der Pfadangebe aus der Wurzel der Domain heraus.

Hier zwei Beispiele für die robots.txt:

Zwei Webcrawler (Baidu und Microsoft.URL.Control) sollen die gesamte Domain 'meine-firmenwebsite.de' nicht durchsuchen

User-agent: Baidu
Disallow: /
User-agent: Microsoft.URL.Control
Disallow: /

Die Ordner Temp und Forum auf der Domain 'meine-firmenwebsite.de' sollen von allen (*) Webcrawlern nicht durchsucht werden

User-agent: *
Disallow: /Temp/
Disallow: /Forum/

Anmerkung: Es gibt auch noch den Befehl Allow im Gegensatz zu Disallow, der aber nicht von allen Suchmaschinen akzeptiert wird. Bitte auf die Schreibweise (Groß-/Kleinschreibung, Leerzeichen) in den Befehlen der robots.txt (kleingeschrieben) achten.

Es gibt viele Tipps und Tricks auf diversen Websites, wie man mit der robots.txt ungeliebte Crawler aussperren kann. Crawler, die einen nerven, die die Performance der Seite fressen oder Inhalte klauen. Für Ruhe auf dem Server wird dies nicht sorgen. Wer Inhalte „klauen“ will, wird sich kaum an eine 'Disallow'-Anweisung halten. Dafür sorgt nur eine gut erstellte Datei .htaccess mit eventuell wirklich für den unbefugten Zugriff gesperrten Seiten.