この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:3
ページ更新者:T
更新日時:2026-06-11 07:07:02

タイトル: サイトマップインデックスの書き方
SEOタイトル: XML サイトマップインデックス (sitemap_index.xml) の書き方完全ガイド

この記事の要点
  • サイトマップ 1 ファイルは 50,000 URL / 50 MB までの制限。超えるならサイトマップインデックスで分割
  • ルートタグは 、子要素は (urlset ではない)
  • (必須) + (推奨)
  • gzip 圧縮 (.xml.gz) 推奨、サイトマップは検索エンジンが定期取得
  • robots.txtSitemap: https://example.com/sitemap_index.xml 行を追加 + Google Search Console / Bing Webmaster Tools で送信

サイトマップインデックスとは

1 個のサイトマップ XML には最大 50,000 URL / 50 MB (非圧縮) の制限があります。大規模サイトでは複数のサイトマップに分割し、それらを束ねるサイトマップインデックスファイルを作ります。Google / Bing 等は、まずインデックスを読み込み、その中で参照されている個別サイトマップを順に取得します。

最小構成



  
    https://example.com/sitemap-pages.xml
    2026-06-10T09:00:00+09:00
  
  
    https://example.com/sitemap-articles.xml
    2026-06-10T09:00:00+09:00
  
  
    https://example.com/sitemap-products.xml.gz
    2026-06-10T09:00:00+09:00
  

要素一覧

要素必須説明
必須XML 宣言
必須ルート要素 (urlset と間違えやすい)
xmlns必須http://www.sitemaps.org/schemas/sitemap/0.9 固定
必須個別サイトマップへの参照 (1 個以上)
必須サイトマップ URL (絶対 URL、自サイトドメイン)
推奨サイトマップ自体の最終更新日 (W3C 日時形式)

個別サイトマップ (sitemap-articles.xml) の中身



  
    https://example.com/articles/1
    2026-06-10
    weekly
    0.8
  
  
    https://example.com/articles/2
    2026-06-09
  
  

注意: インデックスは / 、個別サイトマップは / です。タグを混同するとエラーになります。

分割の判断基準

状況分割すべきか分割例
URL 数 < 50,000不要単一 sitemap.xml で OK
URL 数 > 50,000必須カテゴリ別に分割
非圧縮で > 50 MB必須サイズで分割 or gzip 圧縮
更新頻度が異なるセクションあり推奨静的ページ / ブログ / 商品 で分ける
多言語サイト推奨言語別 (sitemap-ja.xml / sitemap-en.xml)
動画 / 画像が大量推奨画像専用 sitemap-images.xml

命名規則と配置

推奨ファイル構成:

https://example.com/
├── sitemap_index.xml            ← サイトマップインデックス (ルート直下)
├── sitemap-pages.xml            ← 静的ページ
├── sitemap-articles-1.xml       ← 記事 (1〜50,000 件目)
├── sitemap-articles-2.xml       ← 記事 (50,001〜100,000 件目)
├── sitemap-products.xml         ← 商品
├── sitemap-images.xml           ← 画像
└── robots.txt

ファイル名は自由だが、わかりやすい命名にする。
配置場所: 通常ルート (/) または /sitemap/ ディレクトリ。
重要: サイトマップは ★参照する URL と同じドメイン (またはサブドメイン) に置く★。

gzip 圧縮

サイトマップは XML なので gzip で圧縮すると 5〜10 倍小さくなります。配信時間短縮 & クローラ転送量削減のために推奨:

# 圧縮
gzip -k sitemap-articles.xml
# → sitemap-articles.xml (元) と sitemap-articles.xml.gz (圧縮版) が出来る

# サイトマップインデックス側では .gz を参照
# https://example.com/sitemap-articles.xml.gz

# Apache / Nginx の Content-Encoding ヘッダ自動付与は不要
# (拡張子で判定するクローラが多い)

robots.txt との連携

# robots.txt (ドメインルート直下に配置)
User-agent: *
Allow: /

# サイトマップインデックスを宣言
Sitemap: https://example.com/sitemap_index.xml

# 複数の Sitemap 行を並べることも可能 (任意)
Sitemap: https://example.com/sitemap-news.xml

Google Search Console に登録

  1. Google Search Console でプロパティを選択
  2. 左メニュー サイトマップ
  3. 「新しいサイトマップの追加」に sitemap_index.xml を入力
  4. 送信 ボタン
  5. 数時間〜数日でクロール開始、ステータス「成功」を確認

Bing Webmaster Tools に登録

  1. Bing Webmaster Tools でサイト登録
  2. 左メニュー サイトマップ
  3. サイトマップ送信 → URL 入力

Google から自動でデータ取り込み可能 (連携機能)。

Laravel での生成例

 url('/sitemap-pages.xml'),    'lastmod' => Page::max('updated_at')],
        ['loc' => url('/sitemap-articles.xml'), 'lastmod' => Article::max('updated_at')],
        ['loc' => url('/sitemap-products.xml'), 'lastmod' => Product::max('updated_at')],
    ];

    return response()
        ->view('sitemaps.index', compact('sitemaps'))
        ->header('Content-Type', 'application/xml');
});

// resources/views/sitemaps/index.blade.php
?>
' ?>

@foreach ($sitemaps as $s)
  
    {{ $s['loc'] }}
    {{ \Carbon\Carbon::parse($s['lastmod'])->toAtomString() }}
  
@endforeach

WordPress プラグイン例

  • Yoast SEO: /sitemap_index.xml を自動生成
  • Rank Math: 同様、より細かい設定
  • Google XML Sitemaps: 軽量、サイトマップ専用
  • All in One SEO: SEO 統合プラグイン内蔵

検証ツール

# xmllint で構文チェック
xmllint --noout sitemap_index.xml
# エラーが無ければ何も出ない

# スキーマ検証 (sitemap-validator など)
curl -O https://www.sitemaps.org/schemas/sitemap/0.9/siteindex.xsd
xmllint --schema siteindex.xsd sitemap_index.xml --noout

# オンラインバリデータ
# - https://www.xml-sitemaps.com/validate-xml-sitemap.html
# - https://www.websiteplanet.com/webtools/sitemap-validator/

よくあるミス

ミス影響対処
をインデックスとして使用個別サイトマップとして解釈される に修正
異なるドメインを に書く無視される (クロスドメインは原則 NG)自ドメイン or サブドメインのみ
BOM 付きで保存Incorrect namespace エラーBOM なし UTF-8 で保存
絶対 URL でない (相対 /xxx)無視必ず https://example.com/xxx
lastmod の形式不正無視 or 警告W3C 日時形式 (2026-06-10 または 2026-06-10T09:00:00+09:00)

FAQ

Q: 1 個のインデックスに何個までサイトマップを入れられる?
A: 50,000 サイトマップまで。実用上はそんなに増えません。

Q: インデックスのインデックス (入れ子) はできる?
A: 仕様上は禁止。サイトマップインデックスから で参照できるのは個別 sitemap (urlset) だけです。

Q: ping 通知は必要?
A: 2023 年に Google は ping エンドポイントを廃止。今は Search Console での送信または robots.txt 経由のクロールに任せます。