Blog Google: Google APIデータによるブログパフォーマンス分析
GoogleのSEO APIに直接アクセスし、ブログのパフォーマンスを分析します。実際のChromeユーザーメトリクス、インデックス状況、検索パフォーマンス、エンティティ分析、YouTube動画発見、キーワードボリューム、PDF/HTMLパフォーマンスレポートを提供します。
すべてのAPIは通常の使用レベルでは無料です。セットアップには、APIキーやサービスアカウントを持つGoogle Cloudプロジェクトが必要です。
前提条件
コマンドを実行する前に必ず認証情報を確認してください:
python3 skills/blog-google/scripts/run.py google_auth --check --json
設定ファイル: ~/.config/claude-seo/google-api.json(claude-seoと共有)
{
"api_key": "AIzaSy...",
"oauth_client_path": "/path/to/client_secret.json",
"default_property": "sc-domain:example.com",
"ga4_property_id": "properties/123456789",
"ads_developer_token": "...",
"ads_customer_id": "123-456-7890"
}
ない場合は、references/auth-setup.md を読み、ユーザーをセットアップ手順に導いてください。
認証レベル
| レベル | 検出条件 | 利用可能なコマンド |
|---|---|---|
| 0 (API キー) | api_key が存在 | pagespeed, crux, crux-history, youtube, nlp |
| 1 (OAuth/SA) | + OAuthトークンまたはサービスアカウント | レベル0 + gsc, inspect, index |
| 2 (フル) | + ga4_property_id 設定済み | レベル1 + ga4 |
| 3 (広告) | + ads_developer_token + ads_customer_id | レベル2 + keywords |
コマンドを実行する前に、必ず検出されたレベルをユーザーに伝えてください。
クイックリファレンス
| コマンド | 説明 | レベル |
|---|---|---|
/blog google setup | API認証情報の確認/設定 | -- |
/blog google pagespeed <url> | PSI Lighthouse + CrUXフィールドデータ | 0 |
/blog google crux <url> | CrUXフィールドデータのみ(p75メトリクス) | 0 |
/blog google crux-history <url> | 25週間のCWVトレンド分析 | 0 |
/blog google youtube <query> | YouTube動画検索(再生回数、いいね、再生時間) | 0 |
/blog google nlp <url-or-text> | NLPエンティティ抽出 + 感情分析 | 0 |
/blog google gsc <property> | Search Console: クリック数、インプレッション数、CTR、掲載順位 | 1 |
/blog google inspect <url> | URL検査: インデックス状況、正規URL | 1 |
/blog google index <url> | URLをIndexing APIに送信 | 1 |
/blog google ga4 [property-id] | GA4オーガニックトラフィックレポート | 2 |
/blog google keywords <seed> | Google Adsキーワードプランナーによるキーワード案 | 3 |
/blog google report <type> | PDF/HTMLパフォーマンスレポート | -- |
/blog google quotas | すべてのAPIのレート制限を表示 | -- |
PageSpeed + CrUX
/blog google pagespeed <url>
公開されたブログ記事の、LighthouseラボデータとCrUXフィールドデータを組み合わせて表示します。
スクリプト: python3 skills/blog-google/scripts/run.py pagespeed_check <url> --json
参照: references/api-reference.md
出力は、ラボスコア(Lighthouseの時点計測)とフィールドデータ(28日間のChromeユーザーメトリクス)を統合します。CrUXはまずURLレベルを試し、失敗した場合はオリジンレベルにフォールバックします。
/blog google crux <url>
CrUXフィールドデータのみ(Lighthouse実行なし)。より高速です。
スクリプト: python3 skills/blog-google/scripts/run.py pagespeed_check <url> --crux-only --json
/blog google crux-history <url>
25週間のCrUX履歴トレンド。CWVメトリクスが改善しているか、安定しているか、または悪化しているかを示します。
スクリプト: python3 skills/blog-google/scripts/run.py crux_history <url> --json
Search Console
/blog google gsc <property>
検索アナリティクス: 過去28日間のクリック数、インプレッション数、CTR、掲載順位。
スクリプト: python3 skills/blog-google/scripts/run.py gsc_query --property <property> --json
デフォルト: 28日間、ディメンション=クエリ,ページ、タイプ=ウェブ、制限=1000。
クイックウィンの検出を含みます: 掲載順位4~10位かつインプレッション数の多いクエリ。
/blog google inspect <url>
URL検査: Googleからの実際のインデックス状況。
スクリプト: python3 skills/blog-google/scripts/run.py gsc_inspect <url> --json
戻り値: 判定(PASS/FAIL)、カバレッジ状態、robots.txtステータス、インデックス状態、ページ取得状態、正規URL選択、モバイルユーザビリティ、リッチリザルト。
バッチ検査: python3 skills/blog-google/scripts/run.py gsc_inspect --batch <file> --json
Indexing API
/blog google index <url>
URLの更新をGoogleに通知します。新しいブログ記事を迅速にインデックス登録するために送信します。
スクリプト: python3 skills/blog-google/scripts/run.py indexing_notify <url> --json
参照: references/api-reference.md
Indexing APIは公式にはJobPostingおよびBroadcastEvent/VideoObjectページ向けです。この制限について必ずユーザーに伝えてください。1日の割り当て: 公開リクエスト200件。
バッチ: python3 skills/blog-google/scripts/run.py indexing_notify --batch <file> --json
GA4トラフィック
/blog google ga4 [property-id]
オーガニックトラフィックレポート: 1日あたりのセッション数、ユーザー数、ページビュー数、直帰率、エンゲージメント率。
スクリプト: python3 skills/blog-google/scripts/run.py ga4_report --property <id> --json
デフォルト: 28日間、オーガニック検索チャネルグループにフィルタリング。
上位ランディングページ: python3 skills/blog-google/scripts/run.py ga4_report --property <id> --report top-pages --json
YouTube(動画発見)
YouTubeでの言及は、AIの可視性と最も強い相関関係があります(0.737、Ahrefs 75Kブランド調査)。無料でAPIキーのみが必要です。動画埋め込みのためにblog-writeおよびblog-rewriteで使用されます。
/blog google youtube <query>
ブログトピックに関連する動画をYouTubeで検索します。
スクリプト: python3 skills/blog-google/scripts/run.py youtube_search search "<query>" --json
割り当て: 検索あたり100ユニット(1日あたり10,000ユニット無料)。
戻り値: タイトル、チャンネル、再生回数、いいね数、再生時間、説明、タグ。
動画詳細 + コメント: python3 skills/blog-google/scripts/run.py youtube_search video <video_id> --json
NLPコンテンツ分析
Google独自のエンティティ/感情分析。ブログコンテンツのE-E-A-Tスコアを強化します。
/blog google nlp <url-or-text>
完全なNLP分析: エンティティ、感情、コンテンツ分類。
スクリプト: python3 skills/blog-google/scripts/run.py nlp_analyze --url <url> --json
無料枠: 月5,000ユニット。GCPプロジェクトで課金を有効にする必要があります。
エンティティ抽出のみ: python3 skills/blog-google/scripts/run.py nlp_analyze --url <url> --features entities --json
キーワード調査(Google Ads)
ゴールドスタンダードなキーワードボリュームデータ。Google Adsアカウントが必要です(Tier 3)。
/blog google keywords <seed>
シード語句からブログトピック調査のためのキーワード案を生成します。
スクリプト: python3 skills/blog-google/scripts/run.py keyword_planner ideas "<seed>" --json
ボリューム検索: python3 skills/blog-google/scripts/run.py keyword_planner volume "<kw1>,<kw2>" --json
レポート
/blog google report <type>
グラフ付きのプロフェッショナルなPDF/HTMLレポートを生成します。
スクリプト: python3 skills/blog-google/scripts/run.py google_report --type <type> --data <json> --domain <domain> --format pdf
| タイプ | 入力 | 出力 |
|---|---|---|
cwv-audit | PSI + CrUX + CrUX履歴データ | ゲージ、タイムライン付きCore Web Vitals監査 |
gsc-performance | GSCクエリデータ | クエリテーブル付きSearch Consoleレポート |
indexation | バッチ検査データ | カバレッジドーナツグラフ付きインデックス状況 |
full | すべてのデータを結合 | 包括的なGoogle SEOレポート |
注意: PDF生成にはシステムライブラリが必要です: sudo apt install libpango1.0-dev libcairo2-dev。
weasyprintが利用できない場合はHTMLにフォールバックします。
レート制限
| API | 1分あたり | 1日あたり | 認証 |
|---|---|---|---|
| PSI v5 | 240 QPM | 25,000 QPD | API キー |
| CrUX + History | 150 QPM(共有) | 無制限 | API キー |
| GSC Search Analytics | 1,200 QPM/サイト | 30M QPD | サービスアカウント |
| GSC URL Inspection | 600 QPM | 2,000 QPD/サイト | サービスアカウント |
| Indexing API | 380 RPM | 200 公開/日 | サービスアカウント |
| GA4 Data API | 10 同時接続 | ~25K トークン/日 | サービスアカウント |
| YouTube Data | -- | 10,000 ユニット/日 | API キー |
| NLP API | -- | 5,000 ユニット/月 | API キー(課金必要) |
詳細な割り当て管理については references/rate-limits-quotas.md を参照してください。
ブログワークフロー統合
このスキルはユーザーが直接呼び出せる(/blog google pagespeed)だけでなく、他のブログサブスキルから内部的に呼び出すこともできます:
- blog-seo-check: 公開された記事URLに対してPSI + CrUXを実行し、実際のCWVデータを取得
- blog-rewrite: NLPエンティティ分析により、E-E-A-Tエンティティのギャップを特定
- blog-geo: GSCパフォーマンスデータから実際の検索表示状況の洞察を取得
- blog-audit: 公開されたすべてのブログURLに対してバッチCWV + インデックスチェックを実行
- blog-write / blog-rewrite: 動画埋め込みのためのYouTube検索
認証情報が設定されていない場合は、適切にフォールバックします。
技術ノート
- INPは2024年3月12日にFIDを置き換えました。FIDを参照しないでください。
- CrUXのCLS値は文字列エンコードされています(例: "0.05")。スクリプトがパース処理を行います。
- CrUX 404 = Chromeのトラフィック不足であり、認証エラーではありません。
- Search Analyticsのデータには2~3日の遅延があります。
- Indexing APIは公式にはJobPosting/BroadcastEventページのみを対象としています。
- 使用されるすべてのGoogle APIは、通常の使用レベルでは無料です。
エラーハンドリング
| シナリオ | 対応 |
|---|---|
| 認証情報が設定されていない | /blog google setup を実行。Tier 0コマンド(APIキーのみ)をリスト表示。 |
| サービスアカウントにGSCアクセスがない | client_email をGSC > 設定 > ユーザー > 追加 に追加。 |
| CrUXデータが利用不可(404) | Chromeのトラフィック不足。フォールバックとしてPSIラボデータを使用。 |
| GA4プロパティが見つからない | GA4管理 > プロパティの詳細 でプロパティIDを確認。 |
| Indexing APIの割り当て超過 | 200/日の制限。最も重要なURLを優先。 |
| レート制限(429) | 待機し、指数バックオフで再試行。 |