運用・診断編:インデックス問題の診断フローと
継続的なクローラー管理

robots.txtとsitemap.xmlは「設定したら終わり」ではありません。サイトの成長とともにページが追加・削除され、リニューアルが入り、新しいAIクローラーが登場します。本章では、問題が起きたときに素早く原因を特定できる診断フロー、変更管理の仕組み、そして継続的な監視体制の構築方法を解説します。

1. Google Search Console の深い使い方

① URL検査・ページレポート・サイトマップ・クロール統計の使い分け

日常的に使う機能は「URL検査」「インデックス作成 > ページ」「サイトマップ」「クロールの統計情報」です。それぞれ確認できる情報の粒度が異なります。

機能確認できることアクセス方法
URL検査特定URLのクロール可否・インデックス状態・canonical・noindex上部の検索バーにURLを入力
インデックス作成 > ページサイト全体のURL別インデックス状況の集計左メニュー > インデックス作成 > ページ
サイトマップ送信済みサイトマップの処理状況・URL数・エラー左メニュー > インデックス作成 > サイトマップ
クロールの統計情報Googlebotのクロール頻度・応答時間・クロール済みファイル種別設定 > クロールの統計情報

② インデックス作成カバレッジレポートの読み方

「インデックス作成 > ページ」では、Googlebotがサイト内の全URLをどう扱っているかが把握できます。各ステータスの意味と優先すべき対応アクションは以下のとおりです。

ステータス意味まず確認すること
インデックス済み正常にインデックスされている定期的に数が減っていないか監視する
クロール済み — インデックス未登録クロールされたがインデックスされていないコンテンツの薄さ・重複・canonical設定を確認
検出済み — インデックス未登録URLは発見されたがまだクロールされていないサイトマップ送信・内部リンク強化で優先度を上げる
除外(noindex)noindex タグによる除外意図した除外かどうか確認する
除外(robots.txt によりブロック)robots.txt でDisallowされている意図した設定か・誤設定でないか確認する
リダイレクト301/302リダイレクトが設定されているサイトマップ内のURLが移転先に更新されているか確認する

③ サイトマップレポートの確認ポイント

「送信済みURL数」と「インデックス済みURL数」の差

差が大きい場合、コンテンツ品質の問題か重複コンテンツが原因のことが多いです。まずURL検査で個別ページの状態を確認します。差を埋めることより「含めるべきURLだけを入れているか」を優先します。

「エラー」ステータスが出ている場合

サイトマップファイル自体にXML構文エラーがあります。W3C XML Validator などでファイルを検証し、不正なタグや文字エンコードの問題を修正します。

④ クロール統計レポートの実践的な読み方

「設定 > クロールの統計情報」では、Googlebotがどれだけのページをどのくらいの頻度でクロールしているかの詳細データが確認できます。通常のサイト運営でも、リニューアル後や大量ページ追加後には必ず確認したいレポートです。

確認1

クロールリクエスト数の急激な増減

通常の水準から大幅に増減した場合、サイト構造の変化・大量のリダイレクト生成・ペナルティの可能性を検討します。特にリニューアル直後に増加する場合は、古いURLへのクロールが続いていることが多いです。

確認2

クロールされたファイルの種類

HTML以外のファイル(PDF・JSON・API応答など)が大量にクロールされていないか確認します。意図しない管理画面やAPIエンドポイントがクロールされている場合は robots.txt の見直しが必要です。

確認3

クロールの応答時間

応答時間が長いほどクロール効率が下がります。特定の時期に応答時間が急増していないか、HTMLや画像など特定ファイル種別で遅延が出ていないかを確認し、サーバー側のボトルネックを調査します。

⑤ アラート設定:異常を自動で検知する

Search Console は「設定 > ユーザーと権限」からメール通知を設定できます。手動で確認するだけでなく、Search Console 側からの通知を受け取る体制を整えておくことで、重大なインデックス問題を早期に検知できます。

受け取るべき通知の種類
Search Console が自動送信するメール通知には「サイトのセキュリティ問題」「手動対策」「インデックス作成の問題」などがあります。プロパティのオーナーまたは管理者であれば自動的に通知対象になりますが、チーム内の担当者をユーザーとして追加することで受信者を増やせます。

2. インデックス問題の体系的な診断フロー

重要ページがインデックスされない場合の診断手順

インデックスされない原因は複数あり、症状だけでは判断できません。以下の順に確認することで、原因を効率よく特定できます。

Step 1

robots.txt でブロックされていないか

Search Console の URL検査で「robots.txt によりブロック」と表示されていないか確認します。あわせて実際の robots.txt 本文に対象パスへ一致するルールがないか確認します。

# robots.txt の内容を確認
curl -sL https://example.com/robots.txt

# 対象パスに一致する Disallow / Allow がないか目視確認
# 例: /target-page/ に対して /target や /target-page が書かれていないか確認
Step 2

noindex タグが誤設定されていないか

ページの <head> 内に <meta name="robots" content="noindex"> が含まれていないか確認します。CMSのプラグインやテンプレートが自動的に設定している場合があります。HTTPヘッダーでの設定も確認します。

# HTTPヘッダーの X-Robots-Tag を確認
curl -sI https://example.com/target-page/ | grep -i "x-robots"

# HTMLの<head>内のmeta robotsを確認
curl -sL https://example.com/target-page/ | grep -i 'name="robots"'
Step 3

canonical が自身のURLを指しているか

<link rel="canonical" href="..."> が別のURLを指している場合、そのページではなくcanonical先のURLがインデックスされます。URL正規化の意図と実態が一致しているか確認します。

# canonical URLを確認
curl -sL https://example.com/target-page/ | grep -i 'rel="canonical"'
Step 4

サイトマップに含まれているか

対象のURLがsitemap.xmlに含まれているか確認します。含まれていない場合はサイトマップに追加し、Search Console から再送信します。また、サイトマップに含まれているURLが robots.txt でブロックされていないかも合わせて確認します(矛盾は警告の原因になります)。

# サイトマップ内の特定URLの有無を確認
curl -sL https://example.com/sitemap.xml | grep "target-page"
Step 5

内部リンクが存在するか

他のページからリンクされていない「孤立ページ」はGooglebotが発見しにくく、クロールキューに入りにくい状態になります。サイトマップへの追加に加え、関連するページから内部リンクを設置します。特に新規作成したページは、既存の高頻度クロールページからリンクすることで発見を早められます。

インデックス済みページが突然減少する場合

インデックス済みページ数が大幅に減少する場合、以下の原因が多いです。Search Console の「インデックス作成 > ページ」の推移グラフと、直前のサイト変更を照らし合わせて原因を特定します。

リニューアル時に robots.txt を誤設定した

ステージング環境向けに設定した Disallow: / をそのまま本番デプロイするミスが代表例です。デプロイ後すぐに curl -sL https://example.com/robots.txt で確認する習慣が必要です。

CMSのアップデートで noindex が全ページに追加された

プラグインのバグやテンプレートの設定変更により、サイト全体またはカテゴリ単位で noindex が付与されるケースです。アップデート後はいくつかのページを URL検査で確認します。

HTTP から HTTPS への移行時にリダイレクト設定が不完全

一部のURLでリダイレクトが漏れると、そのURLのインデックスが失われます。全URLを対象に 301リダイレクトが正しく設定されているかを確認し、サイトマップも HTTPS の URL に更新します。

手動対策(Googleからのペナルティ)が適用された

Search Console の「セキュリティと手動による対策 > 手動による対策」に通知が届いている場合は、指定の問題を修正し再審査リクエストを送信します。

3. デプロイ前チェックと自動化

デプロイ前に必ず確認するチェックリスト

Disallow: / が本番環境の robots.txt に残っていないステージング設定のまま本番に出ると全ページがブロックされます。デプロイ直後に必ず curl -sL https://your-domain.com/robots.txt で目視確認します。
CSS・JS・画像のパスが Disallow に含まれていないGooglebotはレンダリングにこれらが必要です。/_next/static/(Next.js)・/assets//css//js/ 等をブロックすると評価が下がります。
sitemap.xml の URL が全て HTTPS でアクセス可能サイトマップに含まれるURLが実際に 200 を返すか、リダイレクト先と整合しているかを確認します。
robots.txt の Sitemap ディレクティブが新しいサイトマップURLを指しているURL構造を変更した場合、robots.txt の Sitemap: 行も合わせて更新します。
Search Console に新しいサイトマップを再送信する構造変更後はサイトマップを再送信し、「送信済みURL数」の変化を翌日以降に確認します。

GitHub Actions による robots.txt の自動チェック

デプロイパイプラインに robots.txt のサニティチェックを組み込むことで、致命的なミスを自動検知できます。以下は Next.js プロジェクトでの基本的な実装例です。

.github/workflows/robots-check.ymlYAML / GitHub Actions
name: robots.txt Safety Check

on:
  push:
    branches: [main]
  pull_request:
    paths:
      - 'app/robots.ts'
      - 'public/robots.txt'

jobs:
  validate-robots:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Check for sitewide block
        run: |
          # 生成済みの robots.txt を確認(静的ファイルの場合)
          if [ -f public/robots.txt ]; then
            if grep -qE "^Disallow:[[:space:]]*/[[:space:]]*$" public/robots.txt; then
              echo "FAIL: Disallow: / が設定されています(サイト全体ブロック)"
              exit 1
            fi
            echo "PASS: サイト全体ブロックは検出されませんでした"
          fi

      - name: Check Sitemap directive exists
        run: |
          if [ -f public/robots.txt ]; then
            if ! grep -qi "^Sitemap:" public/robots.txt; then
              echo "WARN: Sitemap ディレクティブが見つかりません"
            else
              echo "PASS: Sitemap ディレクティブあり"
            fi
          fi

デプロイ後に本番環境を対象とした確認を行う場合は、以下のような簡易スクリプトをCIの最終ステップとして実行できます。

scripts/check-robots.shBash
#!/bin/bash
SITE_URL="${1:-https://example.com}"

echo "=== robots.txt 診断: $SITE_URL ==="
ROBOTS=$(curl -sL --max-time 10 "$SITE_URL/robots.txt")

if [ -z "$ROBOTS" ]; then
  echo "FAIL: robots.txt を取得できませんでした"
  exit 1
fi

# ブロックオール検出
if echo "$ROBOTS" | grep -qE "^Disallow:[[:space:]]*/[[:space:]]*$"; then
  echo "FAIL: サイト全体がブロックされています"
  exit 1
fi
echo "PASS: サイト全体ブロックなし"

# Sitemap ディレクティブ確認
if echo "$ROBOTS" | grep -qi "^Sitemap:"; then
  echo "PASS: Sitemap ディレクティブあり"
else
  echo "WARN: Sitemap ディレクティブが見当たりません"
fi

echo "=== 診断完了 ==="

4. 定期運用の仕組み化

週次チェック

Search Console の「ページ」レポートで新規エラーを確認「除外(robots.txtによりブロック)」「除外(noindex)」の数に急増がないかを確認します。前週比で大きな変化があれば原因を調査します。
新規公開ページの URL検査新しく公開したページを URL検査で確認し、必要に応じてインデックス登録リクエストを送信します。送信回数には運用上の上限があるため、重要なページを優先します。

月次チェック

サイトマップの URL数と実際のページ数を照合新規追加ページがサイトマップに反映されているか、削除したページが残っていないかを確認します。Next.js の動的生成を使っている場合はビルドログと比較します。
クロール統計レポートで異常なトレンドを確認クロールリクエスト数・応答時間の月次推移を確認します。サイト改善の効果や問題の早期発見に役立ちます。
AIクローラーへの方針を見直す新規AIサービスの登場や既存サービスの仕様変更に合わせて robots.txt の AIクローラー設定を定期的に棚卸しします。第4章のUser-agentリストを参照してください。
Bing / Yandex 重視なら IndexNow の送信状態も確認更新頻度が高いサイトでは、サイトマップ更新に加えて IndexNow の送信が継続しているかを監視すると差分反映を早めやすくなります。Google向けの基本設計を置き換えるものではありません。
AIOGeoScan で robots.txt・sitemap.xml・llms.txt の整合性を診断3ファイル間の矛盾(Disallowしているページのサイトマップ掲載、llms.txtで案内しているURLのブロックなど)を一括確認します。

5. 本シリーズの総まとめ:クローラー制御の設計チェックリスト

クローラー制御の完全設計チェックリスト
  • robots.txt がルートに設置され、管理ページ・APIが適切にDisallowされている
  • CSS・JS・画像 がrobots.txtでブロックされていない
  • AIクローラーへの方針(許可/制限)が意識的に設定されている
  • sitemap.xml が最新の状態で、robots.txtとの矛盾がない
  • サイトマップインデックスがSearch Consoleに送信されている
  • noindex が必要なページは meta robots で設定し、robots.txt と二重指定していない
  • llms.txt は必要な場合に補助文書として整備されている
  • Search Console でカバレッジエラーを週次・月次で監視している
  • デプロイパイプラインにrobots.txtのサニティチェックが組み込まれている

関連ガイド

robots.txt / sitemap.xml の整合性を
一括診断する

AIOGeoScanは、robots.txt の構文・AIクローラー設定・sitemap.xml との矛盾・llms.txt の整合性をまとめて検証します。本シリーズで学んだ知識を、実際のサイトで確認してみましょう。

今すぐ自社サイトを無料診断する
Editorial Trust Signals

このナレッジベースの編集方針

`AIOGeoScan Knowledge` は、Bennu Inc. が運営する AI検索・構造化データ・クローラー制御に関する実務ナレッジです。 Google Search Central、Schema.org、OpenAI などの一次情報を優先し、観測ベースの実務知見は本文中で区別して扱います。

運営主体
Bennu Inc. / AIOGeoScan
更新方針
仕様変更や検索機能の更新にあわせて都度改訂
優先ソース
公式ドキュメント・標準仕様・公式ヘルプ
補助ソース
実装観測・運用知見・再現性のある検証結果

あなたのサイト、AIに正しく伝わっていますか?

解説を読み終えたら、実際にあなたのサイトを診断してみましょう。
100項目以上の診断で、AI時代の構造課題を可視化します。

無料で診断を開始する