Dieser Beitrag ist schon etwas älter und enthält eventuell veraltete Informationen. Zu den neusten Artikeln.

Logfile-Analyse für SEO

Logfile-Analyse für SEO mit ELK

Die Analyse von Logfiles wird von vielen SEOs noch immer stiefmütterlich behandelt. Dabei schlummern mit zunehmender Größer einer Website immer mehr Potentiale, die sich über eine Logfile-Analyse aufdecken lassen. Ich möchte mit diesem Eintrag darlegen welche Möglichkeiten zu Auswertung der Daten bestehen und mit welchen Tools diese Visualisiert werden können.

Warum sollte ich mich mit meinen Logs Beschäftigen?

Auch für Google ist Zeit Geld. Das gilt selbstverständlich auch für den Crawling-Vorgang. Umso wichtiger ist es den Suchmaschinen Bot nur dorthin zu schicken wo er auch hin soll. Denn: Google stellt jeder Website nur eine gewisse Menge an Ressourcen zur Verfügung, die es für das Crawling aufwendet. Werden diese überschritten läuft man die Gefahr dass wichtige Seiten seltener gecrawlt oder im schlimmsten Fall gar nicht erst indexiert werden. Die Menge dieser Ressourcen hängt von verschiedenen Faktoren ab, unter anderem:

  • Ladezeit der Website
  • PageRank
  • Anzahl eingehender Links

Dies sind Punkte an denen man ansetzen kann um das Crwalbudget für seiner Website und damit die Wahrscheinlichekeit einer vollständigen Indexierung zu erhöhen. Häufig liegt eine unvollständige Indexierung jedoch nicht nur an zu geringem Crwalbudget, sondern an mangelnder Effizienz. Das bedeutet dass der Bot auf den falschen Seiten unterwegs ist und seine Ressourcen dort verschwendet.

Das Aufdecken dieser Ressourcenverschwendung kann zum einen durch die OnPage Crawler diverser Tool-Anbieter vorgenommen werden, diese bilden jedoch nur eine Simulation des tatsächlichen Crawlvorgangs der Suchmaschinen ab. Wenn ihr aber wissen möchtet wie sich Google mit welchen Bots wann auf welchen URLs bewegt, solltet ihr einen Blick in eurer Logfiles werfen:

„Your log files contain the only data that is 100% accurate in terms of how search engines are crawling your website.“ – Samuel Scott

Welche Vorteile bietet eine Logfile Analyse?

Um die Vorteile einer Analyse der Logfiles zu erkennen, muss man sich erst einmal mit der Matieria vertraut machen.

Was ist überhaupt ein Logfile?

Ein Logfile ist ein automatisch erstelltes Protokoll aller Aktivitäten auf einem Server. Das bedeutet dass sämtliche Besuche sei es von Menschen oder Bots mitprotokolliert werden. Auf einem Apache Server werden die Besuche der Datei access.log vorgehalten. Der Inhalt des Logs wird im sogenannten Common Log Format gespeichert dass wie folgt definiert wurde:

LogFormat "%h %l %u %t \"%r\" %>s %b" common
 CustomLog logs/access_log common

Die einzelnen Bestandteile beinhalten folgendes:

%h IP-Adresse der Rechners, der die Anfrage gestellt hat
%l Identität des Client (in der Regel leer)
%u Benutzer-ID des Client, z.B. bei der Verwendung von CGI
%t Zeitstempel des Zugriffs
%r Der gestellte Request
%>s Der vom Server zurückgegebene Statuscode
%b Die übertragene Datenmenge in Byte

Ein mit Inhalt gefüllter Logfile-Eintrag könnte also wie folgt aussehen:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326
 Quelle

Um die Log-Eintäge auch für SEO verwenden zu können sind die Informationen innerhalb des Common Log Format jedoch zu gering. Deshalb sollten die Files durch das Combined Log Format erweitert werden. Dieses Format lässt sich über die httpd.conf Datei des Apache Servers einrichten.

Durch hinzufügen von \“%{Referer}i\“ und \“%{User-agent}i\“ werden zusätzlich der Referrer und der User-Agent übermittelt und euer File wird wie folgt befüllt:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined
CustomLog log/access_log combined

In eurerm access.log würde ein Eintrag nun beispielsweise so aussehen:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Damit lässt sich also arbeiten. Aber was genau?

Use Cases

Wie bereits erwähnt werden in den Server Logfiles auch die Spuren sichtbar, die der Google Bot auf einer Seite hinterlassen hat. Daraus ergeben sich zahlreiche Möglichleiten zur Analyse die beispielsweise der Search Console in einigen Fällen überlegen sind.

Aktualität

Die Google Search Console ist für Webmaster und SEOs in der Regel die erste Anlaufstelle wenn es darum geht das Carwlingverhalten des Google Bots zu überprüfen.

Crawling Statistik in der Google Search Console

Die Daten in der Search Console sind jedoch

  • mehrere Tage alt
  • nur auf Tagesbasis
  • lassen sich nicht auf einzelne URLs herunterbrechen

Eine Auswertung der Logfiles hingegen ermöglicht ein Monitoring in Echtzeit und bei entsprechender Speicherung eine Archivierung der Daten über einen unbegrenzten Zeitraum, denn die Daten liegen bei euch und können von euch auch beliebig gespeichert und ausgewertet werden.

Nicht Indexierte URLs finden

Häufig lässt sich in den Sitemap-Berichten der Search Console eine mehr oder weniger große Differenz zwischen den gecrawlten und indexierten Seiten feststellen. Welche Seiten gecrawlt aber nicht indexiert sind sagt euch Google leider nicht, ein Abgleich eurer Sitemap mit den Logfiles kann hier Abhilfe schaffen.

(Google) Bots Verifizieren

Besonders Webseiten mit viel Traffic haben auch immer wieder wieder mit Bots zu kämpfen die auf der Seite nichts zu suchen haben, sei es weil sie die Inhalte der Seiten scrapen und für sich verwenden wollen oder einfach weil Spammer ihre „User Agentes“ in euer Webanaylse-Tool katapultieren wollen (Stichwort „Referrer Spam“).

Um beispielsweise den echten Googlebot von seinen unzähligen, gefakten Namensvettern zu unterscheiden bietet sich eine Verifikation via Reverse DNS Lookup an. Google empfiehlt dazu folgendes:

Telling webmasters to use DNS to verify on a case-by-case basis seems like the best way to go. I think the recommended technique would be to do a reverse DNS lookup, verify that the name is in the googlebot.com domain, and then do a corresponding forward DNS->IP lookup using that googlebot.com name; eg:

> host 66.249.66.11.66.249.66.in-addr.arpa domain name pointer crawl-66-249-66-1.googlebot.com.

> host crawl-66-249-66-1.googlebot.comcrawl-66-249-66-1.googlebot.com has address 66.249.66.1

I don’t think just doing a reverse DNS lookup is sufficient, because a spoofer could set up reverse DNS to point to crawl-a-b-c-d.googlebot.com. Quelle

Unterschiedliche Googlebots erkennen

Auch wenn ihr wissen wollt welche Googlebots eure Seite in welcher Frequenz eure Seite Crawlen können die Logfiles Aufschluss darüber geben. Eine Überschicht mit welchen User Agents Google aktuell Crawlt findet ihr hier.

Weitere Use Cases

Es gibt noch zahlreiche weitere Möglchkeiten eine Logfile Analyse für sein technisches SEO zu nutzen:

  • Echtzeit Monitoring der Statuscodes
  • Aufdecken von gecrawlten URLs die eigentlich nicht gecrawlt werden sollen
  • Erkennen von 302 Redirects
  • Testen der Wirksamkeit von maskierten Links

Die Nachteile

Wo Licht ist, ist auch Schatten. So auch bei der Logfile-Analyse. Was jedem klar sein sollte: Logfiles ersetzen kein Webanalyse-System, da euch in den Files wichtige Metriken wie Absprungrate, Verweildauer oder eCommercedaten Fehlen.

Auch erzeugen die Logeinträge schnell Files mit mehreren Gigabyte Größe die erst einmal verarbeitet werden wollen. Dadruch kommen Tools wie Excel schnell an ihre Grenzen.

Bei Seiten die lokal im Browsercache gespeichert sind wird in der Regel kein Logeintrag erstellt, das bedeutet das euch diese Visits verloren gehen können. Für SEO ist dies jedoch kein Problem da die Bots nicht über Browsercaching verfügen.

Tools & Dienstleister

Die erste Herausforderung für das Arbeiten mit Logfiles ist zunächst den Zugriff auf diese zu erhalten. Sofern man nicht über einen eigenen Server verfügt führt hier normalerweise kein Weg an der IT vorbei. Doch sind die Files erst einmal verfügbar gibt es einige Tools und Anbieter die helfen die Daten aufzubereiten.

  • Für kleine Datenmengen: Excel (eine kurze Anleitung gibt’s bei MOZ)
  • Splunk (Software as a Service)
  • Für die Nutzer von Piwik: Piwik Log Analytics
  • Sumo-logic (Software as a Service)
  • Log Expert (Desktopsoftware für Windows
  • Logz.io (Software as a Service)
  • Elasticsearch / Logstash / Kibana (ELK; Open Source Software)
  • Screaming Frog SEO Log File Analyser

Disclaimer: Diese Auflistung soll keine Wertung darstellen, da ich die Tool mit Ausnahme von Excel und ELK nicht getestet habe, der Vollständigkeit halber möchte ich jedoch eine Auswahl an Anbietern darlegen.

SEO Logfile-Analyse mit ELK

Mit Elasticsearch, Logstash und Kibana, kurz ELK, bietet auch der Open Source Bereich eine mächtige Lösung zur Visualisierung von Logdateien. Für die Installation dieser Tools auf dem Webserver sollte allerdings entsprechendes Know-How oder am besten ein Admin vorhanden sein.

Logstash

Für das Management der Logfiles steht das Tool Logstash zur Verfügung. Logstash kann die Files empfangen, aufbereiten und an einen Output zur Indexierung übergeben.

Elasticsearch

Diesen Part übernimmt Elasticsearch. Elasticsearch übernimmt die Archivierung und Indexierung der Files und bietet als Open-Source-Suchserver auf Basis von Apache Lucene eine gute Durchsuchbarkeit der Logdaten.

Kibana

Um die von Elasticsearch gespeicherten Daten durchsuchen zu können bietet Kibana ein browserbasiertes Interface an.

Vom reinen Logfile zur Visualisierung durch Kibana

Tutorial: Logfile-Visualisierung in Kibana

Sind diese Tools installiert und die ersten Daten eingelaufen, wird dem unübersichtlichen Logfile schnell der Schrecken genommen:

Kibana

Die Oberfläche von Kibana präsentiert sich sehr aufgeräumt. Oben rechts lässt sich der Zeitraum einstellen, aus dem die Daten visualisiert werden sollen. Zusätzlich befindet sich ein großes Suchfeld um die Daten zu filtern. Hier lassen sich neben einer Volltextsuche auch gezielte Queries auf einzehlne Datenfelder anwenden (z.B. agent:*Googlebot* filtert auf sämtliche Useragents die den Namen „Googlebot“ beinhalten). Zusätzlich lässt sich noch mit Bedingungen wie AND, NOT uvm. arbeiten. Eine Übersicht der Queries für Kibana findet sich hier.

Während das große Balkendiagramm sämtliche Zugriffe im gewählten Zeitraum darstellt, werden die Rohdaten ebenfalls dargestellt und bieten (nach dem aufklappen über das Dreieck) via Klick auf die Lupe Filtermöglichkeiten für die einzelnen Fileinhalte. Zusätzlich lassen sich in der Linken Spalte bereits erste Auswertungen darstellen:

Darstellung der häufigsten User Agents

Visualisierungen

Im Bereich „Visualisierungen“ lassen sich die Logfiles weiter Grafisch aufbereiten. Kibana stellt eine Reihe sinnvoller Visualisierungsmöglichkeiten zur Verfügung:

Area chart Flächendiagramm – schön zur Darstellung unterschiedlicher Trafficquellen
Data table Tabelle mit unterschiedlich vielen Spalten – z.B. zu letzt gecrawlte URLs
Line chart Linendiagramm
Markdown widget Für die Verwendung von Markdown
Metric Einfache Darstellung einer Zahl. Z.B. wie viele Bots sind aktuell auf der Seite.
Pie chart Kuchendiagramm zur Visualisierung von Anteiligkeiten
Tile map Karte – Wo kommt mein Traffic her?
Vertical bar chart Das bekannte Balkendiagramm

Dashboard

Sämtliche Visualisierungen lassen sich selbstverständlich speichern und können nicht nur später wieder verwendet werden, sondern auch Teil eines eigenen Dashboards werden. Im Reiter „Dashboard“ bietet Kibana die Möglichkeit sämtliche Visualisierungen zu einem übersichtlichen Dashboard anzuordnen. So lassen sich die Wichtigsten KPI für eure Logfile-Analyse auf einen Blick einsehen. Mein Dashboard enthält:

  • Eine Area chart mit dem Traffic der verschiedenen Googlebots
  • Tabellen mit den zu letzt gecrawlten URLs, den am häufigsten gecrawlten URLs, den häufigsten Bots (1x Google, 1x ohne Goolge) und eine Tabelle mit den am häufigsten gecrawlten Bildern
  • Ein Balkendiagramm mit dem Traffic des Mobile-Bots
  • Ein Kuchendiagramm mit den ausgegebenen Statuscodes
  • Eine Karte

Kibaba-Dashboard (Auszug)

Fazit

Wer den initialen Aufwand sich eine Lösung für seine SEO Logfile-Analyse zu beschaffen nicht scheut, bekommt ein mächtiges Werkzeug zur Hand, das einem nicht nur hilft sein Crawlbudget zu optimieren und Einblicke in das Verhalten der Bots auf seiner Seite zu bekommen, sondern auch wichtige Unterstützung in Echtzeit für die Qualitätssicherung im SEO.

VN:F [1.9.22_1171]
Rating: 5.0/5 (6 votes cast)
Logfile-Analyse für SEO, 5.0 out of 5 based on 6 ratings

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.