URL Inspection API×GASでインデックス状況を自動一括チェックするスプレッドシート

URL Inspection API×GASでインデックス状況を自動一括チェックするスプレッドシート
この記事のポイント
  • URL Inspection APIでインデックス状態を一括チェックできる無料ツール
  • インデックス有無・最終クロール日時・正規URLなど11項目を取得可能
  • 自動実行を設定すれば毎日インデックス状態を監視できる
  • 1日2,000リクエストまで無料で利用可能
  • GCPプロジェクト作成とOAuth設定で初期セットアップが完了する

複数URLのインデックス状況をまとめてチェックするなら、GoogleのURL Inspection APIが便利です。

URL Inspection APIは、Search Consoleの「URL検査」をプログラムから実行できるGoogle公式のAPI。 インデックスの有無や最終クロール日時、Googleが選んだ正規URLなど、全部で11項目を一括取得できます。

この記事では、Inspection APIを使った無料のチェックツール(スプレッドシート)を配布しています。 自動実行を設定しておけば毎日チェックが走るので、インデックス漏れにも早めに気づけるようになります。

Inspection APIを使ったインデックス状況チェックツール Inspection APIを使ったインデックス状況チェックツール

チームでの共有もしやすいため、サイト移行後のチェックや定期的なインデックス監視を効率化したい方は、ぜひご活用ください。

Inspection APIのリクエスト制限(2,000クエリ/日)がありますが、無料で利用できます。

\ もっと簡単にインデックス管理したいなら /

inSite(インサイト)

サイト内のページのインデックス状態を毎日自動でチェック。どれだけのページがインデックスされていないのか、原因は何なのか、クローラーは定期的に来ているのかといった情報を常に監視できます。

inSiteのインデックス状態チェック機能のダッシュボード

ページのインデックス率向上やリライトの効率化にぜひお試しください。

無料で試してみる ↗

URL Inspection APIとは?

URL Inspection APIは、Search Consoleの「URL検査」機能をプログラムから実行できるGoogle公式のAPIです。

通常、インデックス状況を確認するにはSearch Consoleを開いて1件ずつURLを入力する必要がありますが、このAPIを使えばスプレッドシートやスクリプトから一括でデータを取得できます。

Search Console APIの機能の一つとして提供されており、利用は無料ですが、1日あたり2,000リクエストの上限があります。

Google Search Console APIでできることや使い方については、「Google Search Console APIとは?できること4つと使い方を解説」で詳しく解説しています。

URL Inspection APIで取得できる4つの検査結果

URL Inspection APIでは、以下4種類の検査結果を取得できます。

検査項目内容備考
インデックスステータスインデックス登録状況、クロール日時、正規URLなど本ツールで取得
AMPAMPページの検査結果、AMP固有のエラーAMPページのみ
モバイルユーザビリティモバイル対応状況の検査結果現在は非推奨
リッチリザルト構造化データの検出結果、リッチリザルトの問題構造化データがある場合のみ

それぞれ詳しく見ていきます。

インデックスステータス(IndexStatusInspectionResult)【本ツールで取得】

Inspection APIを使ったインデックス状況チェックツール Inspection APIを使ったインデックス状況チェックツール

ページがGoogleにインデックスされているかどうか、クロールの状況はどうかなど、SEOの基本となる情報を取得できます。本ツールではこの情報を取得しています。

項目内容
verdictインデックス登録の総合判定(有効 / エラー / 除外 など)
coverageStateGoogleがページを検出してインデックス登録できたかどうか
robotsTxtStaterobots.txtでクロールがブロックされていないか
indexingStatenoindexでインデックス登録がブロックされていないか
lastCrawlTimeGoogleが最後にクロールした日時
pageFetchStateページ取得の状態(成功 / 404 / 5xxエラー など)
googleCanonicalGoogleが正規として選択したURL
userCanonicalサイト側でcanonicalとして指定したURL
sitemapこのURLが記載されているサイトマップ
referringUrlsこのURLにリンクしている参照元URL
crawledAsクロールに使用されたユーザーエージェント(デスクトップ / モバイル)

各項目の詳細な値については「取得データの見方」で解説しています。

インデックスされていないページ数は、サーチコンソールで簡易的にチェックできます。詳しくは「「インデックスに登録されていないページ数」の確認方法と対処法」を参考にしてください。

AMP(AmpInspectionResult)

AMPページを持つサイトの場合、AMP固有の検査結果を取得できます。AMPページがない場合、このデータは返されません。

項目内容
verdictAMPとしての総合判定
ampUrl検査されたAMPページのURL
robotsTxtStaterobots.txtでブロックされていないか
indexingStatenoindexでインデックス登録がブロックされていないか
ampIndexStatusVerdictAMP URLのインデックス登録ステータス
lastCrawlTimeAMPページが最後にクロールされた日時
pageFetchStateGoogleがAMPを取得できたかどうか
issues検出されたAMPの問題と重大度(WARNING / ERROR)

モバイルユーザビリティ(MobileUsabilityInspectionResult)

モバイルユーザビリティの検査結果を取得できます。

項目内容
verdictモバイルユーザビリティの総合判定
issues検出された問題のリスト

※この項目は現在非推奨となっています。

リッチリザルト(RichResultsInspectionResult)

ページに構造化データがある場合、リッチリザルトの検査結果を取得できます。構造化データがない場合、このデータは返されません。

項目内容
verdictリッチリザルトの総合判定
detectedItems検出されたリッチリザルトのリスト(タイプ別にグループ化)
inSite inSite

本記事で配布する無料ツールは、インデックスステータス(IndexStatusInspectionResult)を用いたインデックス状態チェックツールになります。

【無料配布】URL Inspection APIを使ったチェックツールの初期設定方法

設定はそんなに難しくありません。以下の解説をもとに、ひとつずつ設定していきましょう。

セットアップ手順
  1. スプレッドシートのコピー(無料配布)
  2. Google Cloud PlatformでInspection APIの利用設定
  3. Google Apps Scriptの設定
  4. 初回実行時の権限設定
  5. ドメインとURLの入力

事前準備として、以下が準備できていることを確認したうえで、設定を進めてください。

項目説明
GoogleアカウントスプレッドシートとGCPで同じアカウントを使用
Search Consoleアカウントチェック対象サイトが登録済み
管理者権限対象サイトでの所有者または管理者権限

①スプレッドシートのコピー

まずは以下の手順でテンプレートを入手してください。

STEP 1
下のボタンからフォームに必要情報を入力(15秒で完了)
STEP 2
届いたメールに記載のコピーリンクからスプレッドシートをコピー
STEP 3
分かりやすい名前に変更(例:「Search Console インデックス状態チェックツール(〇〇ブログ)」)

\ 15秒で簡単入力 & 無料でもらえる /

無料でツールをもらう

※フォーム送信後、コピーリンク付きのメールが届きます。

②GCPプロジェクトの作成とInspection APIの有効化

次に、Google Cloud Platformでプロジェクトを作成し、「Search Console API(Inspection API)」を有効化しましょう。

「Search Console API」の機能のひとつとして、Search Consoleのインデックス状態を取得できる「Inspection API」を使用できます。

初めてGCPを使う方へ
  • Google Cloud Platformは、Googleが提供するクラウドサービスです
  • 今回はAPIの利用権限を得るために使用します(無料で利用可能)

Google Cloud Platformからコンソールを開く

まずは「Google Cloud Platform」を開いてください。

※Googleのアカウントを持っていない人は作成してください(≫Googleアカウント作成

その後、右上の「コンソール」をクリックしてください。

GCPを開き、コンソールをクリック GCPを開き、コンソールをクリック

以下のような画面が表示されればOKです。

GCPコンソールのトップ画面 GCPコンソールのトップ画面

GCPプロジェクトの作成

次に、GCPプロジェクトの作成を行いましょう。

まず、Google Cloudのロゴ右側にあるボックスをクリックしてください。

GCPプロジェクトの作成-1 GCPプロジェクトの作成-1

その後、開かれたモーダルの右上にある「新しいプロジェクト」をクリックしてください。

GCPプロジェクトの作成-2 GCPプロジェクトの作成-2

その後、プロジェクト名にわかりやすい名前をつけましょう。(今回は「Inspection API」とします。)

GCPプロジェクトの作成-3 GCPプロジェクトの作成-3
GCPプロジェクトの作成-4 GCPプロジェクトの作成-4

左上のボックスが、作成したプロジェクト名「Inspection API」になっていればプロジェクトの作成は完了です。 作成したプロジェクト名になっていない場合は、左上のボックスをクリックして変更してください。

「Search Console API」の有効化

次に、「Search Console API」の有効化を行いましょう。

まずは、画面左上のハンバーガーメニューをクリックしてください。

Search Console APIの有効化-1 Search Console APIの有効化-1

次に、「APIとサービス > ライブラリ」をクリックしてください。

Search Console APIの有効化-2 Search Console APIの有効化-2

上記の方法で「APIとサービス」にアクセスできない場合は、ダッシュボードの「クイックアクセス > APIとサービス」をクリックしてください。

Search Console APIの有効化-3 Search Console APIの有効化-3

その後、画面左側のタブから「ライブラリ」をクリックしてください。

次に、検索バーに Search Console API と入力し、検索してください。

Search Console APIの有効化-4 Search Console APIの有効化-4

その後、Search Console APIの詳細画面に移動し、「有効化」をクリックしてください。

Search Console APIの有効化-5 Search Console APIの有効化-5
Search Console APIの有効化-6 Search Console APIの有効化-6
Search Console APIの有効化-7 Search Console APIの有効化-7

上の画像のように**「APIとサービス > 有効なAPIとサービス >」内に「Search Console API」が表示されていれば、APIの有効化は完了です。**

OAuth同意画面の設定

次にプロジェクトのOAuth同意画面の設定を行いましょう。

OAuth同意画面を設定することで、スプレッドシートからInspection APIを利用できるようになります。

まずは、上部の検索バーに OAuth と入力して、「OAuth同意画面」をクリックしてください。

OAuth同意画面の設定-1 OAuth同意画面の設定-1

以下の画面が表示されたら「開始」をクリックしてください。

OAuth同意画面の設定-2 OAuth同意画面の設定-2

アプリ名に Inspection API、ユーザーサポートメールに Googleアカウントのメールアドレス を入力して「次へ」をクリックしてください。

OAuth同意画面の設定-3 OAuth同意画面の設定-3

外部 を選択して「次へ」をクリックしてください。

外部 を選択してテストユーザーに許可したユーザーのみを登録すれば、他の人に使われる心配がなくなります。

OAuth同意画面の設定-4 OAuth同意画面の設定-4

メールアドレスに ご自身のメールアドレス を入力して「次へ」をクリックしてください。

OAuth同意画面の設定-5 OAuth同意画面の設定-5

最後に Google APIサービス: ユーザーデータに関するポリシー を確認し、問題なければチェックマークを付けて「作成」をクリックしてください。

OAuth同意画面の設定-6 OAuth同意画面の設定-6

これでOAuth同意画面の設定が完了となります。

テストユーザーの登録

次にテストユーザーを登録しましょう。

テストユーザーに任意のユーザーを登録することで、デプロイせずにAPIを使用できます。

まず、サイドバーの「対象」をクリックし、「+Add users」をクリックしてください。

テストユーザーの登録-1 テストユーザーの登録-1

次に テストユーザーに登録したいGoogleアカウントのメールアドレス を入力して「保存」をクリックしてください。複数のメールアドレスを登録することもできます。(100件まで)

テストユーザーの登録-2 テストユーザーの登録-2

ユーザー情報にメールアドレスが記載されていれば登録完了です。

テストユーザーの登録-3 テストユーザーの登録-3
注意
  • 登録したGoogleアカウント以外では実行できません

プロジェクト番号のコピー

最後に、上部の検索バーに Inspection API と入力し、先ほど作成したプロジェクトのトップページに移動してください。

そこに表示されるプロジェクト番号をコピーしておきましょう。

このプロジェクト番号は、スプレッドシートと連携させるために後で使います。

プロジェクト番号のコピー-1 プロジェクト番号のコピー-1
プロジェクト番号のコピー-2 プロジェクト番号のコピー-2

③Google Apps Scriptの設定

次にGoogle Apps Script(GAS)の設定を行いましょう。 ここでは、「appsscript.jsonの表示設定」と「GCPプロジェクト番号の入力(APIの連携)」を行います。

まずは以下の手順でApps Scriptエディタを開いてください。

STEP 1
先ほどコピーしたスプレッドシートを開く
STEP 2
上部のメニューから「拡張機能」→「Apps Script」をクリック
STEP 3
新しいタブでApps Scriptエディタが開きます

appsscript.jsonの表示設定

appsscript.jsonを表示させるため、左側のサイドバーから「プロジェクトの設定(歯車マーク)」を開いてください。

その後、「appsscript.json」マニフェスト ファイルをエディタで表示する にチェックを入れてください。

appsscript.jsonの表示設定 appsscript.jsonの表示設定

GCPプロジェクト番号の入力(APIの連携)

GCPのプロジェクト番号に、先ほどコピーしておいたプロジェクト番号を入力してください。

GCPプロジェクト番号の入力 GCPプロジェクト番号の入力

正常に保存されればGASで行う設定は完了です。

④初回実行時の権限設定

次に初回実行時の権限許可の方法について解説します。

スプレッドシートを更新する

スプレッドシートに戻り、再読み込みしてください。

その後、上部に「インデックス状況チェック」というメニューが表示されていることを確認してください。

スプレッドシートの更新とメニュー追加の確認 スプレッドシートの更新とメニュー追加の確認

権限の承認

次に、「インデックス状況チェック」→「手動実行」をクリックしてください。

権限の承認-1 権限の承認-1

「OK」をクリックしてください。

権限の承認-2 権限の承認-2

Googleアカウントを選択してください。

権限の承認-3 権限の承認-3

「続行」をクリックしてください。

権限の承認-4 権限の承認-4

「すべて選択」にチェックを入れて、「続行」をクリックしてください。

権限の承認-5 権限の承認-5

以下のように**「C7セルに対象ドメインを入力してください」というエラーが表示されれば、正しく動作しています。**

権限の承認-6 権限の承認-6

⑤ドメイン・URLの入力とテスト

次に、ドメインとURLを入力してテストを行いましょう。

以下のように、C7セルにドメインを、C12:CにチェックしたいURLを入力してください。

ドメイン・URLの入力とテスト-1 ドメイン・URLの入力とテスト-1

入力が完了したら、テストを行ってみましょう。「手動実行」または「自動実行を開始」をクリックしてみてください。

少し時間をおいて、以下のようにチェック結果列に情報が入力されたら、無事にツールが使える状態になっています。

ドメイン・URLの入力とテスト-2 ドメイン・URLの入力とテスト-2

インデックス一括チェックツールの使い方

インデックス状態チェックツールには以下の機能があります。

チェックツールの機能
  • 自動実行機能
  • 手動実行機能
  • データをクリアと処理位置のリセット

基本的には自動チェック機能のみ使用すればOKです。

自動実行機能

以下の設定を行うと、自動実行機能を使用できます。

自動実行機能の設定方法
  1. メニュー「自動実行を開始」をクリック
  2. C8セルが「自動実行OFF」から「自動実行ON」(緑色)に変わる
  3. 確認メッセージ「10分ごとに自動実行されます」が表示

自動実行ONにすると、以下のように動作します。

自動実行機能の動作
  1. 前回の続きから最大30件ずつチェック済みかどうかを確認
  2. 今日既にチェック済みの行はスキップ
  3. 新しく追加されたURLは優先的に処理

URLを新しく追加すると、次の自動実行で必ずチェックされます。すべて最新の場合はチェックされないようになっています。

自動実行を止めたい場合は、以下の手順で停止してください。

自動実行を停止する方法
  1. メニュー「自動実行を停止」をクリック
  2. C8セルが「自動実行OFF」(赤色)に戻る

URLの大幅な追加・削除を行う時やしばらくチェックが不要な時、手動で処理を行いたい時に停止するようにしましょう。

手動実行機能

手動実行を行うには、メニュー「インデックス状況チェック」→「手動実行」をクリックしてください。正常に動作した場合は以下の処理が行われます。

手動実行が正常動作した場合
  1. C12セルに実行日時が記録される
  2. D12〜N12に各種データが表示される
  3. 「処理完了:1件のURLをチェックしました」というメッセージが表示

データクリアと処理位置リセット

2種類のリセット機能があります。

データをクリアして処理位置リセット

新しいプロジェクトを始める時や古いデータを全部削除したい時など、一からやり直したい時に使います。

実行される処理
  • B12以降の全データが削除される
  • 処理位置が最初(12行目)にリセットされる
  • 次回実行時は最初から順次処理

処理位置のみリセット

データは残して、最初から再チェックしたい時やエラーが多発した時の再処理、全URLを強制的に再取得したい時に使用します。

実行される処理
  • データは保持したまま
  • 処理位置だけが最初にリセットされる
  • 次回実行時は全URLが再チェック対象に

URL Inspection APIで取得できるデータの見方

URL Inspection APIを用いて、インデックス状態チェックツールで取得できる各データの見方を解説します。

※参考: Google Search Console API UrlInspectionResult

1. 判定結果(verdict)

総合的なインデックス登録状況の判定結果です。

意味Search Console表記説明
PASS成功有効ページが正常にインデックス登録されている
FAIL失敗エラー・無効重大な問題があり、インデックス登録されていない
NEUTRAL中立除外インデックス登録されていないが、問題はない
PARTIAL部分的予約済み(現在未使用)
VERDICT_UNSPECIFIED不明判定結果が不明

2. robots.txt状態(robotsTxtState)

robots.txtファイルによるアクセス制御の状態です。

意味説明
ALLOWED許可robots.txtでクロールが許可されている
DISALLOWED拒否robots.txtによってクロールがブロックされている
ROBOTS_TXT_STATE_UNSPECIFIED不明robots.txtの状態が不明(アクセスできない等)

3. インデックス状態(indexingState)

ページのインデックス登録可否の状態です。

意味説明
INDEXING_ALLOWED許可インデックス登録が許可されている
BLOCKED_BY_META_TAGメタタグでブロックrobotsメタタグで「noindex」が検出された
BLOCKED_BY_HTTP_HEADERHTTPヘッダーでブロックX-Robots-Tagヘッダーでnoindexが検出された
BLOCKED_BY_ROBOTS_TXTrobots.txtでブロック予約済み(現在未使用)
INDEXING_STATE_UNSPECIFIED不明インデックス登録ステータスが不明

4. ページ取得状態(pageFetchState)

Googleがページを取得できたかどうかの状態です。

意味HTTPステータス説明
SUCCESSFUL成功200ページの取得に成功
SOFT_404ソフト404200だが内容が404正常応答だが404エラーページの内容
NOT_FOUND未発見404ページが見つからない
ACCESS_DENIEDアクセス拒否401認証が必要(未承認)
ACCESS_FORBIDDENアクセス禁止403アクセスが禁止されている
SERVER_ERRORサーバーエラー5xxサーバー側の内部エラー
BLOCKED_ROBOTS_TXTrobots.txtブロックrobots.txtによってブロック
BLOCKED_4XXその他4xxエラー4xx403、404以外の4xxエラー
REDIRECT_ERRORリダイレクトエラー3xxリダイレクトの問題
INTERNAL_CRAWL_ERROR内部クロールエラーGoogle側の内部エラー
INVALID_URL無効なURLURLの形式が無効
PAGE_FETCH_STATE_UNSPECIFIED不明取得状態が不明

5. クロールbot(crawledAs)

Googleがサイトクロールに使用したユーザーエージェントの種類です。

意味説明
DESKTOPデスクトップデスクトップ用のGooglebotでクロール
MOBILEモバイルモバイル用のGooglebotでクロール
CRAWLING_USER_AGENT_UNSPECIFIED不明ユーザーエージェントが不明

6. その他の項目

項目説明
coverageStateGoogleがページを検出してインデックスに登録できたかどうかの詳細状態
googleCanonicalGoogleが選択した正規URL
userCanonicalサイト側で指定した正規URL
lastCrawlTime最終クロール日時(RFC3339形式)
sitemap[]このURLが記載されているサイトマップのリスト
referringUrls[]このURLにリンクしているページのリスト

Inspection API利用時のよくあるエラーと対処法

よくあるエラーと対処方法は以下のとおりです。

「C7セルに対象ドメインを入力してください」

原因
  • C7セルが空、またはURL形式が間違っている
対処法
  • ❌ example.com(プロトコルなし)
  • ❌ https://example.com(末尾スラッシュなし)
  • ✅ https://example.com/(正しい形式)

「このアプリは確認されていません」警告が再表示

原因
  • 権限設定が完了していない、または期限切れ
対処法
  1. 「詳細設定」をクリック
  2. 「安全ではないページに移動」をクリック
  3. 権限を再度許可

この警告は自作スクリプトに対する一般的な警告です。

APIエラーが連続発生

原因
  • Search Consoleにサイトが未登録
  • API使用量の制限に達している
  • 一時的なGoogleサービスの不調
対処法
  1. Search Consoleでサイト登録を確認
  2. 1時間程度時間を置いてから再実行
  3. 自動実行を一時停止して様子を見る

処理が全く進まない

原因
  • 既に今日処理済みのURLばかりで、新しく処理すべきURLがない
対処法
  • 「処理位置のみリセット」で最初から再チェック

URL Inspection APIに関するよくある質問

よくある質問に回答します。

無料で使えますか?
完全無料です。Google Search Console APIも無料枠内で利用できます。
どのくらいのURLまで対応できますか?
GASでの実行自体に制限はありませんが、1日2,000リクエストまでというSearch Console APIの制限があります。

GASのリクエスト制限により大量処理には時間がかかります。数百件程度なら実用的に利用できるでしょう。
他の人と共有できますか?
スプレッドシートの共有機能を使って、チームで利用可能です。

ただし、自動実行以外の機能は、各自でGCPの設定が必要です。
Search Console APIの制限はありますか?
1日当たり2,000リクエストの制限があります。通常利用では問題ありません。
データはどこに保存されますか?
Googleスプレッドシート上にのみ保存されます。外部への送信はありません。
セキュリティは大丈夫ですか?
あなたのGoogleアカウントとSearch Consoleデータにのみアクセスし、外部への送信は行いません。
急に動かなくなりました
Googleのサービス更新により一時的に影響を受ける場合があります。しばらく時間を置いて再実行してください。

まとめ

この記事のポイント
  • URL Inspection APIでインデックス状態を一括チェックできる無料ツール
  • インデックス有無・最終クロール日時・正規URLなど11項目を取得可能
  • 自動実行を設定すれば毎日インデックス状態を監視できる
  • 1日2,000リクエストまで無料で利用可能
  • GCPプロジェクト作成とOAuth設定で初期セットアップが完了する

このツールを導入することで、これまで手作業で行っていたインデックス確認作業を大幅に効率化できるでしょう。

こんな方におすすめ
  • 複数のURLのインデックス状況を定期的にチェックしたい
  • サイトリニューアルやドメイン移行の影響を数値で把握したい
  • SEO施策の効果を定量的に測定したい
  • チームでインデックス状況を共有・管理したい

Search Console APIの仕様上、リアルタイムでの大量処理はできませんが、自動実行機能と順次処理により実用的なレベルで活用していただけるはずです。

設定は少し複雑に感じるかもしれませんが、一度設定すれば長期間安定して利用できます。分からない点があっても、手順通りに進めれば必ず完了できるので、ぜひ挑戦してみてください。

\ もっと簡単にインデックス管理したいなら /

inSite(インサイト)

サイト内のページのインデックス状態を毎日自動でチェック。どれだけのページがインデックスされていないのか、原因は何なのか、常に監視できます。

inSiteのインデックス状態チェック機能のダッシュボード 無料で試してみる ↗
共有:

関連記事

サイト管理の手間を、ほぼゼロに。

内部リンク・記事情報・インデックス状況を自動で可視化