Suchmaschinen erzeugen seit vielen Jahren enormen Traffic auf Webseiten, trotzdem ist das Wissen unter den Webmastern rund um Suchmaschinen-Robots noch immer erschreckend gering. Als CTO von Neomo erhalte ich alle Anfragen zu technischen Aspekten; in letzter Zeit zeigte sich dabei wieder einige Verwirrung rund um die Namensgebung von Suchmaschinen-Robots und das Robots Exclusion Protocol.
Zunächst: Dieses Protokoll hat den Namen „Protocol“ nicht verdient. Es ist nichts anderes als eine Übereinkunft einiger damals auf einer entsprechenden Mailingliste aktiven Betreiber von Suchmaschinen-Robots. Wir sprechen hier vom Jahr 1994! Yahoo startete damals gerade seinen manuell gepflegten Webkatalog, die beiden Googlegründer hatten sich bis dato noch nicht kennen gelernt und Microsoft war das Internet noch so fremd, dass der Internet Explorer noch nicht mal Tabellen beherrschte.
Alles, was damals in diesem Protokoll festgelegt wurde, war die Möglichkeit, für alle oder jeweils einzelne Crawler einzelne Verzeichnisse per Disallow
-Anweisung vom Crawlen auszuschließen. Das war und ist bis heute alles. Weitere Anweisungen wie Allow
oder Crawl-delay
waren damals nicht vorgesehen – und es gibt auch heute keinerlei Standard, der diese Erweiterungen definieren würde. Es hat im Gegensatz leider ein Wildwuchs eingesetzt: Während Yahoo und MSN Crawl-delay
eingeführt haben und entsprechend beachten, schenkt Google dieser Erweiterung keine Aufmerksamkeit. Umgekehrt hat Google die für Disallow
-Angaben mögliche Syntax erheblich erweitert, was die meisten anderen Suchmaschinen nicht berücksichtigen.
Sie sollten also als Webmaster nicht einfach
User-agent: *
Crawl-delay: 120
in Ihre robots.txt-Datei schreiben und sich dann wundern, dass sich nicht jeder Crawler daran hält. (Für Neomo haben wir übrigens kürzlich unseren Crawler erweitert, so dass er nun Crawl-delay
, zumindest innerhalb eines vernünftigen Rahmens, beachtet.)
Ähnlich verhält sich die Situation mit der Benennung des User-Agents. Es gibt keinen Standard, ja nicht mal eine stillschweigende Übereinkunft, dass jeder Suchmaschinen-Robot den Namensbestandteil „bot“, „spider“ oder „crawler“ haben sollte. Jahrelang etwa bewegten sich die Crawler der großen Suchmaschinen Inktomi und Altavista mit den Bezeichnungen „Slurp“ bzw. „Scooter“ durchs Web. Google nennt zwar seinen Robot „Googlebot“, doch nicht alle Zugriffe des Google-Crawlers kommen mit einem User-Agent namens „Googlebot“. Denn auch Google muss sich gegen Cloaking wappnen und schickt seinen Robot oft als ganz normalen Browser getarnt auf die Reise.
Solange das W3C keine eigene Definition für eine sinnvolle Robotsteuerung vorlegt, müssen Webmaster wie Suchmaschinen entweder mit einer Übereinkunft aus der frühen Antike des Webs auskommen oder sich im Dschungel der proprietären Erweiterungen zurecht finden.