Newsletter

SEO Logfile Analyse


SEO Logfile Analyse
27 Dez 2017

Die Analyse von Server Logfiles gehört schon seit längerer Zeit zu den wichtigsten Instrumenten der technischen Suchmaschinenoptimierung. Der Grund hierfür liegt auf der Hand: Server Logfiles werden direkt vom Webserver der eigenen Domain erstellt und enthalten so belastbare Daten, durch die sich die Aktivitäten von Nutzern und Suchmaschinenbots auf der eigenen Webseite sehr genau nachvollziehen lassen.

Viele Suchmaschinenoptimierer stellt die Analyse von Logfiles jedoch vor Herausforderungen. Das liegt unter anderem daran, dass die großen Datenmengen und die Fülle an unterschiedlichen Informationen schnell dazu führen können, dass man den Wald vor Bäumen nicht mehr sieht.

Aus diesem Grund wollen wir im vorliegenden Blogbeitrag einige SEO-Aspekte vorstellen, die sich mit Hilfe von Logfiles analysieren lassen. Denn die eine Logfile-Analyse gibt es nicht. Vielmehr stellen Server-Logfiles eine Datenquelle dar, mit deren Hilfe sich unterschiedliche Fragen beantworten lassen.

Inhalt

Was sind Logfiles und welche Daten benötige ich?

Logfiles werden serverseitig erstellt und enthalten Informationen zu jedem einzelnen Aufruf einer Ressource auf dem Server. Die aufgezeichneten Daten hängen hierbei von der Serverkonfiguration ab. Für eine SEO-Logfile-Analyse sollten die folgenden Daten erhoben werden:

  1. IP-Adresse
  2. Zeit und Datum
  3. URI
  4. Status Code
  5. Datenmenge
  6. Dauer des Downloads
  7. Referrer
  8. User Agent

Abhängig vom Informationsbedürfnis, den Analyseressourcen und der Anzahl der täglichen Zugriffe muss entschieden werden, welcher Zeitraum anhand der Logfiles betrachtet werden soll und kann. Für die meisten Auswertungen reicht die Analyse der Logfiles einer Woche aus. Die Betrachtung längerer Zeiträume ermöglicht es jedoch besser, Veränderungen im Crawlverhalten festzustellen und diese in einen Zusammenhang mit durchgeführten SEO-Maßnahmen oder Google Updates zu setzen.

Wie komme ich an meine Server Logfiles?

Die Einstellungen zu Speicherort, Speicherdauer und den für jeden Aufruf erhobenen Daten werden meistens in der httpd.conf-Datei auf dem Server vorgenommen. Standardmäßig werden Logfiles in einem eigenen Verzeichnis auf der Root-Ebene abgespeichert:

Meistens werden die Logs täglich in komprimierter Form abgespeichert. Teilweise werden sie hierbei nach Access- und Errorlogs unterschieden:

Als Inhouse-SEO kann man die Logfiles entweder direkt selbst vom Server herunterladen, wenn man über die nötigen Zugänge verfügt, anderenfalls kann der Systemadministrator Logfiles liefern. Als Agentur müssen die jeweiligen Kunden die Logfiles zur Verfügung stellen, wobei es teilweise zu Datenschutzbedenken kommt. Diesen Aspekt werden wir weiter unten in diesem Artikel im Abschnitt „Häufige Probleme“ betrachten.

Logfiles lesen und verarbeiten

In der Regel kommen Logfiles als gezippte .log-Dateien, die jeweils die Daten für einen Tag enthalten. .log-Dateien können von speziell hierzu verwendeten Programmen, den Logfile-Parsern oder –Analysern gelesen werden. Alternativ können .log-Dateien auch in Text-Dateien oder CSV-Dateien umgewandelt und mit Excel oder Google Spreadsheets analysiert werden.

Zur Auswertung mit Excel müssen die Daten meistens etwas aufbereitet werden. Logfile-Analyser übernehmen diese Schritte in der Regel automatisch:

  1. User Agents verifizieren: Anhand der IP-Adresse kann verifiziert werden, ob ein Zugriff eines bestimmten User Agents, etwas des Googlebots, auch tatsächlich von Google oder einer anderen Suchmaschine kommt. Oft geben sich zum Beispiel SEO-Crawler als Googlebot aus, um dessen Crawlverhalten zu simulieren. Durch einen Reverse-DNS-Lookup kann die hierbei verwendete IP-Adresse mit den von Google verwendeten IP-Adressen abgeglichen werden.
  2. Vollständige URLs zusammenstellen: Logfiles enthalten meistens nur verkürzte URIs ohne den Domainnamen und das verwendete Protokoll. Auch werden URL-Parameter oft in einer eigenen Spalte aufgeführt. Durch die VERKETTEN-Funktion können hieraus die kompletten URLs erstellt werden.
  3. Datum und Uhrzeit trennen: Die Angaben zu Datum und Uhrzeit werden als Timestamp aufgeführt. Für einige Auswertungen kann es hilfreich sein, diesen Timestamp in zwei separate Spalten aufzuteilen.
  4. Verzeichnisse separieren: Soll das Crawling einer Domainauf Verzeichnisebene analysiert werden bietet es sich an, für jede aufgerufene URL das Verzeichnis in einer eigenen Spalte anzugeben.

Use Cases

Wie bereits oben angesprochen können mithilfe von Logfiles viele verschiedene Fragen beantwortet werden, die bei der Optimierung einer Webseite für Suchmaschinen große Bedeutung haben.

Neben einer Analyse der Nutzerzugriffe, die durch die Auswertung von Logfiles möglich ist, steht hier die Analyse der Zugriffe von Suchmaschinenbots im Zentrum. Hierauf wird sich dieser Artikel konzentrieren.

Der größte Teil der vorgestellten Einsatzmöglichkeiten der Logfile-Analyse bezieht sich auf die Bestimmung der Crawleffizienz: Welche URLs werden wie häufig gecrawlt? Wie unterscheiden sich verschiedene Verzeichnisse hinsichtlich des Crawlings durch Suchmaschinenbots? Welche Status Codes werden ausgeliefert? Wie sieht das Crawling von URL-Parametern aus? Werden für die Suche irrelevanten Seiten stark gecrawlt?

Weitere Fragen betreffen die Performance einer Seite: Wie lange braucht ein Nutzer oder ein Bot, um eine Ressource vom Server herunterzuladen? Werden cachebare Ressourcen auch tatsächlich browserseitig gecached? Sind alle eingebunden Skripte oder Dateien erreichbar?

Auch Indexierungsprobleme können anhand der Analyse von Logfiles betrachtet werden: Wie crawlen unterschiedliche Suchmaschinen meine Webseite? Wird der gesamte Inhalt einer Seite von allen Bots heruntergeladen? Gibt es Seitenbereiche, die gar nicht gecrawlt werden?

Ein weiterer für viele Webmaster interessanter Punkt betrifft die Mobile-First-Indexierung durch Google: Anhand des Verhältnisses von Zugriffen des Desktop-Googlebots zu denen des mobilen Googlebots kann laut John Müller von Google festgestellt werden, ob eine Webseite bereits von der Einführung der Mobile-First-Indexierung betroffen ist.

Im Folgenden werden wir einige der oben gestellten Fragen beispielhaft mithilfe von Logfiles beantworten.

Crawleffizienz

Ein effizientes Crawling stellt sicher, dass SEO-relevante Unterseiten einer Domain in einem Maße gecrawlt werden, dass immer die aktuelle Version der Seite indexiert werden kann. Hierbei bestimmt die Häufigkeit von Änderungen am Seiteninhalt den Crawlbedarf: Ein einmal erstellter Blogartikel sollte zum Beispiel nach der Veröffentlichung so schnell wie möglich indexiert werden, muss anschließend aber nicht mehr mehrere Male pro Tag gecrawlt werden (Es sei denn, der Artikel wird aktualisiert oder anderweitig verändert). Die Startseite eines News-Publishers hingegen muss sehr häufig gecrawlt werden, damit die Suchmaschine immer alle neuen Artikel finden kann. Ähnliches gilt für Kategorieseiten von Onlineshops, die häufig neue Produkte aufnehmen.

Die Crawleffizienz wird von verschiedenen Faktoren beeinflusst:

  • Wie häufig ruft ein Bot insgesamt meine Domain auf?
  • Werden irrelevante Seiten oder doppelte Inhalte gecrawlt
  • Muss der Crawler vielen Weiterleitungen folgen oder wird er auf Fehlerseiten geführt?
  • Kann der Crawler die Inhalte schnell herunterladen?

Die Gesamtanzahl der Zugriffe verschiedener Suchmaschinencrawler lässt sich einfach anhand der User Agents identifizieren. Hierbei ist die Betrachtung eines längeren Zeitraumes sinnvoll, um Unregelmäßigkeiten zu erkennen.

Um zu bestimmen, wie stark für die Suche nicht relevante Seiten gecrawlt werden ist eine genaue Kenntnis der Webseitenstruktur und der SEO-Strategie notwendig. Auch ein Abgleich der gecrawlten Seiten mit der XML-Sitemap kann sehr hilfreich sein, sofern die Sitemap auch tatsächlich nur alle zur Indexierung vorgesehenen URLs enthält.

Im Zusammenhang mit dem Crawling doppelter Inhalte führt die Verwendung von URL-Parametern oft zu Problemen. So können zum Beispiel verschiedene Sortierungen und Filterungen von Kategorieseiten auf Onlineshops dazu führen, dass nahezu identische Inhalte auf mehreren hunderten URLs zu finden sind und gecrawlt werden. Auch wenn meistens eine Indexierung dieser doppelten Inhalte durch das Meta-Robots-Tag oder eine Kanonikalisierung verhindert werden, führt das Crawling von parametrisierten URLs oft zu Effizienzproblemen.

Weitere Crawlingprobleme lassen sich anhand der ausgelieferten Status Codes identifizieren:

  • Weiterleitungsketten schränken die Crawleffizienz ein und sollten abgebaut werden.
  • Weiterleitungsschleifen führen dazu, dass der Suchmaschinenbot das Crawling beenden muss. Sollte der Googlebot auf einer Domain häufig in Weiterleitungsschleifen „gefangen“ werden, kann dies zu einer Reduzierung des Crawlbudgets durch Google führen.
  • Interne Links auf 3xx- oder 4xx-Seiten sollten korrigiert werden.
  • Externe Links auf 3xx- oder 4xx-Seiten sollten entweder korrigiert werden oder im Fall von nicht mehr erreichbaren Linkzielen eine Weiterleitung auf eine geeignete Zielseite – wenn vorhanden – eingerichtet werden.
  • Sollten häufige Serverfehler auftreten muss hierfür die Ursache identifiziert und beseitigt werden.

Zur Identifizierung von Weiterleitungsketten und –schleifen sowie von fehlerhaften internen Links müssen die Daten aus den Logfiles mit eigenen Crawlingdaten angereichert werden. Hierzu können entweder Crawldaten direkt in die Analysesoftware importiert werden oder bei einer Auswertung mit Excel S-Verweise anhand der URLs eingesetzt werden.

Um Probleme in der externen Verlinkung zu erkennen müssen die Logfiledaten durch externe Linkdaten angereichert werden. Hier sollten alle zur Verfügung stehenden Datenquellen (etwa Ahrefs, LRTs, Google Search Console, Google Analytics, SISTRIX, Searchmetrics, usw.) verwendet werden, um ein möglichst vollständiges Bild des eigenen Backlinkprofils zu erhalten.

Webseitenperformance

Die Ladezeit einer Seite beeinflusst direkt das Ranking in den Suchmaschinen, ist ein wichtiger Usability-Aspekt und hat Einfluss auf das Crawling durch die Suchmaschinen. Obwohl die Ladezeiten durch eine Analyse der Logfiles nicht direkt gemessen werden können, lassen sich doch Rückschlüsse zur Optimierung der Webseitenperformance ziehen:

Zunächst geben die Logfileeinträge an, wie lange ein Nutzer oder Bot zum Download einzelner Ressourcen benötigt hat und welche Datenmengen heruntergeladen wurden. Anhand dieser Informationen können URLs mit einer langen Downloadzeit oder einer großen Datenmenge identifiziert werden, die dann anschließend genauer unter die Lupe genommen werden müssen. So lassen sich schnell Seitentypen mit einer hohen Ladezeit bestimmen.

Zum anderen kann die Effizienz des Cachings bestimmt werden, indem man untersucht, wie häufig einzelne Ressourcen während eines Crawlvorgangs oder einer Nutzersession heruntergeladen werden. Sollte hierbei festgestellt werden, dass chachebare Ressourcen mehrfach geladen werden, sollten die Cachingeinstellungen überprüft werden.

Mobile-First-Indexierung

Um festzustellen, ob eine Webseite bereits von der Mobile First Indexierung durch Google betroffen ist reicht ein kurzer Blick auf das Crawling verschiedener User Agents: Normalerweise beträgt das Verhältnis von Zugriffen des Desktop-Googlebots zu denen des mobilen Googlebots 4-5:1. Im Falle der Mobile First Indexierung sollte sich dieses Verhältnis nach Aussage von John Müller umkehren.

Hilfreiche Tools zur Logfile-Analyse

Grundsätzlich reicht Excel oder ein anderes Tabellenverarbeitungsprogramm zur Analyse von Logfiles aus. Es gibt jedoch eine Reihe von Tools, die den Arbeitsaufwand minimieren und besonders für die Analyse von großen Datenmengen hilfreich sind:

Logfile-Parser und –Analyser

Es gibt eine Vielzahl verschiedener Logfile-Parser und –Analyser. Bei uns in der Agentur verwenden wir den Screaming-Frog-Logfile-Analyser, das sich hier die Daten sehr einfach mit verschiedenen Crawlern wie DeepCrawl oder dem Screaming-Frog Spider verwenden lassen.

Andere Tools wie Splunk oder der Web Log Explorer eignen sich ebenso gut für die Analyse von Logfiles.

Kommandozeile

Besonders für die initiale Bearbeitung von Logfiles sind einige Befehle der Kommandozeile sehr nützlich. Das sind vor Allem die beiden Befehle „CAT“ und „GREP“.

Durch den Befehl „CAT“ lassen sich mehrere Dateien per Wildcard zusammenfassen. So können zum Beispiel unterschiedliche Logfiles für verschiedene Tage in einer Datei zusammengefasst werden. Dies wird vor Allem dann nützlich, wenn man anschließend mit „GREP“ bestimmte Einträge aus den Logfiles extrahieren möchte. So können etwa alle Googlebot-Einträge aus den Logfiles eines Monats herausgezogen werden um dann die Crawlfrequenz einzelner Seiten zu bestimmen.

Eine hervorragende Anleitung zur Nutzung von „CAT“ und „GREP“ gibt es unter: https://www.portent.com/blog/seo/get-geeky-grep-seo-tool.htm

Nützliche Tools zur Datenanreicherung

Wie bereits oben erwähnt lässt sich die Aussagekraft von Logfiles durch das Anreichern mit Crawl-, Backlink-, Ranking- und Trafficdaten steigern. Hierzu steht eine Vielzahl unterschiedlicher Tools zur Verfügung, wovon wir hier nur einige wichtige nennen können:

  • Crawl-Daten
    • Screaming Frog SEO Spider
    • DeepCrawl
  • Backlink-Daten
    • LinkReasearchTools
    • Ahrefs
    • Google Search Console
    • SISTRIX
  • Ranking-Daten
    • Google Search Console
    • SISTRIX
    • Searchmetrics
    • Rank Tracker
    • MOZ
    • Ahrefs
  • Traffic-Daten
    • Google Analytics
    • Webtrekk
    • Econda
    • Piwik
    • Google Search Console

Häufige Probleme

Bei der Arbeit mit Logfiles gibt es einige Probleme, denen wir bereits häufiger begegnet sind und die wir hier kurz ansprechen wollen:

  • Datenschutzprobleme: Logfiles ermöglichen durch die Angabe der IP-Adressen sehr genaue Analysen des Surfverhaltens einzelner Nutzer. Aus diesem Grund sehen sich gerade Agenturen häufig mit Datenschutzbedenken von Kundenseite konfrontiert. Hier hilft meistens eine vorherige Filterung der Logfiles nach Bot-Zugriffen. Alternativ können auch die IP-Adressen anonymisiert werden, was jedoch die Verifizierung der User Agents unmöglich macht.
  • Fehlerhafte User Agents: Wenn sich SEO-Crawler als Googlebot ausgeben kann dies die Analyseergebnisse verfälschen. Hier hilft der bereits oben angesprochene Reverse-DNS-Lookup, um die User Agents anhand der IP-Adressen zu verifizieren.
  • Zu große Datenmengen: Eine Auswertung mit Excel stößt spätestens bei 1.048.576 Zeilen an ihre Grenzen. Oft reicht auch schon vorher der verfügbare Arbeitsspeicher nicht aus, um in großen Tabellen etwa S-Verweise oder Zählenwenn-Funktionen auszuführen. Hier helfen entweder der Einsatz von Logfile-Analysern oder eine vorherige Filterung der Logfiles mittels „GREP“. Auch die Verwendung von cloudbasierten Tools kann Kapazitätsprobleme umgehen.
  • Fehlende Daten: Welche Daten in den Logfiles erfasst werden wird serverseitig eingestellt. So kann es oft vorkommen, dass zum Beispiel die User Agents oder die benötigte Zeit für den Download einer Ressource nicht standardmäßig aufgezeichnet werden. Inhouse-SEOs sollten mit ihrem Systemadministrator klären, welche Daten erfasst und gespeichert werden können. Agenturen müssen hier mit den Anspreechpartnern beim Kunden die Anforderungen an die Logfiles genau definieren.

Weiterführende Literatur

Es existieren online einige Reihe von detaillierten Anleitungen zur Logfileanalyse. Wir stellen hier die aus unserer Sicht hilfreichsten vor:

Fazit

Mithilfe von Logfiles lassen sich viele interessante Erkenntnisse über das Crawlverhalten und die Performance einer Webseite gewinnen. Jedoch sollten sich SEOs vor der Analyse genau überlegen, welche Fragen sie beantworten wollen und welche Daten sie hierzu benötigen.

Abhängig vom Analysegegenstand sollte dann die passende Auswertungsmethode gewählt werden.

Share

Vincent Dombrowski
Vincent Dombrowski

SEO Consultant