Jeder Abruf einer Website hinterlässt eine Zeile im Zugriffslog des Servers. Menschen, Suchmaschinen, KI-Bots, Scraper: alle stehen dort mit Adresse, Zeit, URL und der Antwort, die sie bekommen haben. Für SEO ist das die einzige Quelle, die nicht schätzt. Ein Crawler-Tool folgt Links so, wie ein idealer Bot es täte. Die Logs zeigen, was der echte getan hat.
Der Unterschied ist bei kleinen Websites egal und bei großen entscheidend. Sobald Google nicht mehr alles regelmäßig abruft, entscheidet die Verteilung des Crawl-Budgets darüber, ob neue Produkte in Tagen oder Wochen im Index landen.
Anatomie einer Logzeile
Das verbreitetste Format heißt „combined“ und sieht bei Apache und Nginx gleich aus. Eine Zeile, sechs Felder, die für SEO zählen:
66.249.66.1 IP-Adresse des Abrufers (Google-Bereich 66.249.x.x, aber: nur ein Indiz) [21/Sep/2026:06:12:03 +0200] Zeitstempel mit Zeitzone (bei CDN-Logs oft UTC, beim Server lokal) "GET /schuhe/?farbe=rot&sort=preis HTTP/1.1" Methode, URL mit Parametern, Protokoll 200 47990 Statuscode und Bytes: 200 bedeutet, der Bot hat eine vollwertige Seite bekommen "-" Referrer, bei Bots fast immer leer "Mozilla/5.0 (compatible; Googlebot/2.1; …)" User-Agent: behauptet Googlebot, beweist nichts
Die Zeile oben erzählt schon eine Geschichte: ein Abruf aus Googles Adressbereich, ein Googlebot-User-Agent, eine Filter-URL mit zwei Parametern, Antwort 200. Der Bot hat also eine vollwertige Seite für eine Kombination bekommen, die es aus SEO-Sicht nicht geben sollte. Multipliziert mit allen Farben, Größen und Sortierungen ist das der Ort, an dem bei Shops das Crawl-Budget verschwindet.
Probieren: Logzeilen auswerten
Die Demo liest Zeilen im Format „combined“ direkt im Browser und zeigt, worauf ein SEO zuerst schaut. Die Beispieldaten enthalten die typischen Muster: Filter-URLs, eine 404, eine Weiterleitung, einen Serverfehler, einen falschen Googlebot und einen KI-Bot. Eigene Zeilen einfügen ist ausdrücklich erwünscht, nichts wird gesendet.
Logzeilen einfügen, Auswertung sofort
Was steht in deinen Logs wirklich?
Apache- oder Nginx-Zeilen im Format „combined“ einfügen. Alles läuft im Browser, nichts wird gesendet. Die Beispieldaten zeigen ein typisches Muster: der Bot verbringt seine Zeit in Filter-URLs.
Googlebot-Abrufe nach Bereich
Statuscodes (alle Bots)
Was ein SEO hier zuerst anschaut
Sechs Auswertungen, die zählen
Verteilung nach Bereich
Anteil der Googlebot-Abrufe auf Produkte, Kategorien, Inhalte, Parameter-URLs, Assets. Liegt der Parameter-Anteil bei einem Drittel oder mehr, ist das dein erstes Ticket.
Frequenz je URL
Wie oft der Bot eine wichtige URL im Monat abruft und wann zuletzt. Produkte, die seit sechs Wochen keinen Abruf hatten, brauchen keine bessere Beschreibung, sondern einen Weg, den der Bot findet.
Statuscodes aus Bot-Sicht
404, 410, 301-Ketten und 5xx, getrennt nach Bot. Fehler, die nur der Googlebot bekommt, deuten auf Caches, Firewalls oder Bot-Regeln, die ihn anders behandeln.
Verifizierte gegen falsche Bots
Scraper geben sich als Googlebot aus, um an Bot-Regeln vorbeizukommen. Vor jeder Zahl steht die Verifikation, sonst zählst du Fremde als Google.
Orphans aus Bot-Sicht
URLs, die der Bot abruft, aber im eigenen Crawl nicht vorkommen: alte Sitemaps, externe Links, vergessene Kampagnen. Jede kostet Abrufe, die anderswo fehlen.
Reaktion auf Änderungen
Nach einer robots.txt-Änderung, einem Relaunch oder neuen Canonicals zeigt der Wochenverlauf, ob der Bot reagiert hat. Ohne Logs bleibt das eine Vermutung.
Echte Bots von Nachahmern trennen
Jeder kann „Googlebot“ in den User-Agent schreiben, und viele Scraper tun es, weil Bot-Regeln sie dann durchlassen. Google beschreibt in seiner Dokumentation zwei Wege, den echten Crawler zu erkennen: einen Reverse-DNS-Lookup der IP-Adresse, dessen Hostname auf googlebot.com oder google.com enden und per Forward-Lookup wieder zur selben Adresse führen muss, oder den Abgleich mit den veröffentlichten IP-Bereichen des Googlebots. Beides ist in einer Pipeline automatisierbar. In einer Stichprobe von Hand reicht der Blick auf den Adressbereich als Indiz, mehr nicht.
Fünf Fallen, die eine Analyse wertlos machen
Der Ursprungsserver sieht nicht alles
Hinter einem CDN wie Cloudflare oder Akamai beantwortet der Cache viele Bot-Abrufe, ohne dass der Server sie protokolliert. Dann brauchst du die Request-Logs des CDNs, sonst fehlt ein großer Teil des Bildes.
Zeitzonen und Sampling
CDN-Logs kommen oft in UTC, Server-Logs in Ortszeit, manche Systeme protokollieren nur Stichproben. Wer das nicht angleicht, sieht Muster, die es nicht gibt.
Der User-Agent lügt
Jeder kann Googlebot in den User-Agent schreiben. Google verifiziert man per Reverse-DNS (die IP muss zu googlebot.com oder google.com auflösen und wieder zurück) oder über die veröffentlichten IP-Bereiche.
Zu kurzer Zeitraum
Eine Woche Logs zeigt Rauschen. Frequenz und Aktualität brauchen vier bis acht Wochen, bei saisonalen Sortimenten mehr.
Zahlen ohne Abgleich
Logs sagen, was der Bot tut. Erst der Abgleich mit dem eigenen Crawl und der Search Console sagt, was er tun sollte. Ohne diese Differenz bleibt die Analyse eine Statistik.
Von der Auswertung zum Ticket
Die Analyse ist fertig, wenn aus jeder Auffälligkeit ein Ticket geworden ist: Ursache, Beleg aus den Logs, betroffene URLs, Priorität, Lösungsvorschlag. „Parameter-URLs verbrauchen 38 % der Abrufe“ ist eine Zahl. „Filter-Parameter farbe, groesse und sort per robots.txt vom Crawl ausschließen, Canonical der Kategorie prüfen, betroffene URL-Muster anbei“ ist ein Ticket, das ein Entwickler morgen umsetzt.