Bots mit robots.txt ausperren

Aus Tipps, Tricks und Anleitungen
Wechseln zu: Navigation, Suche
Amazon-Werbung
Hinweis: Der Autor des Artikels ist kein ausgebildeter Fachmann zum Thema. Alle hier getroffenen Aussagen sind nach bestem Wissen sowie gegebenenfalls nach persönlicher Einschätzung des Autors getroffen. Dabei ist es leider nicht auszuschließen, dass einige Angaben veraltet, irreführend oder sonstwie fehlerhaft sind. Letztendlich liegt es in der Verantwortung jedes einzelnen Lesers, die hier gemachten Angaben zu überprüfen und gegebenenfalls weitere Informationen einzuholen. Der Autor kann und will darum keine Garantie oder Haftung für Probleme oder Verluste, die trotz oder wegen der Befolgung der hier genannten Ratschläge eintreten, übernehmen. Jeder Leser hat natürlich die Möglichkeit, die folgenden Ratschläge nicht zu befolgen oder sie gar nicht erst zu lesen.


Wie kann ich mit der robots.txt-Datei Zugriffe von Bots auf meine Webseite verhindern?

Dieser Artikel ist Teil einer Artikelserie zur Optimierung von Webseiten. Er beschreibt die Verweigerung des Zugriffs auf selbstverwaltete Webseiten durch automatisierte Programme (sogenannte "Bots"). Im Artikel "Automatisierte Webseitenzugriffe verhindern" wird beschrieben, warum diese Zugriffe problematisch sein können und im Artikel "Zugriff auf Webseiten mit .htaccess sperren" werden weitere konkrete Sperrmaßnahmen beschrieben.

Nutzen einer robots.txt-Datei

Eine robots.txt-Datei ist Datei, in der man beschreibt, welche Bots auf welche Seiten zugreifen sollen und welche nicht. Diese Anweisung ist leider nicht verbindlich, sondern lediglich eine Art Bitte oder Hausordnung. Gerade bösartige Bots werden sich durch die Anweisungen aus der robots.txt-Datei nicht abhalten lassen. Diese könnte man in einem nächsten Schritt, wie im Artikel "Zugriff auf Webseiten mit .htaccess sperren" beschrieben, aussperren.

Eine robots.txt-Datei hat jedoch den Vorteil, dass sie Bots meist dauerhaft abschreckt. Während ein durch andere Methoden (etwa ".htaccess-Datei") gewaltsam ausgesperrter Bot zumeist immer wieder gegen die zugemauerte Einlasstür anrennt und dabei (wenn auch minimalen) Traffic und ggf. massenhaft Log-Einträge erzeugt, begnügt sich ein Bot, der durch robots.txt ausgesperrt wird und sich daran hält, meist damit, in längeren Abständen die robots.txt abzurufen, um zu schauen, ob sich die Hausordnung inzwischen geändert hat.


Einrichten einer robots.txt-Datei

Eine robots.txt-Datei ist eine einfache Textdatei. Diese Datei besteht aus einer Reihe von Zeilen, welche Bots von ihr betroffen sein sollen und einer Zeile, mit der Anweisung, die diese Bots befolgen sollen. Dabei ist die Schreibweise peinlich genau zu beachten:


 User-agent: Athene
 User-agent: Pallas
 User-agent: Jupiter
 Disallow: /

Das obige Beispiel beschreibt den Inhalt einer robots.txt Datei, die zuerst alle Bots benennt, die etwas tun sollen (in dem Fall die drei Bots mit den Namen "Athene", "Pallas" und "Jupiter"). Die Liste kann bei Bedarf um beliebig viele weitere Bots verlängert werden. Wichtig ist dabei das voranstehende "User-agent: " (mit Lücke). Nach Aufführung aller Bots folgt die Anweisung. In dem Fall ist diese "Disallow: /" (mit Lücke), welches den Zugriff auf alle Verzeichnisse der Webseite verbietet.

Die robots.txt-Datei muss in das Basisverzeichnis einer Webseite kopiert werden und genauso heißen (Kleinschreibung wichtig). Mit Webseite ist dabei die gesamte URL gemeint. Die robots.txt Datei, die etwa den Zugriff der Bots auf dieses Wiki verbietet, befindet sich also direkt im Basisverzeichnis der Hauptseite ("http://www.web-fortbildung.de"). Betreibt man mehrere URLs, braucht jede von ihnen einen robots.txt in ihrem Basisverzeichnis.

Optimalerweise sollte ein Bot vor jedem Seitenzugriff nach einer robots.txt-Datei suchen. In dem Fall wird die Sperre sofort wirksam. Viele Bots fragen die robots.txt-Datei jedoch nicht regelmäßig ab, so dass gesperrte Bots zunächst auf die Seite zugreifen, bis sie das Verbot bemerken. Spätestens nach einer Woche sollte der Zugriffsschutz jedoch greifen. Stellt man dann immer noch noch Zugriffe (außer natürlich auf die robots.txt selbst) eines eigentlich verbotenen Bots fest, sollte man die Regel noch einmal überprüfen. Wenn man sicher ist, dass die Regel korrekt formuliert ist, sollte man den Bot dann auf andere Weise sperren.

Weitere Informationen

Im Folgenden soll es in diesem Artikel um ein Verfahren gehen, unerwünschte Bots komplett vom Webseitenbesuch abzuhalten. Jedoch ist auch möglich, lediglich einzelne Verzeichnis zu sperren. Weitere Informationen für eine selektive Sperrung findet man etwa bei selfhtml. Zudem gibt es im Internet zahlreiche Programme, die die eingesetzte robots.txt auf Tippfehler und prinzipielle Funktionstüchtigkeit testen kann.


Botnamen finden

Das Hauptproblem beim Erstellen einer robots.txt-Datei ist das Herausfinden der Botnamen (im obigen Beispiel: "Athene", "Pallas" und "Jupiter"), von denen sich die einzelnen Bots angesprochen fühlen. Um diese herauszufinden, gibt es mehrere Methoden.

Logfiles durchsuchen

Sofern man für seinen Webauftritt Logfiles erstellt oder zur Verfügung hat, kann man diese nach Bot-Zugriffen durchsuchen. Sehr viele Bots geben sich dabei als Bots zu erkennen. Um sie zu finden, kann man entweder jeden Aufruf einzeln unter die Lupe nehmen, was sehr lange dauert oder aber man durchsucht das Logfile nach einschlägigen Bezeichnungen wie "bot", "spider", "crawler" usw..

Dabei stößt man dann auf Einträge mit Angaben zum Aufrufer wie etwa:

 "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

Daraus kann man zuweilen den Bot-Namen erraten. In dem Fall ist dies vermutlich "Googlebot/2.1" oder "Googlebot". In den meisten Fällen ist jedoch eine Webseite genannt, die weitere Informationen zum Bot liefert (Am besten immer mit abgesicherten Browser aufrufen, falls diese Seite bösartig ist - Im Falle des obigen Beispiels handelt es sich bei dem Botaufrufer zwar augenscheinlich um die bekannte Firma "Google", die vermutlich nicht bösartig ist, aber bei unbekannteren Botbetreibern kann man sich nie sicher, ob jemand bösartig handelt und vielleicht sogar nur vorgibt, "Google" oder jemand anderes zu sein).

Bie Aufruf der Webseite "http://www.google.com/bot.html" im obigen Beispiel erfährt man weitere Informationen über den Google-Bot und, wenn auch etwas verklausuliert, dass dieser tatsächlich "Googlebot" heißt. Mit diesem Namen ließe er sich in der robots.txt speziell verbieten oder auch erlauben (dabei gilt jedoch, dass ohnehin alles erlaubt ist, was man nicht zuvor explizit verboten hat).

Lässt sich der Name weder raten noch auf einer Webseite nachlesen, kann man immerhin noch versuchen, den kompletten obigen Text (ohne Anführungszeichen) als Namen zu verbieten.

Internet durchsuchen

Mit etwas Suchgeschick lassen sich im Internet Namen und Beschreibungen von Bots finden, die von anderen Nutzern als potentiell störend angesehen werden und diese dann in seine eigene robots.txt aufnehmen. Noch schneller kommt man zum Ziel, wenn man andere (am besten mittelgroße Webseiten) in der Form "<Basis-URL>/robots.txt" aufruft. Viele dieser Webseiten haben in ihrer robots.txt lange Sperrlisten, die man als Anregung übernehmen kann. Hierbei ist allerdings Vorsicht angebracht, da nicht alle Bots immer schädlich sind. Wer etwa den im obigen Beispiel genannten Google-Bot aussperrt, wird zwar viele Anfragen durch diesen Bot unterdrücken, jedoch ergibt sich daraus recht schnell die Konsequenz, dass sich die eigene Webseite danach kaum noch über Google auffinden lässt. Wer den Google-Bot aussperrt, verliert also in der Folge sehr wahrscheinlich auch eine Menge von menschlichen Besuchern.


Fazit

Mit der robots.txt lassen sich eine Vielzahl von Bots effektiv aussperren. Viele seriöse Bots geben sich beim Aufruf einer Seite zu erkennen und liefern (etwa in den Logfiles des Webseitenbtreibers) eine Webadresse mit weiteren Informationen zu dem Bot. Da die Beachtung der robots.txt freiwillig durch die Bots erfolgt, liefert die robots.txt keinen zuverlässigen Schutz - insbesondere nicht vor bösartigen Bots. Viele kleinere Betreiber durchsuchen das Netz jedoch sehr intensiv für eigene Zwecke, von denen der Webseitenbetreiber (anders als etwa bei Google) keinerlei Nutzen hat. Diese Bots sollte man allesamt aussperren, da sie unnötigen Traffic verursachen, der nur Energie verschwendet und die eigene Webseite ausbremst.


Folgeartikel

Verwandte Artikel

Weitere Artikel: