Mit Search Console & KNIME

Content-Dauerbrenner und lahme Enten sichtbar machen

Michael Hohenleitner
Michael Hohenleitner

Michael Hohenleitner (geb. Göpfert) ist einer von vier geschäftsführenden Gesellschaftern der Agentur StrategieVier und als SEO-Berater und Freelancer tätig. Sein Steckenpferd ist dabei die Arbeit mit großen Datenmengen aus Crawls und der Search Console. Wenn ihm dabei die Standard-Reports der Tools nicht ausreichen, greift er auf eigene Workflows in KNIME oder Python zurück, um datengestützte Entscheidungen treffen zu können.

Mehr von diesem AutorArtikel als PDF laden

Weckt man einen SEO mitten in der Nacht, müsste er die wichtigsten URLs einer Site automatisch und ohne Nachdenken aufsagen können. Doch wie steht es mit Hidden Champions? URLs, die Tag für Tag Traffic bringen, es aber nie so richtig auf den Radar schaffen? Mithilfe der Search Console und des kostenlosen Datentools KNIME kann man problemlos versteckte Evergreen-Schätze heben und die sogenannten „low performer“ gnadenlos sichtbar machen. Michael Göpfert zeigt, wie das geht.

Ein häufig gehörtes Versprechen von SEOs lautet: Ist ein hochwertiges Stück Content erst einmal erstellt, bringt dieses über einen langen Zeitraum kontinuierlich Traffic über Suchmaschinen. Doch welche Inhalte einer Website können dieses Versprechen wirklich einlösen?

Analysiert wird diese Fragestellung häufig wie folgt:

  • Betrachtung der URLs mit den meisten Klicks: Einzelereignisse, die viel Traffic bringen, oder Saisonalitäten werden dabei nicht berücksichtigt.
  • Betrachtung einzelner URLs im Zeitverlauf: Dabei werden zwar saisonale Effekte sichtbar, die Analyse konzentriert sich jedoch nur auf einzelne URLs.

Beide Herangehensweisen haben ihre Stärken (die Seiten mit dem meisten Traffic werden sichtbar), haben aber auch blinde Flecke. Häufig finden sich auf einer Website Seiten, die im Schatten der Top-Performer kontinuierlich Traffic bringen. Um das Identifizieren solcher Evergreen-URLs soll es in diesem Beitrag gehen.

Dabei wird ermittelt, an wie vielen Tagen im Jahr jede URL einer Website Klicks über die Google-Websuche bekommt. Die Analyse beantwortet unter anderem folgende Fragestellungen:

  • Welche Seiten sind „echter“ Evergreen-Content und bringen der Website an vielen Tagen im Jahr Traffic?
  • Welche der Seiten bekommen schon länger keinen Klick mehr und sollten deshalb aktualisiert oder gelöscht werden?

Die Daten dazu liefert die Google Search Console (GSC), die Auswertung der Daten erfolgt über das kostenlose Datenanalyse-Tool KNIME.

Da bei dieser Art der Analyse sehr viele Daten anfallen, reicht es nicht, die Daten aus dem Leistungsbericht der GSC zu exportieren, da die Exporte auf 1.000 Zeilen limitiert sind. Um diese Beschränkungen zu umgehen, können die Daten über die API der Search Console geholt werden.

Leider bietet KNIME keine native Integration der API der GSC. Durch einen kleinen Umweg über Google Sheets können die Daten aber trotzdem via API gewonnen werden. Das Google-Sheets-Add-on „Search Analytics for Sheets“ ermöglicht es GSC-Usern, die Daten aus dem Leistungsbericht direkt in eine Google-Tabelle zu importieren.

Export der Daten aus der Google Search Console

Nach der Installation von Search Analytics for Sheets lässt sich die Erweiterung direkt in Google Sheets unter dem Menüpunkt „Erweiterungen“ aufrufen. Anschließend müssen noch folgende Einstellungen (Abb. 1) vorgenommen werden:

  • Verified Seite: Die GSC Property auswählen, die abgefragt werden soll
  • Date Range: einen Zeitraum von 365 Tagen auswählen
  • Group By: Date und Page
  • Haken setzen bei Include fresh data

Alle anderen Einstellungen können unverändert bleiben. Anschließend kann die Tabelle als CSV exportiert werden.

Hinweis

Bei dieser Art der Abfrage fallen große Mengen an Daten an, die das Zeilenlimit von Google Sheets überschreiten können. Bei größeren Websites kann daher in Search Analytics for Sheets ein Filter gesetzt werden, damit nur ein Teilbereich (z. B. ein bestimmtes Verzeichnis) der Website abgefragt wird. Auch können kanonisierte Seiten (Seiten mit # in der URL oder AMP-Seiten) direkt bei der Abfrage über „Filter By“ herausgefiltert werden.

Import der Daten in KNIME

Liegen die Daten als CSV-Datei auf der Festplatte, können diese in KNIME importiert werden. Zunächst sollte ein neuer Workflow in KNIME erstellt werden. Anschließend kann aus dem Node Repository die Node CSV Reader auf die Arbeitsfläche gezogen werden.

Mit einem Doppelklick auf die Node öffnet sich ihr Konfigurationsmenü. Dort kann die CSV-Datei mit den GSC-Daten ausgewählt werden. Der CSV-Reader erkennt in der Regel von selbst, wie die CSV-Datei aufgebaut ist, sodass keine weiteren Einstellungen vorgenommen werden müssen.

Durch einen Rechtsklick auf die Node und das Auswählen des Menüpunkts „Execute“ lässt sich die Node ausführen, und die Daten werden importiert. Durch erneutes Aufrufen des Kontextmenüs der Node per Rechtsklick und Auswahl des Punkts „File Table“ lässt sich die importierte Tabelle anzeigen. Sie sollte die Spalten „Date“, „URL“, „Clicks“, „Impressions“, „CTR“ und „Position“ enthalten (Abb. 3).

Datumsfunktionen in KNIME

Um mit Daten in Form von Tagen, Monaten oder Jahren zu arbeiten, muss zunächst der Datentyp der Spalte „Date“ von String (= Text) in ein Datum umgewandelt werden. Diese Prozedur ist vielen aus Excel bereits bekannt.

In KNIME gibt es dazu die Node String to Date&Time. Diese kann ebenfalls vom Repository auf die Arbeitsfläche gezogen und an den schwarzen Dreiecken mit dem CSV-Reader verbunden werden.

In der Konfiguration dieser Node muss zunächst nur die Spalte ausgewählt werden, die das Datum enthält. Alle anderen Spalten sollten in den Bereich „Exclude“ verschoben werden (Abb. 4).

Mithilfe des Buttons Guess data type and format kann die Node erkennen, in welchem Format das Datum in der Spalte „Date“ aufgebaut ist, und die Spalte in den Datentyp „Date&Time“ umwandeln.

Im nächsten Schritt werden mit der Node Row Filter alle Zeilen herausgefiltert, die in der Spalte „Clicks“ eine 0 stehen haben (Abb. 5). Schließlich bezieht sich die Analyse ausschließlich auf URLs, die auch Klicks bekommen.

Nun wird die Tabelle so sortiert, dass das älteste Datum am Anfang der Tabelle steht. Dazu gibt es die Node Sorter. Hier werden in der Konfiguration die Spalte „Date“ und die Sortiermethode „Ascending“ gewählt (Abb. 6).

Gruppieren der Daten für erste Insights

Aktuell enthält die Tabelle für jedes Datum und jede URL eine Zeile. Mithilfe der Node GroupBy wird die Tabelle nun auf eine Zeile pro URL reduziert. Die Werte aus der Spalte „Date“ werden genutzt, um zu ermitteln, an wie vielen Tagen eine jede URL Klicks bekommen hat.

Dazu wird im Tab „Groups“ in der Konfiguration der Node GroupBy die Spalte „Page“ ausgewählt. Anschließend wird im Tab „Manual Aggregation“ die Spalte „Clicks“ hinzugefügt und im Feld „Aggregation“ wird Sum ausgewählt. Das bewirkt, dass zu jeder URL die Summe ihrer Klicks ermittelt wird.

Zusätzlich wird dreimal die Spalte „Date“ hinzugefügt und im Feld „Aggregation“ wird jeweils Folgendes (Abb. 7) ausgewählt:

  • Unique Count: Dies ermittelt, an wie vielen Tagen eine URL Klicks bekommen hat. Jeder unique Wert in der Spalte wird ermittelt und gezählt.
  • First: Diese Einstellung erzeugt eine neue Spalte mit dem Datum, an dem die URL zum ersten Mal einen Klick bekommen hat.
  • Last: Diese Einstellung erzeugt eine neue Spalte mit dem Datum, an dem die URL zum letzten Mal einen Klick bekommen hat.

Für jede der getroffenen Einstellungen erzeugt die Node eine neue Spalte mit den Werten, die sich aus den getroffenen Einstellungen ergeben. Die Tabelle besteht nun aus den folgenden Spalten (Abb. 8):

  • Page: die URL
  • Sum(Clicks): die Summe aller Klicks der jeweiligen URL
  • Unique Count(Date): Anzahl an Tagen, an denen die URL mindestens einen Klick bekommen hat
  • First(Date): das Datum, an dem die URL ihren ersten Klick bekommen hat. Die Node nimmt hier von oben nach unten den ersten Wert, den sie für jede URL in der Spalte „Date“ findet.
  • Last(Date): das Datum, an dem die URL das letzte Mal einen Klick bekommen hat. Die Node nimmt hier von oben nach unten den letzten Wert, den sie für jede URL in der Spalte „Date“ findet. Deshalb ist die absteigende Sortierung aus dem vorherigen Schritt ganz entscheidend.

Nun sind schon erste Ergebnisse sichtbar: In der Spalte Unique Count(Date) zeigt sich, an wie vielen Tagen jede URL mindestens einen Klick bekommen hat.

Um die Namen der Spalten etwas selbsterklärender zu machen, können diese mit der Node Column Rename umbenannt werden.

Berechnen eines „Evergreen Scores“

Beim Betrachten der Tabelle zeigt sich jedoch ein Problem: Ist eine URL seit weniger als einem Jahr live, kann diese noch so häufig Traffic bekommen, sie wird vermutlich nicht so viele Tage mit Klicks haben wie eine ältere URL. Deshalb ist es sinnvoll, einen Wert zu ermitteln, der auch diesen URLs gerecht wird. Dies kann erreicht werden, indem berechnet wird, an wie viel Prozent der Tage Klicks auf eine URL kommen. Dieser Wert ist unabhängig davon, wie alt eine URL ist.

Dazu muss zunächst ermittelt werden, wie lange der Tag mit dem ersten Klick zurückliegt. Dazu bietet sich die Node Date&Time Difference an. Um den Wert zu ermitteln, muss die Node wie in Abbildung 10 konfiguriert werden.

Das eingestellte Datum im Bereich „Calculate difference to“ sollte dabei dem letzten Tag des Zeitraums, der für den Export der Daten aus der GSC ausgewählt wurde, plus einen Tag entsprechen. Warum plus einen Tag? Ganz einfach: Die Datumsauswahl in der Node „Date&Time Difference“ berücksichtigt alle Tage bis zum gewählten Datum, aber nicht einschließlich.

Nun kann mit der Node „Math Formula“ die Spalte „Tage mit Klicks“ durch die Spalte „Tage seit dem ersten Klick“ geteilt und mit 100 multipliziert werden (Abb. 11). Diese Werte werden mit der Einstellung „Append Column“ in eine neue Spalte mit dem Namen „Evergreen Score“ geschrieben.

Der sogenannte „Evergreen Score“ zeigt nun an, an wie viel Prozent der Tage, seitdem die URL das erste Mal einen Klick bekommen hat, die Seite weitere Klicks bekommen hat.

Ebenfalls hilfreich ist die Angabe, wie viele Tage vergangen sind, seitdem eine URL das letzte Mal einen Klick bekommen hat. Damit lassen sich Seiten aufdecken, die schon länger keinen Traffic mehr bekommen und eventuell aktualisiert oder gelöscht werden sollten.

Das Vorgehen ist hier ähnlich wie bei der Ermittlung des Zeitraums seit dem ersten Klick, nur dass in der Konfiguration die Spalte „Letzter Tag mit Klick“ ausgewählt werden muss (Abb. 12). Auf das Erweitern der Datumsangabe um einen Tag kann hier verzichtet werden.

Um die Spalten noch in eine attraktivere Reihenfolge zu bringen, können diese mit der Node Column Resorter nach Belieben umsortiert werden.

Zum Schluss kann die Tabelle noch mit der Node Table View visualisiert werden. So entsteht eine filter- und sortierbare Tabelle mit den erhobenen Daten, die mit der Node Excel-Writer auch in das bekannte Excel-Format exportiert werden kann.

Fazit

Die Kombination aus Search-Console-Daten und KNIME ermöglicht spannende neue Insights, ganz ohne programmieren zu müssen. Oder wussten Sie, wie viele Ihrer URLs seit über 100 Tagen keinen Traffic mehr bekommen?

Probieren Sie es also am besten selbst mal aus. Wie immer kann der fertige Workflow auch heruntergeladen werden. Dazu müssen Sie einfach nur mit der Maus das gelbe viereckige Symbol rechts oben in der Kopfzeile der Seite auf die Arbeitsfläche von KNIME ziehen (Abb. 14): http://einfach.st/knime9.