【要約】Search Console の画面では「どのURLが未登録か」が分からない — URL Inspection API で全数調査する [Zenn_Python] | Summary by TechDistill
> Source: Zenn_Python
Execute Primary Source
// Problem
SEO担当者がインデックス状況を分析する際、標準レポートでは情報が不足する問題がある。UI上のレポートは件数と一部のサンプルしか示さないため、サイト全体の正確な実態を把握できない。具体的には以下の課題が存在する。
- ・「GoogleがURLを認識していない状態」がレポート上で集計対象外となり、見落とされる。
- ・未登録の原因が「コンテンツの質」か「クロール不足」かを正確に切り分けられない。
- ・サイト規模が大きい場合、手動での詳細確認は事実上不可能である。
// Approach
URL Inspection APIを活用し、サイト内の全URLに対して個別にインデックス状態を問い合わせる自動化スクリプトを実装する。APIから返される詳細なステータスに基づき、状況を分類する。具体的な手法は以下の通りである。
- ・
urlInspection.index.inspectAPIを叩き、URLごとのcoverageStateを取得する。 - ・Pythonの
concurrent.futures.ThreadPoolExecutorを用い、並列処理で調査を高速化する。 - ・ADC(Application Default Credentials)による認証を行い、安全にAPIへアクセスする。
- ・sitemap APIを併用し、古いsitemapエントリの管理も自動化する。
// Result
APIによる全数調査により、インデックス状況を「未発見」「クロール済み未登録」「インデックス済み」の3軸で定量的に把握できる。これにより、適切な施策判断が可能となる。
- ・「URL is unknown to Google」の検知により、クロールバジェットの問題を早期に特定できる。
- ・施策の誤認を防ぎ、コンテンツ改善かリンク構造改善かといった正しい打ち手を決定できる。
- ・sitemapの管理をAPI化することで、サイト構成変更時の運用ミスを低減できる。
Senior Engineer Insight
> 本手法は、SEOの意思決定を「勘」から「データ」へ昇華させる実戦的なアプローチだ。ただし、APIクォータ(1日2000件)の制約があるため、大規模サイトでは分割実行やサンプリング戦略が必須となる。また、並列度を上げすぎると429エラーを招くため、レートリミットを考慮した実装が求められる。単なる調査に留めず、定点観測のパイプラインとして組み込み、インデックス率の低下を検知する監視システムとして運用するのが理想的だ。