mcpField
S
seo-google

seo-google

github.com/serankingマーケティング・グロース19174 回インストール18 週間前に更新
リポジトリ

seo-google について

seo-googleは、GoogleのSEOデータを取得するスキルとスクリプトのセットです。検索、インデックス、トラフィック、ページ体験を分析する用途に向け、認証ティアに応じてSearch Console、PageSpeed、CrUX、GA4、YouTubeなどのAPIを利用できます。

主な機能

  1. 01PageSpeedとCrUXの指標を取得
  2. 02Search Consoleの実績とインデックス状態を確認
  3. 03GA4のトラフィック・チャネルレポートを作成
  4. 04YouTube動画とコメントを検索
  5. 05テキストのエンティティ、感情、分類を分析
  6. 06キーワード、検索ボリューム、URLの安全性を確認

活用シーン

  1. 01ページのインデックス状態とcanonicalを確認
  2. 02Core Web Vitalsの週次推移を追跡
  3. 03自然検索とAIからの参照トラフィックを分析
  4. 04キーワード、検索実績、YouTube動画を調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/seranking/seo-skills --skill seo-google

インストール後、Claude Code で/seo-googleを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

assets/templates/
cwv-audit-report.md
gsc-performance-report.md
indexation-status-report.md
references/
auth-setup.md
cross-skill-integration.md
ga4-data-api.md
indexing-api.md
keyword-planner-api.md
nlp-api.md
pagespeed-crux-api.md
rate-limits-quotas.md
search-console-api.md
supplementary-apis.md
youtube-api.md

詳細

出力例:examples/seo-google-quickstart-20260514/README.md

Google SEO API

Google 独自の SEO データに直接アクセスできます。クロールベースの分析(カタログのその他のツール)と、Chrome ユーザーの実際の指標、実際のインデックス登録状況、検索パフォーマンス、オーガニックトラフィックといった Google のリアルタイムのフィールドデータをつなぎます。

すべての API は無料です。セットアップには、API キーおよび/またはサービスアカウントを備えた Google Cloud プロジェクトが必要です。手順を確認するには setup コマンドを実行するか、references/auth-setup.md を直接ご覧ください。

AgriciDaniel/claude-seo の seo-google スキルを基にしています(MIT)。スクリプト、リファレンス、コマンドの構成は上流の実装に準拠しています。元のものと問題なく共存できるよう、設定パスは ~/.config/seo-skills/ 名前空間に設定されています。

前提条件

  • 必須: Python 3.10+ と Google API クライアントライブラリ。bash extensions/google/install.sh でインストールしてください。
  • 必須: 最低限、Google API キー(Tier 0)が必要です。すべての機能を利用するには、Google Cloud サービスアカウント(Tier 1 以上)に加えて、必要に応じて GA4 プロパティ ID(Tier 2)と Google Ads デベロッパートークン(Tier 3)が必要です。
  • 設定ファイル:~/.config/seo-skills/google-api.json。

コマンドを実行する前に、認証情報を確認してください。

python scripts/google_auth.py --check --json

設定ファイルの形式(~/.config/seo-skills/google-api.json):

{
  "service_account_path": "/path/to/service_account.json",
  "api_key": "AIzaSy...",
  "default_property": "sc-domain:example.com",
  "ga4_property_id": "properties/123456789"
}

ファイルがない場合は、references/auth-setup.md を読み、セットアップをユーザーに案内してください。

認証情報のティア
Tier検出条件利用可能なコマンド
0(API キー)api_key が存在pagespeed、crux、crux-history、youtube、nlp、entity、safety
1(OAuth/SA)+ OAuth トークンまたはサービスアカウントTier 0 + gsc、inspect、sitemaps、index
2(フル)+ ga4_property_id が設定済みTier 1 + ga4、ga4-pages、ga4-referrals、ga4-channel-mix、ga4-properties
3(Ads)+ ads_developer_token + ads_customer_idTier 2 + keywords、volume

コマンドを実行する前に、検出されたティアを必ず伝えてください。

クイックリファレンス

コマンド機能Tier
setupAPI 認証情報の確認/設定--
pagespeed <url>PSI Lighthouse + CrUX フィールドデータ0
crux <url>CrUX フィールドデータのみ(p75 指標)0
crux-history <url>25 週間の CWV トレンド分析0
gsc <property>Search Console:クリック数、表示回数、CTR、掲載順位1
inspect <url>URL 検査:インデックス状況、正規 URL、クロール情報1
inspect-batch <file>ファイルから URL を一括検査1
sitemaps <property>GSC サイトマップの状況1
index <url>URL を Indexing API に送信1
index-batch <file>最大 200 件の URL を一括送信1
ga4 [property-id]GA4 オーガニックトラフィックレポート2
ga4-pages [property-id]オーガニックランディングページの上位一覧2
ga4-referrals [property-id]ソース別の参照セッション — デフォルトでは AI アシスタント2
ga4-channel-mix [property-id]チャネルグループ(Direct / Organic / Referral / Paid …)別のセッション内訳2
ga4-propertiesサービスアカウントが読み取り可能な GA4 アカウントとプロパティをすべて一覧表示2
youtube <query>YouTube 動画検索(再生回数、いいね数、再生時間)0
youtube-video <id>YouTube 動画の詳細と上位コメント0
nlp <url-or-text>NLP によるエンティティ抽出 + 感情分析 + 分類0
entities <url-or-text>E-E-A-T 向けのエンティティ分析のみ0
keywords <seed>Google Ads Keyword Planner によるキーワード候補3
volume <keywords>Keyword Planner による検索ボリュームの照会3
entity <query>Knowledge Graph のエンティティ確認0
safety <url>Web Risk による URL の安全性確認0
quotasすべての API のレート制限を表示--
report <type>収集した JSON から PDF/HTML/XLSX レポートを生成--

PageSpeed + CrUX

pagespeed <url>

Lighthouse のラボデータと CrUX のフィールドデータを統合します。

スクリプト: python scripts/pagespeed_check.py <url> --json リファレンス: references/pagespeed-crux-api.md デフォルト: モバイルとデスクトップの両方の戦略、Lighthouse のすべてのカテゴリ。

出力では、ラボスコア(特定時点の Lighthouse)とフィールドデータ(Chrome ユーザーの28日間の指標)を統合します。CrUX はまず URL レベルでデータを取得し、取得できない場合はオリジンレベルにフォールバックします。

crux <url>

CrUX のフィールドデータのみを取得します(Lighthouse の実行なし)。より高速です。

スクリプト: python scripts/pagespeed_check.py <url> --crux-only --json

crux-history <url>

CrUX の25週間の履歴トレンドです。CWV 指標が改善、安定、または悪化しているかを示します。

スクリプト: python scripts/crux_history.py <url> --json リファレンス: references/pagespeed-crux-api.md

出力には、指標ごとのトレンドの方向、変化率、週ごとの p75 値が含まれます。


Search Console

gsc <property>

検索アナリティクス:過去28日間のクリック数、表示回数、CTR、掲載順位です。

スクリプト: python scripts/gsc_query.py --property <property> --json リファレンス: references/search-console-api.md デフォルト: 28日間、dimensions=query,page、type=web、limit=1000。

クイックウィンの検出機能も含まれます。表示回数が多く、掲載順位が4~10位のクエリが対象です。

フィルタリング: --device {desktop,mobile,tablet}、--country <ISO3>、--page <url-or-substring>(デフォルトでは contains で照合します。完全一致する URL を指定する場合は --page-match equals を渡します)。URL ごとのクエリ分析には、組み合わせて使用します:--page /blog/best-ai-seo-tools/ --dimensions query。

AI Overview/AI Mode: --ai-overview(または --ai-mode)を指定すると、Google が AI Overview/AI Mode の SERP を表示し、そこに自分の URL が含まれていたクエリに結果を絞り込みます。これは「AI Overview で引用されているか?」に対する Google の公式データです。クリック数、表示回数、CTR、平均掲載順位を GSC から直接取得できます。--dimensions query,page と組み合わせると、AI Overview に表示されたクエリとページを確認できます。また、--page /post/ と組み合わせると、特定の URL に絞り込めます。他の表示タイプ(RICH_RESULT、REVIEW_SNIPPET など)には --search-appearance <value> を使用します。

inspect <url>

URL 検査:Google による実際のインデックス登録状況を確認します。

スクリプト: python scripts/gsc_inspect.py <url> --json

返される情報:判定(PASS/FAIL)、カバレッジ状態、robots.txt の状態、インデックス登録状態、ページ取得状態、正規 URL の選択状況、モバイル ユーザビリティ、リッチリザルト。

inspect-batch <file>

ファイルから一括で検査します(1行につき URL を1つ指定)。サイトごとのレート制限は1日あたり2,000件です。

スクリプト: python scripts/gsc_inspect.py --batch <file> --json

sitemaps <property>

送信済みサイトマップのステータス、エラー、警告を一覧表示します。

スクリプト: python scripts/gsc_query.py sitemaps --property <property> --json


Indexing API

index <url>

URL の更新を Google に通知します。

スクリプト: python scripts/indexing_notify.py <url> --json リファレンス: references/indexing-api.md

Indexing API の公式な対象は JobPosting および BroadcastEvent/VideoObject ページです。この制限について、必ずユーザーに伝えてください。1日あたりの割り当ては publish リクエスト200件です。

index-batch <file>

ファイルから URL を一括送信します。割り当ての使用状況を追跡します。

スクリプト: python scripts/indexing_notify.py --batch <file> --json


GA4 トラフィック

すべての GA4 レポートでは、オプションの --page <path-or-url> フラグを指定して、レポートを単一のランディングページに絞り込めます(GA4 の landingPage ディメンションと完全一致します。完全な URL は自動的にパス部分だけに変換されます)。サイト全体ではなく「この記事の実績はどうか?」を知りたい場合は、必ず使用してください。

--report organic と --report top-pages では --channel <name|all> を指定できます。デフォルトは organic(オーガニック検索)です。チャネルフィルターを解除するには all を渡します(すべてのトラフィックソースを対象にページ全体の週次トレンドを確認する場合に必要です)。また、GA4 のデフォルト チャネル グループ(Direct、Referral、Paid Search、Organic Social など)をそのまま指定することもできます。

ga4 [property-id]

日次時系列のトラフィックレポート:セッション数、ユーザー数、ページビュー数、直帰率、エンゲージメント。

スクリプト: python scripts/ga4_report.py --property <id> --json リファレンス: references/ga4-data-api.md デフォルト: 過去 28 日間のデータを対象とし、Organic Search チャネルグループで絞り込みます。トラフィックを絞り込まずに取得するには、--channel all を指定します。

トラフィックの大半が Organic ではなく Direct または Referral の場合に、「この投稿は週ごとにどのように伸びているか?」に答えるのが、全チャネル版です。これは、AI が引用するコンテンツの典型的なケースです。例:--report organic --page /blog/best-ai-seo-tools/ --channel all --days 99。

ga4-pages [property-id]

指定したチャネル(デフォルトは Organic Search。全流入元を対象としたサイト全体の上位ページを取得するには、--channel all を指定)について、セッション数の多いランディングページを表示します。

スクリプト: python scripts/ga4_report.py --property <id> --report top-pages --json

ga4-referrals [property-id]

sessionSource ごとに分類したリファラーセッション数です。デフォルトでは、厳選した AI アシスタントのホスト名リストを使用します。OpenAI(chatgpt.com、chat.openai.com)、Anthropic(claude.ai)、Google (gemini.google.com、bard.google.com)、Microsoft(copilot.microsoft.com)、Perplexity (perplexity.ai)、Alibaba/Qwen(chat.qwen.ai、qwen.com、tongyi.aliyun.com)、Mistral (chat.mistral.ai)、DeepSeek(chat.deepseek.com)、xAI/Grok(grok.com、x.ai)に加え、 you.com / phind.com / poe.com が含まれます。そのため、「AI アシスタントは実際にどれくらいのトラフィックを送っているのか?」という疑問に、1 つのコマンドで答えられます。seo-ai-search-share-of-voice と seo-geo の AI 可視性データを現実の状況と照らし合わせるのに使ってください。リファラー数が測るのは、AI チャットでユーザーがリンクを共有した数であり、AI が自発的にあなたを引用しているかどうかではありません。

スクリプト: python scripts/ga4_report.py --property <id> --report referrals --json

ソースモード(--sources):

  • ai(デフォルト)— 厳選した AI アシスタントのホスト名リスト
  • all — Referral チャネルグループのすべてのソース
  • chatgpt.com,perplexity.ai,... — カンマ区切りで指定するソースのリスト

--page と組み合わせると、「この特定の投稿には AI からどれくらいのトラフィックがあったか?」に答えられます: --report referrals --page /blog/best-ai-seo-tools/。

ga4-channel-mix [property-id]

sessionDefaultChannelGroup(Direct / Organic Search / Referral / Paid Search / Organic Social / …)ごとに分類したセッション数です。チャネルでの絞り込みはありません。「このページへのトラフィックは実際にはどこから来ているのか?」を調べるための診断ビューです。各行には share_of_sessions の割合が含まれており、チャネル構成をひと目で確認できます。

スクリプト: python scripts/ga4_report.py --property <id> --report channel-mix --json

"この投稿は主にオーガニック検索で成果を上げているのか、それともトラフィックは別のところから来ているのか?" といった疑問に答えるレポートです。AI アシスタントからのトラフィックは、Referral ではなく(計測上の流入元が記録されない)Direct に分類されることがよくあります。そのため、公開から間もないコンテンツ中心のページで Direct の割合が高いこと自体が、AI 可視性のシグナルとなります。より全体像を把握するには、ga4-referrals と併用してください。

ページ単位の診断:--report channel-mix --page /blog/best-ai-seo-tools/ --days 90。

ga4-properties

サービスアカウントが読み取り可能な GA4 アカウントとプロパティをすべて一覧表示します。クライアントが複数の GA4 プロパティ(マーケティングサイトとアプリで分けている、または地域ごとに分けている場合が一般的です)を持ち、クエリ対象の property_id を確認する必要があるときは、ga4 / ga4-pages / ga4-referrals / ga4-channel-mix を実行する前に使ってください。出力では、親アカウントごとにプロパティをまとめます。property_id フィールドの数値を --property に渡してください。

スクリプト: python scripts/ga4_admin.py properties --json

Cloud プロジェクトで Google Analytics Admin API(Data API とは別の API)を有効にし、サービスアカウントに少なくとも 1 つのプロパティの閲覧者アクセス権を付与する必要があります。


YouTube(動画 SEO)

YouTube の言及は、AI 可視性との相関が最も強く(0.737)、無料で利用でき、必要なのは API キーのみです。

youtube <query>

YouTube で動画を検索します。タイトル、チャンネル、再生回数、高評価数、再生時間を返します。

スクリプト: python scripts/youtube_search.py search "<query>" --json リファレンス: references/youtube-api.md クォータ: 検索 1 回あたり 100 単位(無料枠は 1 日あたり 10,000 単位)。

youtube-video <video_id>

動画の詳細情報、タグ、上位 10 件のコメントを取得します。

スクリプト: python scripts/youtube_search.py video <video_id> --json クォータ: 2 単位(動画の詳細情報とコメント)。


NLP コンテンツ分析

Google 独自のエンティティ/感情分析です。E-E-A-T のスコアリングを強化します。

nlp <url-or-text>

NLP の完全な分析を行います。エンティティ、感情、コンテンツ分類を取得します。

スクリプト: python scripts/nlp_analyze.py --url <url> --json または --text "..." リファレンス: references/nlp-api.md 無料枠: 月あたり 5,000 単位。GCP プロジェクトで課金を有効にする必要があります。

entities <url-or-text>

エンティティの抽出のみを行います(処理が速く、クォータの消費も少なくなります)。

スクリプト: python scripts/nlp_analyze.py --url <url> --features entities --json


キーワード調査(Google Ads)

ゴールドスタンダードのキーワード検索ボリュームデータです。Google Ads アカウントが必要です。

keywords <seed>

シードキーワードからキーワード候補を生成します。

スクリプト: python scripts/keyword_planner.py ideas "<seed>" --json リファレンス: references/keyword-planner-api.md 必要なもの: 設定に Ads デベロッパートークンと顧客 ID(ティア 3)。

volume <keywords>

指定したキーワード(カンマ区切り)の検索ボリュームを取得します。

スクリプト: python scripts/keyword_planner.py volume "<kw1>,<kw2>" --json


補助機能

entity <query>

ナレッジグラフのエンティティを確認します。ブランドの存在を検証します。

リファレンス: references/supplementary-apis.md API キーを使用して Knowledge Graph Search API を利用します。

safety <url>

Web Risk API で、マルウェアやソーシャルエンジニアリングのフラグを確認します。

リファレンス: references/supplementary-apis.md

quotas

レート制限の表を表示します。references/rate-limits-quotas.md を読み込みます。


レポート

分析コマンドの実行後、PDF/HTML/XLSX レポートの生成を提案してください。

report <type>

グラフと分析情報を含む、プロフェッショナルな PDF/HTML/XLSX レポートを生成します。

スクリプト: python scripts/google_report.py --type <type> --data <json> --domain <domain> --format pdf

種類入力出力
cwv-auditPSI + CrUX + CrUX History データゲージ、タイムライン、分布を含む Core Web Vitals 監査
gsc-performanceGSC クエリデータクエリ表とすぐに実行できる改善策を含む Search Console レポート
indexation一括検査データカバレッジのドーナツチャート付きインデックス登録状況
fullすべてのデータを統合包括的な Google SEO レポート(全セクション)

ワークフロー:

  1. データ収集コマンド(pagespeed、gsc、inspect-batch など)を実行します
  2. JSON 出力をファイルに保存します:python scripts/pagespeed_check.py <url> --json > data.json
  3. レポートを生成します:python scripts/google_report.py --type cwv-audit --data data.json --domain <domain>

慣例: 分析が完了したら、「レポートを生成しますか? report <type> を使用してください。」と提案します。


レート制限

API分あたり日あたり認証
PSI v5240 QPM25,000 QPDAPI キー
CrUX + History150 QPM(共有)無制限API キー
GSC Search Analytics1,200 QPM/サイト30M QPDサービスアカウント
GSC URL Inspection600 QPM2,000 QPD/サイトサービスアカウント
Indexing API380 RPM公開 200 件/日サービスアカウント
GA4 Data API同時 10 件約 25K トークン/日サービスアカウント

スキル間の連携

  • seo-technical-audit — pagespeed_check.py を使用して実際の CWV フィールドデータを取得します。inspect を使用して、SE Ranking の監査で検出されたインデックス登録状況を確認します。
  • seo-page — gsc を介して、推定トラフィックを実際の GSC の query,page データに置き換えます。inspect を介してインデックス登録状況を確認します。
  • seo-drift — crux-history(25 週間の推移)と GSC の差分追跡をベースライン/比較スナップショットに追加します。
  • seo-sitemap — sitemaps コマンドで、Google が実際に処理したサイトマップとそのエラー/警告件数を確認できます(クロールのみを行う SE Ranking の監査とは異なります)。
  • seo-content-audit — nlp により、監査対象ページの E-E-A-T エンティティ/センチメントのスコアリングを強化します。gsc により、そのページがターゲットキーワードでインプレッションを獲得しているかを確認します。
  • seo-geo — gsc --ai-overview --page <url> を使うと、「この URL は AI Overview に表示されたか、またどのような成果を得たか」を Google 独自のデータで確認でき、SE Ranking の AIO 引用取得を補完できます。gsc --ai-overview --dimensions query,page と GEO の推奨事項を組み合わせ、URL ごとに成果を確認してください。
  • seo-ai-search-share-of-voice — ga4-referrals(chatgpt.com/perplexity.ai/gemini.google.com などからの下流トラフィック)と SoV の取得結果(上流の引用/ブランド言及の有無)を組み合わせると、AI での可視性を包括的に把握できます。SoV は LLM が自社を引用しているかを測定し、GA4 の参照トラフィックは、ユーザーが実際にクリックしてサイトにアクセスしたかを測定します。
  • seo-keyword-cluster / seo-keyword-niche — volume(Tier 3)を利用可能な場合、SE Ranking の検索ボリュームを Google Ads の標準となる検索ボリュームに置き換えます。
  • seo-plan — GSC と GA4 が設定されている場合、「現在の状況」のベースラインには、SE Ranking の推定値ではなく、実際のインプレッション数/クリック数/コンバージョン数を使用します。

出力形式

  • CWV 指標:信号機形式の評価(良好/改善が必要/不良)
  • パフォーマンスレポート:並べ替え可能な列を含む表
  • データの鮮度に関する注記を必ず記載
  • レポートを GOOGLE-API-REPORT-{domain}.md として保存
  • 構造化された出力には assets/templates/ のテンプレートを使用

技術的な注意事項

  • 2024 年 3 月 12 日に INP が FID に置き換わりました。FID には言及しないでください。
  • CrUX の CLS 値は文字列としてエンコードされています(例:「0.05」)。スクリプトが解析を処理します。
  • CrUX の 404 はトラフィック不足を意味し、認証エラーではありません。
  • Search Analytics のデータには 2~3 日の遅延があります。
  • CrUX では 2025 年 2 月に effectiveConnectionType が round_trip_time に置き換わりました。
  • Custom Search JSON API は 2025 年以降、新規顧客の受付を終了しています。

エラー処理

状況対応
認証情報が設定されていないsetup を実行します。API キーだけで動作する Tier 0 コマンドを一覧表示します。
サービスアカウントに GSC へのアクセス権がないエラーを報告します。次の手順を案内します:GSC > Settings > Users > Add で client_email を追加します。
CrUX データを利用できない(404)Chrome のトラフィックが不足していることを報告します。代替手段として PSI のラボデータを提案します。
GA4 プロパティが見つからないエラーを報告します。GA4 Admin > Property Details でプロパティ ID を確認する方法を示します。
Indexing API のクォータを超過した1 日あたり 200 件の上限を報告します。最も重要な URL を優先するよう提案します。
レート制限(429)待機し、指数バックオフで再試行します。制限に達した API を報告します。

コメント