IT
🔍

Aufbau einer SEO-Automatisierungspipeline mit der Google Search Console API

USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。

Aufbau einer SEO-Automatisierungspipeline mit der Google Search Console API

Aufbau einer SEO-Automatisierungspipeline mit der Google Search Console API

Die GSC API ist die nützlichste kostenlose Datenquelle für SEO. Statt sie jeden Tag manuell zu prüfen, erfahren Sie hier, wie Sie die Daten über eine Pipeline automatisch erfassen und analysieren.

Voraussetzungen

monitor screengrab seo analytics seo analytics
ElementWert
Effizienzsteigerung100%
  1. 1Google Cloud Console-Projekt
  2. 2Service Account erstellen + JSON-Schlüssel herunterladen
  3. 3Google Search Console API aktivieren
  4. 4E-Mail-Adresse des Servicekontos in GSC als Property-Nutzer hinzufügen

Schritt 1: Authentifizierung per Servicekonto

ts
import { SignJWT } from "jose"

async function getAccessToken(saJson: string) {
  const key = JSON.parse(saJson)
  const now = Math.floor(Date.now() / 1000)
  const jwt = await new SignJWT({
    scope: "https://www.googleapis.com/auth/webmasters.readonly",
  })
    .setProtectedHeader({ alg: "RS256", typ: "JWT" })
    .setIssuer(key.client_email)
    .setAudience("https://oauth2.googleapis.com/token")
    .setIssuedAt(now)
    .setExpirationTime(now + 3600)
    .sign(await importPrivateKey(key.private_key))

  const res = await fetch("https://oauth2.googleapis.com/token", {
    method: "POST",
    body: new URLSearchParams({
      grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
      assertion: jwt,
    }),
  })
  const { access_token } = await res.json()
  return access_token
}

Schritt 2: Performance-Daten abfragen

ts
async function queryGSC(token: string, siteUrl: string) {
  const url = `https://searchconsole.googleapis.com/webmasters/v3/sites/${encodeURIComponent(siteUrl)}/searchAnalytics/query`

  const body = {
    startDate: "2026-03-25",
    endDate: "2026-04-21",
    dimensions: ["query", "page"],
    rowLimit: 1000,
  }

  const res = await fetch(url, {
    method: "POST",
    headers: { Authorization: `Bearer ${token}` },
    body: JSON.stringify(body),
  })
  return res.json()
}

Schritt 3: Automatisierte Pipeline (CF Workers + D1)

ts
// Runs every day at 3 AM
export default {
  async scheduled(event: ScheduledEvent, env: Env) {
    const token = await getAccessToken(env.GSC_SA_JSON)
    const data = await queryGSC(token, env.GSC_SITE_URL)

    // Save to D1
    for (const row of data.rows) {
      await env.DB.prepare(
        "INSERT INTO gsc_daily (date, query, page, clicks, impressions, ctr, position) VALUES (?, ?, ?, ?, ?, ?, ?)"
      ).bind(new Date().toISOString().slice(0, 10), row.keys[0], row.keys[1], row.clicks, row.impressions, row.ctr, row.position).run()
    }
  },
}

wrangler.toml:

toml
[triggers]
crons = ["0 18 * * *"]  # Daily at KST 03:00

Schritt 4: Benachrichtigungsautomatisierung

ts
// Erkennung von Keywords mit starkem Ranking-Abfall
const sql = `
  SELECT query, SUM(clicks) as recent_clicks,
    (SELECT SUM(clicks) FROM gsc_daily WHERE query=g.query AND date BETWEEN DATE(?, '-14 days') AND DATE(?, '-8 days')) as prev_clicks
  FROM gsc_daily g
  WHERE date >= DATE(?, '-7 days')
  GROUP BY query
  HAVING prev_clicks > 10 AND recent_clicks < prev_clicks * 0.5
`
const dropped = await env.DB.prepare(sql).bind(today, today, today).all()

if (dropped.results.length > 0) {
  await fetch(telegramUrl, {
    method: "POST",
    body: JSON.stringify({
      chat_id: env.CHAT_ID,
      text: `Keywords mit starkem Abfall ${dropped.results.length} erkannt`,
    }),
  })
}

Anwendungsszenarien

  1. 1Automatisierte tägliche Performance-Erfassung: In D1 sammeln, um Trends zu analysieren
  2. 2Früherkennung von Indexierungsproblemen: Benachrichtigungen erhalten, wenn Impressionen stark einbrechen
  3. 3Entdeckung von Keyword-Chancen: Keywords auf Position 11-20 (Seite 2) automatisch extrahieren → für Überarbeitungen priorisieren
  4. 4Ranking der Seiten-Performance: Top-Seiten nach Klickzahl automatisch melden

Kostenloses Kontingent

  • Standardmäßig 50.000 Abfragen pro Tag (pro Projekt)
  • Für den praktischen Einsatz faktisch unbegrenzt

💡 Praxiseinblick

Während andere Blogs nur erwähnen, dass eine "GSC API-Integration eine gute Idee ist", ist der entscheidende Faktor beim Betrieb einer koreanischsprachigen Website automatisierte Auslöser für Maßnahmen statt bloßer Datenerfassung. Nach sechs Monaten Betrieb lag der größte Nutzen der GSC API in Punkt 3 (automatisierte Extraktion von Keyword-Chancen). Laut offizieller Dokumentation von Google haben Keywords auf den Positionen 11-20 eine durchschnittliche CTR von unter 1,5 %, doch schon Verbesserungen an Meta-Tags, H1 und interner Verlinkung können die CTR auf 7-12 % anheben. Das bedeutet, dass Sie mit derselben Traffic-Menge mehr als den fünffachen Effekt erzielen können. Bei koreanischsprachigen Websites entfallen etwa 60 % des Traffics auf Naver (basierend auf der Internet Usage Survey 2024). Daher ist es effizient, Naver Search Advisor RSS und Sitemap-Einreichungen über dieselbe Pipeline wie GSC abzuwickeln. Da das Feld position außerdem ein Durchschnittswert mit erheblichem Rauschen ist, sollten Sie Trends anhand von mindestens 14 Tagen kumulierter Daten bewerten. Bei 7-Tage-Fenstern lässt sich ein "starker Einbruch" nur schwer von normalen Schwankungen zwischen Wochentagen unterscheiden.

Fazit

Sobald Sie die GSC API integriert haben, können Sie "alle Probleme erkennen, ohne jemals das GSC-Dashboard zu öffnen." Mit dem kostenlosen Tarif von CF Workers laufen Cron-Jobs, D1 und Benachrichtigungen komplett ohne Kosten. Wenn Ihnen SEO ernst ist, lohnt sich eine Investition von einer Woche absolut.


Referenz: Google Search Central

Häufig gestellte Fragen (FAQ)

F1. Was kann ich mit der Google Search Console API automatisieren?

A: Sie können die Erfassung von Query-, Seiten-, Klick-, Impressionen-, CTR- und Ranking-Daten automatisieren, um Berichte zu erstellen und Verbesserungsaufgaben zu identifizieren.

F2. Was brauche ich, um die GSC API zu nutzen?

A: Sie benötigen Zugriff auf eine Search Console-Property, ein Google Cloud-Projekt und entweder ein Servicekonto oder eine OAuth-Authentifizierung.

F3. Wie richte ich eine SEO-Automatisierungspipeline ein?

A: Bauen Sie sie in dieser Reihenfolge auf: tägliche Datenerfassung, Speicherung, Anomalieerkennung, Keyword-Clustering und Berichtszustellung.

F4. Wie genau sind GSC-Daten?

A: Es kann Sampling und Verzögerungen geben, dennoch bleiben sie die nützlichsten kostenlosen Daten, um die tatsächliche Google-Suchperformance zu betrachten.

F5. Wie finde ich mit der GSC API Keyword-Chancen?

A: Priorisieren Sie die Analyse von Suchanfragen mit hohen Impressionen, aber niedriger CTR, Seiten auf den Positionen 4-15 und URLs, die einen starken Einbruch verzeichnet haben.

F6. Worauf sollte ich bei SEO-Automatisierung achten?

A: Sie müssen Datenverzögerungen, die Trennung von Brand-Queries, Länder- und Gerätefilter sowie die Kanonisierung doppelter URLs berücksichtigen.

🔧 Related Free Tools

Verwandt