« Zurück zur Übersicht

Ryte Daten per API in Google Data Studio integrieren: Step-by-Step Guide & Use-Case

Der Alltag im OnPage-SEO besteht aus vielen Tools, daher entsteht irgendwann das Bedürfnis, alle relevanten Daten in einer Übersicht – man nenne es Dashboard – zusammenzuführen. Die Zusammenführung der Daten darf im Umkehrschluss kein mühevoller, monatlicher Akt sein, sondern sollte idealerweise automatisiert passieren.

Dieser Artikel beschreibt, wie man aus Ryte Projektdaten per API über Google Apps Script in ein Spreadsheet und in Data Studio für eigene Reporting- und Monitoringzwecke laden kann. Er richtet sich an Einsteiger und Fortgeschrittene, die mit einigen technischen Grundbegriffen bereits vertraut sind. Der Code steht zum kostenlosen Download bereit, mit einem Use Case zur Orientierung.

Es gibt doch die Ryte API? Was kann man denn damit machen?

Für Business-Account Nutzer (und höhere Level) bietet Ryte den Zugriff von Projektdaten über ihre REST-API an. Der Ryte API Integrationsguide beschreibt die wichtigsten Eckpunkte des programmatischen Zugriffs.

Wie im Integrationsguide beschrieben, gibt es für jede Visualisierung im Website Success-Modul einen Dropdown mit der Auswahl „Api-Call”, dessen Code kopiert werden muss. Dies ist der spätere POST-payload für die Abfrage gegen den /zoom/ Endpoint, nicht direkt der vollständige API-Call.

Zurzeit sind API-Abfragen ausschließlich für das Website Success Modul verfügbar, daher geht dieser Artikel ausschließlich hierauf ein.

Abbildung 1: API Call im Dropdown Menü

Abbildung 2: Nähere Ansicht des API Calls für ein ausgewähltes Objekt

Sammlung der Ansichten: Welche Bereiche sind für mein Projekt relevant?

Jetzt beginnt die Suche nach den relevanten Ansichten für das eigene Projekt. Interessieren mich Statuscode-Fehler, Sitemaps, Mehrsprachigkeit, oder alles gleichzeitig? Für jedes Chart und jede Tabellenbox des Website Success Moduls kann ein Api-Call Codeblock, genauer gesagt ein POST-Payload im JSON-Format, kopiert werden.

Nach Sammlung mehrerer Ansichten ist es unerlässlich, dass man mehrere Ansichten und Abfragen gleichzeitig abarbeiten kann. Eine einfache Lösung bietet die folgende Implementierung über Google Apps Skript und der bereitgestellte Code.

VORBEHALT: Je nach Projekt sind unterschiedliche Ansichten interessant. Wir haben eine willkürliche Auswahl zusammengestellt und diese in ein Konfigurationsobjekt gepackt, welches im Skript unten beliebig nach eigenen Wünschen erweitert werden kann.

Step-By-Step Guide: 1. JSON-Minifying

Jeder kopierte POST-Payload sollte vor dem Einfügen in das Skript durch ein JSON-Minifier-Tool wie zum Beispiel das von codebeautify.org geschleust werden, um den Inhalt auf einer Zeile darzustellen und das Skript übersichtlich zu halten.

Im Folgenden nutzen wir für Javascript in Kombination mit der Ausführungsumgebung Google Apps Script. Apps Script die einfachste Art, um als google-affiner Online Marketer oder SEO mit APIs zu experimentieren, ohne den technischen Unterbau von Grund auf zu kennen oder erstellen zu müssen.

Step-By-Step Guide: 2. Anlegen eines Google Apps Skriptes

Erster Schritt ist die Anlage eines Skriptes auf script.google.com. Dort fügt man den untenstehenden Code ein und entfernt den bestehenden Funktionsrumpf „function myFunction() {}“. Falls später mehrere Skripte aus dem gleichen Projekt zeitlich gesteuert werden, sollten diese spezifische Namen haben. Unten findest Du den vollständigen zu kopierenden Code inklusive Funktionsrumpf „function onPageApiCall() {}” aufgeführt.

Abbildung 4: Anlage eines Skriptes auf script.google.com

Hier liegt der Code zum Kopieren bereit.

Die aktuelle Sammlung an Ansichten bzw. POST-Payloads

Nach Anlage und Speicherung des Skriptes geht es an die Konfiguration. Nachstehend sieht man unsere Liste an Abfragen an die Website Success API, die Namen sollten hoffentlich sprechend genug sein:

Abbildung 5: Liste der Abfragen an Website Success API

Für die Beispielimplementierung haben wir JSON-payloads aus Ryte Übersichtsgrafiken, in API-Sprache genannt "action": "aggregate", und Listenansichten, genannt "action": "list", zusammengeführt. Das Ergebnis sind zwei Codeblöcke:

1. die einzelnen minified payloads pro Request und

2. eine konsolidiertes ONPAGE_CALLS Array aus Objekten pro Bereich.

Eine Erweiterung der Payloads in 1. sollte also mit einer Ergänzung des Arrays in 2. einhergehen.

Step-By-Step Guide: 3. Konfiguration der Werte Projekt, API-Key und Limit

Alle payloads sind mit den drei Konstanten versehen, damit beim Kopieren eines Skripts diese Werte nur an einer Stelle geändert werden müssen:

  • PROJECT: Dies entspricht dem Verzeichnisnamen in der URL. Beispiel: https://my.ryte.com/noriskshop-de/website-success/, hier wäre der project-name also “noriskshop-de”

  • API_KEY: Der Key ist 32stellig alphanumerisch und kann aus jedem API-Call Block kopiert werden. Dieser ist in jedem payload JSON enthalten und ist projektübergreifend der gleiche, nur an den User gebunden

  • LIMIT: Ein willkürlicher Wert für die Limitierung von Ergebnissen, unten 5000.

Der Vorteil an Konstanten in Javascript ist, dass sie mit globalem Scope an jeder Stelle des Codes verwendet werden können, ohne spezifische Einbindung als Funktions- oder Methodenparameter.

Step-By-Step Guide: 4. Google Spreadsheet als Ausgabe

Zum Abschluss fehlt noch die Spreadsheet-ID des Google-Dokuments, in welches geschrieben wird. Zur Konfiguration des Sheets muss lediglich:

  • eine leeres Spreadsheet angelegt oder ein bestehendes verwendet werden

  • ein Datenblatt „Ryte” benannt und die ID nach diesem Muster aus der URL kopiert werden.

Abbildung 6: URL des Google Spreadsheets

Hier ist eine Beispieldatei mit Demodaten einsehbar.

Der Code steht, wie erwähnt, in diesem public gist bei github bereit.

Step-By-Step Guide: 5. Erster Skriptdurchlauf und Scheduling

Da in der aktuellen Konfiguration 26 API Requests ausgeführt werden, kann ein erster Durchlauf durchaus 5 Minuten dauern. Im Menüpunkt Ansicht > Ausführungsprotokoll können die genauen Schritte nachvollzogen werden. Der Ausführungsstart sie wie folgt aus:

Abbildung 7: Ausführungsprotokoll

Wenn alles korrekt läuft, sollte folgende Tabelle im Tab „Ryte” sichtbar sein:

Abbildung 8: Tabelle im Google Spreadsheet

Jeder Inhaltsblock ist ein eigenes Objekt bzw. eine eigene Tabelle. Wir haben uns in der aktuellen Darstellung noch nicht die Arbeit gemacht, jede erneut in eine Einzeltabelle zu überführen. Mit einer bedingten Formatierung haben die Listenansichten aber bereits eine solide Aussagekraft mit einfacher Vergleichbarkeit zu anderen Projekten:

Abbildung 9: Bedingte Formatierung im Google Spreadsheet Dokument

Ähnlich den 1-3 grauen Prioriätspunkten in Website Success, lassen sich über die Mengen der Grad der Ryte-Problemfelder visualisieren, womit schnell Projektschwerpunkte für den nächsten Zeitraum gesetzt werden können.

Der letzte Schritt zur Automatisierung ist ein regelmäßiger Skripttrigger. der über das Uhr-Icon links oben im Menü gesetzt werden kann. Er sorgt für die automatisierte Ausführung zu einem wiederkehrenden Zeitpunkt. Hier kann zwischen den Intervallen „stündlich”, „täglich” und „wöchentlich” gewählt werden.

Abbildung 9: Setzen des Skripttriggers

Einbindung der Ryte API Daten in Google Data Studio

Wer bisher unter einem Stein in einer Höhle wohnte: Google Data Studio ist ein mächtiges Werkzeug zur Anbindung verschiedener Datenquellen und Visualisierung dieser in einem web-basierten Dashboard mit Zeitraumwähler, Filter & Co. - es bleiben wenig Wünsche offen.

Auf Basis des aktuellen (und berechtigen) Data Studio Hypes haben wir es zum Anlass genommen, eine beispielhafte Ryte-Integration über Google-Sheets zu entwerfen.

Abbildung 10: Beispielhafte Ryte-Integration

Im Beispieldashboard werden für 13 Website Success-Kategorien die Listwerte bis zum Maximalwert von 200 angegeben, wobei diese im Skript selbstverständlich noch höher gesetzt werden können. Die Werte können eine schnelle Orientierung zur Site-Health und den wichtigen Potentialen geben. Im Beispielfall lassen sich folgende Problembereiche definieren:

  • Interne Verlinkung: Etliche Seite haben wenige oder gar keine eingehenden Links, sowie teils lange Klickpfade

  • Sitemap URLs: Es scheint sowohl falsche URLs sowie fehlende URLs in der Sitemap zu geben.

  • Page-markup: Mehrfache h1 Tags, duplizierte Titel und fehlende Imagebeschreibungen sollten adressiert werden

  • Pagespeed & Dateigröße: Neben großen Dateien und Seiten scheint es zu viele langsam ladende Seiten zu geben

Hier steht das Dashboard zum Kopieren bereit.

Nach Kopie kann ebenfalls das Demo-Spreadsheet geklont und dieses mit dem Skript verknüpft werden.

Die erzeugten Daten können darüber hinaus einfach mit anderen Vorlagen wie dem Search Console Dashboard kombiniert werden, um umfangreiche SEO-Reports in Data Studio abzubilden.

Fazit

Qualitätsmanagement von Webseiten fängt mit Onpage-SEO und Crawling an. Über Google Apps Skript lassen sich Website Success-Crawlergebnisse einfach in eigene Reportstrukturen einbinden. Die gezeigte Lösung ist recht stark mit der Konfiguration verzahnt, sicherlich gibt es noch eine elegantere und außerdem generische Umsetzung. Wir freuen uns über Ideen und Anregungen in den Kommentaren!

Ryte-Nutzer erzielen +93% Klicks nach 1 Jahr. Erfahre wie!

Veröffentlicht am Sep 28, 2017 von Christian Rohr