運用・診断編:インデックス問題の診断フローと
継続的なクローラー管理
各章へクイックジャンプ:
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だけを入れているか」を優先します。
サイトマップファイル自体にXML構文エラーがあります。W3C XML Validator などでファイルを検証し、不正なタグや文字エンコードの問題を修正します。
④ クロール統計レポートの実践的な読み方
「設定 > クロールの統計情報」では、Googlebotがどれだけのページをどのくらいの頻度でクロールしているかの詳細データが確認できます。通常のサイト運営でも、リニューアル後や大量ページ追加後には必ず確認したいレポートです。
クロールリクエスト数の急激な増減
通常の水準から大幅に増減した場合、サイト構造の変化・大量のリダイレクト生成・ペナルティの可能性を検討します。特にリニューアル直後に増加する場合は、古いURLへのクロールが続いていることが多いです。
クロールされたファイルの種類
HTML以外のファイル(PDF・JSON・API応答など)が大量にクロールされていないか確認します。意図しない管理画面やAPIエンドポイントがクロールされている場合は robots.txt の見直しが必要です。
クロールの応答時間
応答時間が長いほどクロール効率が下がります。特定の時期に応答時間が急増していないか、HTMLや画像など特定ファイル種別で遅延が出ていないかを確認し、サーバー側のボトルネックを調査します。
⑤ アラート設定:異常を自動で検知する
Search Console は「設定 > ユーザーと権限」からメール通知を設定できます。手動で確認するだけでなく、Search Console 側からの通知を受け取る体制を整えておくことで、重大なインデックス問題を早期に検知できます。
受け取るべき通知の種類
Search Console が自動送信するメール通知には「サイトのセキュリティ問題」「手動対策」「インデックス作成の問題」などがあります。プロパティのオーナーまたは管理者であれば自動的に通知対象になりますが、チーム内の担当者をユーザーとして追加することで受信者を増やせます。
2. インデックス問題の体系的な診断フロー
重要ページがインデックスされない場合の診断手順
インデックスされない原因は複数あり、症状だけでは判断できません。以下の順に確認することで、原因を効率よく特定できます。
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 が書かれていないか確認
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"'
canonical が自身のURLを指しているか
<link rel="canonical" href="..."> が別のURLを指している場合、そのページではなくcanonical先のURLがインデックスされます。URL正規化の意図と実態が一致しているか確認します。
# canonical URLを確認 curl -sL https://example.com/target-page/ | grep -i 'rel="canonical"'
サイトマップに含まれているか
対象のURLがsitemap.xmlに含まれているか確認します。含まれていない場合はサイトマップに追加し、Search Console から再送信します。また、サイトマップに含まれているURLが robots.txt でブロックされていないかも合わせて確認します(矛盾は警告の原因になります)。
# サイトマップ内の特定URLの有無を確認 curl -sL https://example.com/sitemap.xml | grep "target-page"
内部リンクが存在するか
他のページからリンクされていない「孤立ページ」は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 で目視確認します。/_next/static/(Next.js)・/assets/・/css/・/js/ 等をブロックすると評価が下がります。Sitemap: 行も合わせて更新します。GitHub Actions による robots.txt の自動チェック
デプロイパイプラインに robots.txt のサニティチェックを組み込むことで、致命的なミスを自動検知できます。以下は Next.js プロジェクトでの基本的な実装例です。
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の最終ステップとして実行できます。
#!/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. 定期運用の仕組み化
週次チェック
月次チェック
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のサニティチェックが組み込まれている
関連ガイド
全5章を通して、クローラー制御とインデックス最適化の技術を体系的に学びましょう。
robots.txt / sitemap.xml の整合性を
一括診断する
AIOGeoScanは、robots.txt の構文・AIクローラー設定・sitemap.xml との矛盾・llms.txt の整合性をまとめて検証します。本シリーズで学んだ知識を、実際のサイトで確認してみましょう。
今すぐ自社サイトを無料診断する