Blog Google: Google-API-Daten für Blog-Performance
Direkter Zugriff auf Googles SEO-APIs für die Blog-Performance-Analyse. Bietet echte Chrome-Nutzermetriken, Indexierungsstatus, Suchperformance, Entity-Analyse, YouTube-Video-Entdeckung, Keyword-Volumen und PDF/HTML-Performance-Berichte.
Alle APIs sind bei normaler Nutzung kostenlos. Die Einrichtung erfordert ein Google Cloud-Projekt mit einem API-Key und/oder Service-Account.
Voraussetzungen
Vor dem Ausführen eines Befehls immer die Anmeldedaten überprüfen:
python3 skills/blog-google/scripts/run.py google_auth --check --json
Konfigurationsdatei: ~/.config/claude-seo/google-api.json (gemeinsam mit claude-seo)
{
"api_key": "AIzaSy...",
"oauth_client_path": "/pfad/zu/client_secret.json",
"default_property": "sc-domain:example.com",
"ga4_property_id": "properties/123456789",
"ads_developer_token": "...",
"ads_customer_id": "123-456-7890"
}
Falls die Datei fehlt, lies references/auth-setup.md und führe den Benutzer durch die Einrichtung.
Berechtigungsstufen
| Stufe | Erkennung | Verfügbare Befehle |
|---|---|---|
| 0 (API-Key) | api_key vorhanden | pagespeed, crux, crux-history, youtube, nlp |
| 1 (OAuth/SA) | + OAuth-Token oder Service-Account | Stufe 0 + gsc, inspect, index |
| 2 (Voll) | + ga4_property_id konfiguriert | Stufe 1 + ga4 |
| 3 (Ads) | + ads_developer_token + ads_customer_id | Stufe 2 + keywords |
Gib die erkannte Stufe immer vor der Ausführung von Befehlen an.
Kurzreferenz
| Befehl | Funktion | Stufe |
|---|---|---|
/blog google setup | API-Anmeldedaten prüfen/konfigurieren | -- |
/blog google pagespeed <url> | PSI Lighthouse + CrUX-Felddaten | 0 |
/blog google crux <url> | Nur CrUX-Felddaten (p75-Metriken) | 0 |
/blog google crux-history <url> | 25-wöchiger CWV-Trendanalyse | 0 |
/blog google youtube <query> | YouTube-Video-Suche (Aufrufe, Likes, Dauer) | 0 |
/blog google nlp <url-oder-text> | NLP-Entitätsextraktion + Sentiment | 0 |
/blog google gsc <property> | Search Console: Klicks, Impressionen, CTR, Position | 1 |
/blog google inspect <url> | URL-Inspektion: Index-Status, Kanonisch | 1 |
/blog google index <url> | URL an die Indexierungs-API senden | 1 |
/blog google ga4 [property-id] | GA4-Organischer-Traffic-Bericht | 2 |
/blog google keywords <seed> | Keyword-Ideen vom Google Ads Keyword Planner | 3 |
/blog google report <typ> | PDF/HTML-Performance-Bericht | -- |
/blog google quotas | Ratenlimits aller APIs anzeigen | -- |
PageSpeed + CrUX
/blog google pagespeed <url>
Kombinierte Lighthouse-Labor- und CrUX-Felddaten für einen veröffentlichten Blog-Beitrag.
Skript: python3 skills/blog-google/scripts/run.py pagespeed_check <url> --json
Referenz: references/api-reference.md
Die Ausgabe kombiniert Lab-Bewertungen (punktuelle Lighthouse-Messung) mit Felddaten (28-Tage-Chrome-Nutzermetriken). CrUX versucht es zuerst auf URL-Ebene und fällt auf Ursprungsebene zurück.
/blog google crux <url>
Nur CrUX-Felddaten (kein Lighthouse-Durchlauf). Schneller.
Skript: python3 skills/blog-google/scripts/run.py pagespeed_check <url> --crux-only --json
/blog google crux-history <url>
25-wöchige CrUX-Verlaufstrends. Zeigt, ob sich CWV-Metriken verbessern, stabil bleiben oder verschlechtern.
Skript: python3 skills/blog-google/scripts/run.py crux_history <url> --json
Search Console
/blog google gsc <property>
Suchanalyse: Klicks, Impressionen, CTR, Position für die letzten 28 Tage.
Skript: python3 skills/blog-google/scripts/run.py gsc_query --property <property> --json
Standard: 28 Tage, Dimensionen=query,page, Typ=web, Limit=1000.
Beinhaltet Schnelltreffer-Erkennung: Suchanfragen auf Position 4-10 mit hohen Impressionen.
/blog google inspect <url>
URL-Inspektion: Echter Indexierungsstatus von Google.
Skript: python3 skills/blog-google/scripts/run.py gsc_inspect <url> --json
Liefert: Urteil (PASS/FAIL), Abdeckungsstatus, robots.txt-Status, Indexierungsstatus, Abruffehler, kanonische Auswahl, mobile Nutzbarkeit, Rich Results.
Für Batch-Inspektion: python3 skills/blog-google/scripts/run.py gsc_inspect --batch <datei> --json
Indexierungs-API
/blog google index <url>
Google über eine URL-Änderung benachrichtigen. Neue Blog-Beiträge zur schnelleren Indexierung einreichen.
Skript: python3 skills/blog-google/scripts/run.py indexing_notify <url> --json
Referenz: references/api-reference.md
Die Indexierungs-API ist offiziell für JobPosting- und BroadcastEvent/VideoObject-Seiten vorgesehen.
Informiere den Benutzer immer über diese Einschränkung. Tageslimit: 200 Veröffentlichungsanfragen.
Für Batch: python3 skills/blog-google/scripts/run.py indexing_notify --batch <datei> --json
GA4-Traffic
/blog google ga4 [property-id]
Organischer Traffic-Bericht: tägliche Sitzungen, Nutzer, Seitenaufrufe, Absprungrate, Engagement.
Skript: python3 skills/blog-google/scripts/run.py ga4_report --property <id> --json
Standard: 28 Tage, gefiltert auf die Kanalgruppe "Organische Suche".
Für Top-Landing-Pages: python3 skills/blog-google/scripts/run.py ga4_report --property <id> --report top-pages --json
YouTube (Video-Entdeckung)
YouTube-Erwähnungen haben die stärkste Korrelation zur KI-Sichtbarkeit (0,737, Ahrefs 75K Marken).
Kostenlos, nur API-Key erforderlich. Wird von blog-write und blog-rewrite für die Video-Einbettung genutzt.
/blog google youtube <query>
YouTube nach zu einem Blog-Thema passenden Videos durchsuchen.
Skript: python3 skills/blog-google/scripts/run.py youtube_search search "<query>" --json
Kontingent: 100 Einheiten pro Suche (10.000 Einheiten/Tag kostenlos).
Liefert: Titel, Kanal, Aufrufe, Likes, Dauer, Beschreibung, Tags.
Für Videodetails + Kommentare: python3 skills/blog-google/scripts/run.py youtube_search video <video_id> --json
NLP-Inhaltsanalyse
Googles eigene Entitäts-/Sentiment-Analyse. Verbessert die E-E-A-T-Bewertung von Blog-Inhalten.
/blog google nlp <url-oder-text>
Vollständige NLP-Analyse: Entitäten, Sentiment, Inhaltsklassifizierung.
Skript: python3 skills/blog-google/scripts/run.py nlp_analyze --url <url> --json
Kostenloses Kontingent: 5.000 Einheiten/Monat. Erfordert aktivierte Abrechnung im GCP-Projekt.
Nur für Entitätsextraktion: python3 skills/blog-google/scripts/run.py nlp_analyze --url <url> --features entities --json
Keyword-Recherche (Google Ads)
Branchenführende Keyword-Volumen-Daten. Erfordert ein Google Ads-Konto (Stufe 3).
/blog google keywords <seed>
Keyword-Ideen aus Startbegriffen für die Blog-Themenrecherche generieren.
Skript: python3 skills/blog-google/scripts/run.py keyword_planner ideas "<seed>" --json
Für Volumenabfrage: python3 skills/blog-google/scripts/run.py keyword_planner volume "<kw1>,<kw2>" --json
Berichte
/blog google report <typ>
Einen professionellen PDF/HTML-Bericht mit Diagrammen erstellen.
Skript: python3 skills/blog-google/scripts/run.py google_report --type <typ> --data <json> --domain <domain> --format pdf
| Typ | Eingabe | Ausgabe |
|---|---|---|
cwv-audit | PSI + CrUX + CrUX-Verlaufsdaten | Core Web Vitals-Audit mit Anzeigen, Zeitachsen |
gsc-performance | GSC-Abfragedaten | Search Console-Bericht mit Abfragetabellen |
indexation | Batch-Inspektionsdaten | Indexierungsstatus mit Abdeckungs-Donut |
full | Alle Daten kombiniert | Umfassender Google-SEO-Bericht |
Hinweis: Die PDF-Erstellung erfordert Systembibliotheken: sudo apt install libpango1.0-dev libcairo2-dev.
Fällt auf HTML zurück, wenn weasyprint nicht verfügbar ist.
Ratenlimits
| API | Pro Minute | Pro Tag | Authentifizierung |
|---|---|---|---|
| PSI v5 | 240 QPM | 25.000 QPD | API-Key |
| CrUX + Verlauf | 150 QPM (geteilt) | Unbegrenzt | API-Key |
| GSC Suchanalyse | 1.200 QPM/Website | 30 Mio. QPD | Service-Account |
| GSC URL-Inspektion | 600 QPM | 2.000 QPD/Website | Service-Account |
| Indexierungs-API | 380 RPM | 200 Veröffentlichungen/Tag | Service-Account |
| GA4 Daten-API | 10 gleichzeitig | ~25K Tokens/Tag | Service-Account |
| YouTube Daten | -- | 10.000 Einheiten/Tag | API-Key |
| NLP-API | -- | 5.000 Einheiten/Monat | API-Key (Abrechnung) |
Lies references/rate-limits-quotas.md für eine detaillierte Kontingentverwaltung.
Blog-Workflow-Integration
Dieser Skill kann sowohl vom Benutzer aufgerufen werden (/blog google pagespeed) als auch
intern von anderen Blog-Sub-Skills:
- blog-seo-check: Führt PSI + CrUX auf der veröffentlichten Beitrags-URL für Live-CWV-Daten aus
- blog-rewrite: NLP-Entitätsanalyse zur Identifizierung von E-E-A-T-Entitätslücken
- blog-geo: GSC-Performance-Daten für echte Einblicke in die Suchergebnisdarstellung
- blog-audit: Batch-CWV + Indexierungsprüfungen über alle veröffentlichten Blog-URLs
- blog-write / blog-rewrite: YouTube-Suche für Video-Einbettung
Fällt elegant zurück, wenn keine Anmeldedaten konfiguriert sind.
Technische Hinweise
- INP hat FID am 12. März 2024 ersetzt. Verweise niemals auf FID.
- CLS-Werte von CrUX sind als String kodiert (z.B. "0.05"). Skripte übernehmen das Parsen.
- CrUX 404 = unzureichender Chrome-Traffic, kein Authentifizierungsfehler.
- Suchanalysedaten haben eine Verzögerung von 2-3 Tagen.
- Die Indexierungs-API ist offiziell nur für
JobPosting/BroadcastEvent-Seiten vorgesehen. - Alle verwendeten Google-APIs sind bei normaler Nutzung KOSTENLOS.
Fehlerbehandlung
| Szenario | Aktion |
|---|---|
| Keine Anmeldedaten konfiguriert | Führe /blog google setup aus. Liste Stufe-0-Befehle auf (nur API-Key). |
| Service-Account hat keinen GSC-Zugriff | Füge client_email unter GSC > Einstellungen > Benutzer > Hinzufügen hinzu. |
| CrUX-Daten nicht verfügbar (404) | Unzureichender Chrome-Traffic. Verwende PSI-Labordaten als Fallback. |
| GA4-Property nicht gefunden | Finde die Property-ID unter GA4 Admin > Property-Details. |
| Indexierungs-API-Kontingent überschritten | Limit von 200/Tag. Priorisiere die wichtigsten URLs. |
| Ratenlimit (429) | Warte und versuche es erneut mit exponentiellem Backoff. |