Kommt ein Bot zu Besuch

Viele Besuche im Open-Data-Portal kommen von Bots. Was sind das eigentlich für Bots und wie aktiv sind sie?

Um diese Frage beantworten zu können, habe ich mir die Logfiles des Webservers angesehen. Alle seriösen Bots melden sich beim Abruf mit einer vernünftigen HTTP User-Agent Kopfzeile und sind so im Logfile gut zu finden. In der Regel ist sogar ein Link angegeben, unter dem man mehr über den Bot erfährt.

Hier ist der Befehl, den ich verwendet habe, um die Bots im Apache-Logfile zu zählen:

zgrep -v /robots.txt access.log* | grep -i bot | sed 's/\"$//' | sed 's/^.*"//' | sed 's/^Mozilla.*compatible; //' | sed 's/ Chrome\/[0-9].*$//' |sort |uniq -c |sort -n

Insgesamt sind in den betrachteten Logfiles 150.000 Anfragen zu finden, die sich Bots zuordnen lassen. Die häufigsten Gäste sind fünf Bots mit jeweils mehr als 10.000 Anfragen. Alle nachfolgenden Bots kommen zusammen auf etwa 10.000 Anfragen, wo von denen wiederum nur vier für jeweils zwischen 1.000 und 2.000 Abfrufe verantwortlich sind. Hier ist ein Diagramm, dass die Verteilung der Bot-Anfragen zeigt:

Googlebot 60%, Bingbot, Googlebot-Image, SemrushBot, SEOkicks und sonstige jeweils 10%

Erstaunlich, dass keine anderen Suchmaschinen außer Google und Bing die Seiten durchsuchen. Die anderen beiden Bots gehören zu Firmen, die SEO-Dienstleistungen anbieten. Wenn man kein Kunde dort ist, kann man sie wohl auch ausschließen und so die Last auf dem Server etwas verringern.

Bemerkenswert finde ich, dass die Google Suchmaschinen so viel mehr Anfragen stellen als die Suchmaschine von Microsoft. Wenn ich mir einzelne vom Googebot besuchte Dateien anschaue, dann hat der bingbot sie auch schon besucht - meistens sogar ein paar Tage früher. Eine doppelte Anzahl könnte ich mir erklären: Google hat neben der normalen Suche auch noch die Mobilsuche, bei dem sich der Bot als Android-Gerät meldet, um so eine möglicherweise optimierte Mobilversion der Seiten zu erhalten. Vermutlich werden die vielen parallel laufenden Googlebot-Instanzen nicht gut synchronisiert. So kommt es, dass der Googlebot eine Datei innerhalb weniger Tage oder manchmal sogar Stunden nochmals abruft. Das hat Microsoft beim bingbot offenbar besser effizienter implementiert.