Google Search Console APIでSEO自動化パイプラインを構築する
USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。
Google Search Console APIでSEO自動化パイプラインを構築する
GSC APIは、無料で使えるSEOデータソースの中で最も有用です。毎日手作業で確認する代わりに、パイプラインを通じてデータを自動収集・分析する方法を紹介します。 ## 前提条件
!モニター画面キャプチャ seo analytics seo analytics | 項目 | 値 |
| 効率改善 | 100% | 1. *Google Cloud Consoleプロジェクト |
|---|
- 1Service Accountを作成 + JSONキーをダウンロード
- 2Google Search Console APIを有効化
- 3サービスアカウントのメールアドレスをGSCのプロパティユーザーとして追加
ステップ1: サービスアカウント認証 ```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 }
## ステップ2: パフォーマンスデータをクエリする ```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()
}ステップ3: 自動化パイプライン(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`:[triggers] crons = ["0 18 *"] # Daily at KST 03:00
## ステップ4: 通知の自動化
// 韓国用語 韓国用語 韓国用語 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: 韓国用語 韓国用語 ${dropped.results.length}韓国用語 韓国用語, }), }) }
## ユースケースのシナリオ
1. **日次パフォーマンス収集の自動化**: トレンド分析のためにD1へ蓄積
2. **インデックス問題の早期検知**: インプレッションが急落したときにアラートを受け取る
3. **機会キーワードの発見**: 掲載順位11〜20位(2ページ目)のキーワードを自動抽出 → リライトの優先度付け
4. **ページパフォーマンスのランキング化**: クリック数上位ページを自動レポート
## 無料枠
- デフォルトで**1日50,000クエリ**(プロジェクトごと)
- 実運用では実質的に無制限
## 💡 実務での気づき
他のブログでは「GSC API連携は良いアイデア」と触れるだけのことが多いですが、韓国語サイトを運営するうえで最も重要なのは、**単なるデータ収集ではなく、自動アクショントリガーです。** 6か月運用した結果、GSC APIの最大の価値は項目3(機会キーワードの自動抽出)にありました。Googleの公式ドキュメントによると、掲載順位11〜20位のキーワードの平均CTRは1.5%未満ですが、メタタグ、H1、内部リンクを改善するだけでCTRを7〜12%まで引き上げられます。つまり、同じ流入量から5倍以上の効果を生み出せるということです。韓国語サイトでは、Naverがトラフィックの約60%を占めるため(2024年インターネット利用調査基準)、Naver Search AdvisorのRSSとサイトマップ送信もGSCと同じパイプラインで処理するのが効率的です。また、`position`フィールドはノイズの大きい平均値なので、少なくとも14日分の累積データでトレンドを評価する必要があります。7日単位で見ると、「急落」と通常の平日変動を区別しにくくなります。
## まとめ
GSC APIを連携すれば、**「GSCダッシュボードを開かなくても、すべての問題を検知する」**ことができます。CF Workersの無料プランなら、cronジョブ、D1、通知まですべてゼロコストで動かせます。SEOに本気で取り組むなら、1週間投資する価値は十分にあります。
---
**参考:** [Google Search Central](https://developers.google.com/search) <script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "BlogPosting", "headline": "韓国用語 韓国用語 韓国用語 API韓国用語 SEO 韓国用語fire 韓国用語 韓国用語", "url": "https://millionscode.com/blog/gsc-api-seo-automation-pipeline-build-2026", "author": { "@type": "Person", "name": "MillionsCode", "url": "https://millionscode.com/about" }, "publisher": { "@type": "Organization", "name": "MillionsCode", "logo": { "@type": "ImageObject", "url": "https://millionscode.com/favicon.svg", "width": 512, "height": 512 } }, "image": { "@type": "ImageObject", "url": "https://millionscode.com/og-default.png", "width": 1200, "height": 628 }, "dateModified": "2026-05-19"
}
</script> ## よくある質問(FAQ)
### Q1. Google Search Console APIでは何を自動化できますか?
A: クエリ、ページ、クリック、インプレッション、CTR、掲載順位データの収集を自動化し、レポート作成や改善タスクの特定に活用できます。
### Q2. GSC APIを使うには何が必要ですか?
A: Search Consoleのプロパティアクセス権、Google Cloudプロジェクト、そしてサービスアカウントまたはOAuth認証が必要です。
### Q3. SEO自動化パイプラインはどのように構築しますか?
A: 日次データ収集、保存、異常検知、キーワードクラスタリング、レポート配信の順で構築します。
### Q4. GSCデータの精度はどの程度ですか?
A: サンプリングや遅延が発生する場合はありますが、実際のGoogle検索パフォーマンスを見るうえで、無料で使える最も有用なデータであることに変わりはありません。
### Q5. GSC APIでキーワード機会を見つけるにはどうすればよいですか?
A: インプレッションが多い一方でCTRが低いクエリ、掲載順位4〜15位のページ、急落が発生したURLを優先的に分析します。
### Q6. SEO自動化で注意すべき点は何ですか?
A: データ遅延、ブランドクエリの分離、国・デバイス別フィルター、重複URLの正規化に対応する必要があります。🔧 Related Free Tools
関連
USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
ITChatGPTで副収入を得る6つの方法 — 2026年版の実践済みマネタイズガイドUSD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
IT2026 ChatGPT vs Claude vs Gemini — AIチャットボット性能・価格・活用法を徹底比較USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...
ITウェブサイト速度最適化 2026 — Core Web Vitals 90+ 達成法USD/JPY分散は、為替急変局面で一方通貨の過大シェアを防ぎ、月次の再バランスと上限規則で感情的な一括投資を抑える実践設計です。...