SEO-Dashboard
mit Google-Daten im eigenen Haus.
Täglich 06:00 Uhr: E-Mail mit den wichtigsten SEO-Kennzahlen im Postfach. Klick-Rate, Position, Top-Suchanfragen, Vergleich zur Vorwoche – ohne dass jemand die Google-Oberfläche öffnet. Das Muster ist auf alle Ihre Datenquellen übertragbar.
Wichtige Kennzahlen regelmäßig vor Augen haben
Google Search Console liefert die wichtigsten SEO-Daten – aber man muss sich täglich einloggen, zwischen Berichten klicken, einzelne Zahlen vergleichen. Das macht fast niemand konsequent. Die Folge: Ranking-Einbrüche werden zu spät bemerkt, Content-Erfolge werden nicht ausgebaut, und die wöchentliche SEO-Analyse bleibt auf „mache ich morgen“ hängen.
Wir wollten: Morgens kurz in die Mail schauen, und alle relevanten Zahlen sind da. Wenn was auffällig ist, sehen wir es sofort. Wenn nicht, wissen wir, dass wir nichts verpassen.
Die zwei Kurven, die jeden Morgen zählen: Klicks (orange) und Impressionen (Navy) über 30 Tage – mit Peak-Markierung.
Dreiteiliger Stack: Worker, Dashboard, Cron
Cloudflare Worker
Sitzt vor der Google Search Console-API, kümmert sich um OAuth-Authentifizierung und liefert die Daten über ein einfaches Bearer-Token-Interface. Skaliert automatisch, kein Server-Management.
PHP-Backend
Einfache Oberfläche mit Basic-Auth. Zeigt Top-Suchanfragen, Top-Seiten, Positionen über die Zeit, Vergleich zu Vorwoche/Vormonat. Mobile-optimiert.
Tägliche E-Mail
Cron-Job 06:00 Uhr: formatierter HTML-Report per E-Mail. Zeigt Tageswerte, Veränderung zur Vorwoche, und markiert ungewöhnliche Ausreißer.
Architektur-Detail: Warum ein Worker davor?
Die Google-APIs erwarten OAuth 2.0 mit einem Service-Account-JSON-Key und einem signierten JWT-Request. Das heißt in PHP: RSA-Signatur mit openssl, Token-Caching, Refresh-Logik, Fehlerbehandlung. Auf dem Shared Hosting unserer Wahl ist openssl teilweise gar nicht verfügbar – ein Cloudflare Worker schon, nativ, mit WebCrypto.
Der Worker kapselt das komplette OAuth-Handling. Zum PHP hin gibt es nur noch eine saubere REST-Schnittstelle mit einem Bearer-Token. Drei Endpunkte: /api/performance, /api/queries, /api/pages. Parameter start und end im ISO-Format, fertig.
Der Service-Account-Key liegt als Worker-Secret – kommt nie in ein Git-Repository, kommt nie auf das Hosting. Wenn das PHP-Backend kompromittiert würde, hätte ein Angreifer nur das Bearer-Token und damit read-only-Zugriff auf genau dieses Search-Console-Property. Der zugrundeliegende Google-Key bleibt geschützt.
Der Morgenreport im Detail
Die E-Mail kommt um kurz nach 06:00 Uhr – fertig formatiert, mit denselben Zahlen, die das Dashboard auch zeigt. Kein Excel-Anhang, kein Login, kein Klicken. Einfach lesen.
- 4 Kern-KPIs
Klicks, Impressionen, durchschnittliche Position, Klick-Rate – mit Veränderung zur Vorwoche in Prozent. - Top 10 Suchanfragen
Sortiert nach Klicks, mit Position und CTR. Neue Queries gegenüber Vorwoche farblich markiert. - Top 10 Seiten
Welche URLs ziehen gerade den meisten Traffic? Gewinner und Verlierer der Woche. - Ausreißer-Marker
Wenn eine Kennzahl mehr als 20 % vom Wochenschnitt abweicht, wird sie orange markiert. - Mini-Chart
Die Klick-Kurve der letzten 30 Tage als inline-SVG direkt im E-Mail-Body.
Position und Klick-Rate in einem Bild
Position allein sagt wenig. Position 3 mit hoher CTR ist Gold. Position 3 mit miserabler CTR heißt: Titel und Meta-Description passen nicht zur Suchintention – und dann lohnt sich ein Blick auf Snippet-Optimierung.
Deshalb zeigt das Dashboard Position und CTR nie getrennt. Jede Query kommt mit beiden Werten und dem Produkt daraus – die echte „Wirksamkeit“ einer Platzierung. Bei ungewöhnlich niedriger CTR trotz guter Position springt die Zeile in Orange an.
Genau so entdeckt man Content-Stücke, die auf Seite 1 stehen, aber niemand klickt. Und genau das sind die Hebel, die mit kleinem Aufwand viel bewegen.
Drei Dinge, die der tägliche Blick verändert
Content-Entscheidungen sind einfacher
Man sieht innerhalb weniger Tage, ob ein neuer Artikel ankommt. Kein Raten mehr, welche Themen der Leser will – Impressionen für neue Queries erscheinen, und wir erkennen Lücken.
Ranking-Einbrüche werden sichtbar
Fällt eine wichtige Seite plötzlich von Position 4 auf Position 12, sieht man das am nächsten Morgen – nicht erst nach einem Monat, wenn der Umsatz einbricht.
Gewinner werden ausgebaut
Wenn ein Artikel plötzlich zieht, sehen wir das und bauen ihn aus – interne Verlinkung, vertiefende Folge-Artikel, Umbau zu einem Cluster. Das ist die Disziplin, die sonst nie passiert.
Warum nicht einfach ein fertiges SEO-Tool?
SEMrush, Ahrefs, Sistrix und Co. sind mächtig und bieten viel mehr als ein reines Search-Console-Dashboard. Für Keyword-Recherche und Wettbewerbsanalyse sind sie kaum zu schlagen. Aber für das, was wir hier beschreiben – tägliche Sicht auf die echten Google-Daten der eigenen Seite – zahlen Sie dort schnell 100 bis 400 Euro pro Monat. Und die Daten sind nicht ganz Ihre eigenen.
Beide Welten schließen sich nicht aus. Ein Abo-Tool für die Wettbewerbsanalyse, ein eigenes Dashboard für den Tagesblick – das ist oft die sinnvollste Kombination.
Übertragbar auf Ihre Daten
Der Aufbau – externe API über Proxy kapseln, Daten im eigenen Dashboard darstellen, tägliche Reports per E-Mail – funktioniert für fast jede Datenquelle. Wir haben das gleiche Muster bereits für PageSpeed-Insights verwendet, und es lässt sich auf Ihre Geschäftsdaten übertragen:
Daten, die wirklich ankommen
Ein Dashboard, das nie geöffnet wird, ist wertlos. Unsere Reports kommen automatisch dorthin, wo Sie morgens sowieso hinschauen: in Ihr Postfach. Dashboard zum Nachbohren steht bereit, aber nur wenn Sie es brauchen.
Eigenes Dashboard anfragenHäufig gestellte Fragen
Warum nicht einfach die Google Search Console nutzen?
Die Google-Oberfläche ist solide, aber sie zeigt Daten einzeln, nicht als integrierten Tages-Überblick. Wir wollten: Morgens eine E-Mail mit den wichtigsten Zahlen, Vergleich zu Vorwoche und Vormonat, Alarme bei Ranking-Einbrüchen und ein Dashboard, das in unser Backend integriert ist. Das geht mit der Google-UI nicht.
Warum ein Cloudflare Worker als Proxy?
Die Search Console-API läuft über OAuth 2.0 mit Service-Account-JSON-Keys. Das direkt auf einem Shared-Hosting-PHP zu machen ist umständlich und unsicher. Der Cloudflare Worker sitzt vor der Google-API, kümmert sich um die Authentifizierung, und wir rufen ihn mit einem einfachen Bearer-Token aus unserem PHP auf. Sauber getrennt und skaliert automatisch.
Lässt sich das auf andere Datenquellen übertragen?
Ja, das Muster ist universell. Wir haben es bereits für PageSpeed-Insights-Daten wiederverwendet (Tageswerte für 8 Schlüssel-URLs). Übertragbar auf alle Google-APIs (Analytics, Ads, Maps), aber auch auf andere REST-APIs mit komplexer Auth – Salesforce, HubSpot, Stripe, Matomo.
Was kostet das an laufenden Kosten?
Cloudflare Workers sind im Free Tier bis 100.000 Requests pro Tag kostenlos – das reicht für fast jede Firma. Der PHP-Teil läuft auf Ihrer bestehenden Hosting-Infrastruktur, also auch null Mehrkosten. Die Datenquelle (Google Search Console) ist Google-seitig kostenlos.
Wie aufwändig ist die Einrichtung?
Für die Basis-Variante (ein Property, tägliche Mail, einfaches Dashboard) rechnen wir mit etwa 1,5 bis 2 Tagen. Dazu gehört: Google Cloud Projekt anlegen, Service-Account erstellen, Search Console-Berechtigung vergeben, Cloudflare Worker einrichten, Dashboard-UI aufbauen, Cron konfigurieren. Erweiterungen wie zusätzliche Properties oder Alarme bei Ausreißern kommen je nach Wunsch obendrauf.
Gehören die Daten dann mir?
Ja. Die Daten liegen in Ihrem Cloudflare-Account und auf Ihrem Hosting – nicht bei einem SEO-Tool-Anbieter. Sie können sie exportieren, archivieren, mit anderen Systemen verbinden. Wenn Sie irgendwann ein anderes Tool wollen, nehmen Sie die Daten einfach mit.
Beschreiben Sie Ihr Problem
Wir melden uns bei Ihnen und finden eine Lösung.