XMLサイトマップとは?基本の定義と役割
XMLサイトマップとは、ウェブサイト内の各ページのURL・最終更新日・更新頻度・優先度などをXML形式で記述したファイルです。検索エンジンのクローラーは、このファイルを参考にしてサイト内のページを発見・巡回します。通常は sitemap.xml というファイル名でサイトのルートディレクトリに設置し、Search Console から登録する形で運用します(出典:Google検索セントラル「サイトマップについて」)。
XMLサイトマップは検索エンジン向けの「ページ一覧の目録」であり、人間の訪問者が読むことを想定していません。各URLに付随する <lastmod>(最終更新日)や <changefreq>(更新頻度)といったタグによって、サイトのどのページがいつ更新されたのか、どの程度の頻度で変わるのかをクローラーに伝えられる点が特徴です。
「サイトマップ」と呼ばれる2種類のファイル
一般に「サイトマップ」と呼ばれるものには、大きく分けて2種類があります。1つは訪問者向けに作成するHTMLサイトマップで、サイト内の主要ページへのリンクを一覧化したページです。もう1つが本記事で扱うXMLサイトマップで、検索エンジン向けの機械可読なファイルです。両者は名前こそ似ていますが、対象読者も用途もまったく異なります。
HTMLサイトマップは、近年ではSEO上の必要性が薄いと指摘されています。GoogleのJohn Mueller氏は、サイトの規模に関わらず明確なナビゲーション構造があればHTMLサイトマップは不要であり、必要性を感じるなら代わりにサイト構造を改善すべきだと述べています。一方でXMLサイトマップは、検索エンジンに対してURL情報を正確に伝える役割を担い続けており、特に大規模サイトや更新頻度の高いサイトでは引き続き重要な役割を果たしています。
| 項目 | XMLサイトマップ | HTMLサイトマップ |
|---|---|---|
| 対象読者 | 検索エンジン(クローラー) | ウェブサイトの訪問者 |
| 形式 | XMLファイル(機械可読) | HTMLページ(人が読む) |
| 主な役割 | URL・最終更新日・更新頻度などをクローラーに伝える | サイト全体のページ一覧を訪問者に案内する |
| SEO上の必要性 | 大規模・複雑なサイトで特に有効 | 近年は重要性が低下、ナビゲーション改善の方が望ましい |
| 設置場所 | サーバーのルートディレクトリ/Search Consoleに登録 | サイト内の通常ページ(例:/sitemap) |
XMLサイトマップに記述される主な要素
XMLサイトマップは Sitemaps プロトコル(sitemaps.org が定める仕様)に従って記述します。基本となる要素は次の通りです(出典:sitemaps.org プロトコル仕様)。
- <loc>:ページの絶対URL(必須)
- <lastmod>:そのページの最終更新日。Googleが現在クロール判断のシグナルとして利用している項目
- <changefreq>:更新頻度の目安(hourly/daily/weekly など)
- <priority>:サイト内での相対的な優先度(0.0〜1.0)
このうち、Googleが実際にシグナルとして重視しているのは <loc> と <lastmod> です。<changefreq> や <priority> は仕様上は記述できるものの、Googleはこれらの値を無視すると公式に説明しています。詳しいタグの書き方や具体的なサンプルは、後続の章で改めて解説します。まずはこの章で「XMLサイトマップ=検索エンジン向けのURL目録」という前提を押さえておけば、以降の作成手順や分割運用の話がスムーズに理解できます。
XMLサイトマップの効果と必要性
XMLサイトマップは検索順位を直接押し上げる施策ではありませんが、検索エンジンのクローラーがサイト内のURLを効率よく把握するための「地図」として機能します。具体的には、サイト内に存在するURL・最終更新日・更新頻度などの情報をまとめてクローラーに渡せるため、巡回の効率化やインデックスのスピードアップにつながります。
クローラーが参考にする情報源としての役割
クローラーは通常、ページ内のリンクをたどりながらサイトを巡回しますが、XMLサイトマップを設置しておくと、リンクだけでは到達しづらいページや、追加されたばかりのページも含めてURLリストを参照できます。Googleはサイトマップを「サイト上の重要なページとファイルをGoogleに伝える」仕組みと位置付けており、特にサイト規模が大きい・新しい・外部リンクが少ない場合に有用だと案内しています(出典:Google検索セントラル)。
また、サイトマップに記載されたURLは、Googleが正規URLを判断する際のヒントの一つとしても扱われます。同じコンテンツに複数のURLが存在する場合、サイトマップ側に記述したURLを正規候補とみなしてもらいやすくなるため、重複URLの整理にも役立ちます。
HTMLサイトマップとの違いと現在の位置づけ
訪問者向けに全ページへのリンクをまとめた「HTMLサイトマップ」とは異なり、XMLサイトマップは検索エンジンのロボット専用のファイルです。GoogleのJohn Mueller氏は、HTMLサイトマップは基本的に不要であり、必要だと感じるならサイトのナビゲーション構造そのものを改善すべきだと明言しています(出典:John Mueller氏 Mastodon投稿)。一方でXMLサイトマップは、検索エンジンに対する公式な情報伝達手段として現在も推奨されており、両者の役割は明確に分かれています。
XMLサイトマップが特に効果を発揮する場面
XMLサイトマップの恩恵が大きいのは、クローラーが自力で全ページに到達することが難しいケースです。代表例は次のとおりです。
- 新規に立ち上げたサイト:外部リンクがまだ少なく、クローラーがサイトを発見しにくい状態を補える
- 大規模サイト:ページ数が多く、クロールバジェットの配分が課題になる場合に重要URLを伝えやすい
- 複雑なリンク階層を持つサイト:深い階層のページやリンクされにくいページも明示できる
- 常時SSL(HTTPS)化などの大規模URL変更時:新しいURL群をまとめて検索エンジンに通知できる
- PC向けとスマホ向けでURLが分かれているサイト:各バージョンの存在と関係性を伝えやすい
逆に、ページ数が少なく内部リンク構造が整理されたサイトでは、サイトマップが無くてもクロール・インデックスは問題なく進むことが多いのも事実です。ただし、新しいページを公開した直後や大幅にコンテンツを更新したタイミングでは、サイトマップを通じて変更を通知できる点で、サイトの規模を問わず設置しておく価値があります。
検索エンジンクローラーの巡回経路とサイトマップの位置づけ
XMLサイトマップがなぜクロール効率化に効くのかを理解するには、検索エンジンのクローラーがそもそもどうやって新しいページを見つけているのかを押さえておく必要があります。Googleの公式ドキュメントによると、検索エンジンがあなたのページを発見する経路は大きく次の3つに整理できます(出典:Google検索セントラル)。
- 外部サイトや内部ページからのリンクを辿って発見する
- Search Console の URL 検査などからクロールをリクエストする
- XMLサイトマップを設置し、Search Console に登録して通知する

3つの経路それぞれの限界
まず外部リンクや内部リンクを辿る経路は、リンクが張られてからクローラーがそのリンク元を再訪し、リンク先を発見するまでにタイムラグが発生します。新規ページや、サイト内のリンク階層が深いページほど発見は遅れがちです。なお、Chromeブラウザの閲覧データをURL発見に使っているという噂もありますが、Googleは公式に否定しており、Stone Temple Consultingの実験でも同様の結論が示されています。
次にSearch Console からの巡回リクエストは、個別URLを直接Googleに知らせる手段として有効ですが、必ずしも即時にクロールされるとは限らず、また1日あたりの送信数にも実質的な上限があります。数百〜数千ページ規模のサイトを丸ごとカバーする方法ではありません。
これに対してXMLサイトマップは、サイト内の全URLとその最終更新日(lastmod)を一括して検索エンジンに伝えられます。リンクで辿れないページも含めて漏れなく通知でき、更新があったURLだけクローラーが効率的に再訪できる仕組みです。
XMLサイトマップによる巡回コントロール
XMLサイトマップを定期的に更新してSearch Consoleに登録しておくと、検索エンジン側は「どのURLが」「いつ更新されたか」を都度参照できるようになります。これは見方を変えれば、サイト運営者側がクロール対象と優先順位の手がかりを能動的に提示できる、という意味で巡回コントロールの手段になります。Googleのクローラーの仕組みとクロールバジェットの観点で見ても、無駄な再クロールを減らし、更新ページに予算を集中させやすくなる効果があります。
特にlastmod は、正確に運用されていればGoogleが「ここは前回クロール以降に変わっているので再訪したい」と判断するシグナルとして使われます。逆にlastmod が常に現在日時で更新されているような不正確な実装だと信用されなくなる、とGary Illyes氏も繰り返し述べています(出典:Gary Illyes / LinkedIn)。
つまりXMLサイトマップは、3つの発見経路のうち最も網羅的かつ更新情報まで伝えられる手段であり、外部リンクの偶然や個別リクエストの手間に頼らずに、サイト全体のクロールを安定運用するための基盤と位置づけられます。次章以降で見るインデックス時間の短縮効果も、この「巡回経路としての確実さ」が土台になっています。
SEO上の効果:インデックス時間の短縮
XMLサイトマップそのものが検索順位を直接押し上げるわけではありません。しかし、検索エンジンが新規ページや更新ページを発見し、インデックスに登録するまでの時間を大幅に短縮できるという、実務上きわめて重要な効果があります。コンテンツを公開してから検索結果に反映されるまでのタイムラグが短くなれば、施策の効果検証や順位変動の要因分析もスムーズになります。
Mozの検証:1375分 → 14分の差
XMLサイトマップの有無でインデックス時間がどれほど変わるかを検証した有名な実験が、Mozのブログ記事「Do Sitemaps Effect Crawlers?」で公開されています。この実験では、同じブログ上で投稿された12本の記事を2グループに分け、6本はサイトマップを送信、もう6本は送信せずにクローラーが自然にたどり着くのを待つ、という比較を行いました(出典:Moz)。
| 条件 | Googlebotが訪問するまでの平均時間 |
|---|---|
| XMLサイトマップを送信した場合 | 約14分 |
| XMLサイトマップを送信しなかった場合 | 約1,375分(約23時間) |
差はおよそ100倍。サイトマップなしでは丸1日近くかかっていたものが、サイトマップを送信するだけで15分以内に巡回が始まったわけです。Yahooについても245分対1,773分と、同様に大きな差が出ています。サンプル数が限られた検証ではあるものの、サイトマップが「クローラーが来るタイミング」に明確な影響を与えることを示す代表的なデータとして、現在もよく引用されます。
なぜ「順位」ではなく「速度」に効くのか
Googleは公式に、サイトマップに含まれていること自体が順位を上げるシグナルにはならないと説明しています。サイトマップの役割はあくまで「URLの発見」と「更新の通知」を助けることであり、ページの評価はコンテンツの中身やリンク構造に基づいて行われます(出典:Google検索セントラル)。
とはいえ、検索結果に載るタイミングが23時間後と14分後では、ニュース性のあるコンテンツやキャンペーンページの成果は大きく変わります。「クロール済み – インデックス未登録」の状態に悩むサイトでも、サイトマップを正しく更新することはまず取り組むべき基本施策です。
運用ポイント:コンテンツ更新と同時にlastmodを更新する
この短縮効果を継続的に得るためには、ページを追加・更新したタイミングでXMLサイトマップ側のlastmod(最終更新日)も同時に更新することが重要です。GoogleのGary Illyes氏は、lastmodは正しく運用されていれば信頼できるシグナルとして扱う、と明言しています(出典:Gary Illyes / LinkedIn)。逆に、本文を変えていないのにlastmodだけを毎日書き換えるような運用は信頼を失い、無視される対象になります。
WordPress 6.5以降では標準でlastmodが出力されるため、特別な設定なしにこの恩恵を受けられます。それ以外のCMSや自作システムでも、更新処理とサイトマップ再生成を連動させる仕組みを用意しておくと、インデックス時間短縮の効果を最大化できます。
XMLサイトマップが特に役立つウェブサイトの特徴
XMLサイトマップはどんなサイトでも一定の効果がありますが、特に以下のような特徴を持つサイトでは導入効果が顕著に表れます。Googleの公式ドキュメントでも、サイトマップが役立つケースとして規模・構造・更新頻度などの観点が挙げられています(出典:Google検索セントラル)。自サイトが該当するかをまずチェックしてみましょう。
- ページ数が数百〜数万単位の大規模サイト
- サイト内リンクで辿れない孤立ページが存在するサイト
- 公開して間もない新規サイト(被リンクがまだ少ない)
- 記事の追加・更新を頻繁に行うメディア・ブログ
- 画像・動画・ニュースなど、専用インデックスを狙うコンテンツが多いサイト
ウェブサイトの規模が大きい
ページ数が膨大なサイトでは、新しいコンテンツを公開してもクローラーが巡回しきれず、インデックスが遅れることがあります。XMLサイトマップを用意しておけば、クローラーはリストを参照しながら効率的に巡回できるため、深い階層に置かれたページも見落とされにくくなります。
さらに、重要なページがなかなか更新クロールされない場合には、優先度の高いURLだけを集めた部分的なサイトマップを別途用意する方法も有効です。GoogleのGary Illyes氏は、部分サイトマップに含めたURLは他よりも頻繁にクロールされる傾向があると発言しています。クロールバジェットを意識するような大規模サイトほど、この使い分けは効いてきます。
サイト内でリンクされていないページがある
検索エンジンのクローラーは原則としてリンクを辿ってページを発見します。そのため、サイト内のどこからもリンクされていないページ(いわゆる孤立ページ)は、放っておくとインデックスされません。XMLサイトマップにURLを記述しておけば、リンク経路に依存せずクロール対象に乗せることができます。
ランディングページ、キャンペーン用ページ、フォーム送信後のサンクスページから戻る導線のないコンテンツなど、構造上リンクが張りにくいページがある場合は、サイトマップでの補完が有効です。本来はサイト内リンク設計で解決すべき問題ですが、過渡的な対応としてもサイトマップは役立ちます。
新しいウェブサイト
公開直後のサイトは、まだ外部からの被リンクがほとんどなく、検索エンジンがリンクを辿って発見する経路が極めて限られています。立ち上げのタイミングでXMLサイトマップをSearch Consoleに登録しておけば、最初のクロールがスムーズに進み、初期インデックスまでの時間を短縮できます。
その後、ある程度被リンクが増えてくれば検索エンジンは自然にリンクを辿って各ページを登録していきます。しかしページ数が増えてくるとクロールの優先順位付けが難しくなり、追加したページがなかなかインデックスされない状況も起こり得ます。その際には改めてXMLサイトマップを活用すると良いでしょう。
頻繁に記事を追加・更新するウェブサイト
ニュースサイトやオウンドメディアのように、毎日のように新規記事を公開したり既存記事を改稿したりするサイトでは、インデックスの遅延がそのまま機会損失につながります。インデックスが遅れるほど、順位変動の要因を切り分けることも難しくなります。
タイトル変更やコンテンツ改善を行ったタイミングでXMLサイトマップのlastmodを更新しておくと、検索エンジンに「ここが変わった」というシグナルを素早く届けられます。Gary Illyes氏も、lastmodは信頼できる形で運用されていればクロールのシグナルとして利用されると述べています(出典:Gary Illyes / LinkedIn)。
XMLサイトマップが無い場合と設置した場合の違い
XMLサイトマップが無いサイトは、検索エンジンから見るとリンクで辿れるページしか把握できていない状態に近くなります。大規模サイトで階層が深いページや、更新したばかりのページにクローラーが到達できず、インデックスが遅延するケースが起こりやすくなります。
一方、XMLサイトマップを設置しておけば、リンクで辿れるページに加えて深い階層のページや孤立ページの存在・重要度・更新情報をクローラーにまとめて伝えられます。とりわけ「クロール済み – インデックス未登録」のような状態を未然に防ぎたいサイトでは、サイトマップの整備が第一歩となります。
画像・動画もXMLサイトマップに含められる
XMLサイトマップにはページURLだけでなく、ページ内で利用している画像や動画の情報も記述できます。画像・動画の情報をサイトマップ内に明示しておくと、通常のウェブ検索だけでなく画像検索や動画検索で発見されやすくなり、メディア資産からの流入経路を増やすことが可能です。画像や動画を多用するブランドサイトやECサイト、メディアサイトでは特に有効な施策です。
画像サイトマップで対応しているフォーマット
Googleがインデックス可能な画像フォーマットには、BMP・GIF・JPEG・PNG・WebP・SVGなどがあります(出典:Google Search Central Blog「1,000 words about images」)。これらの画像情報を画像サイトマップに含めると、ページ本文だけでは検索エンジンが気付きにくい画像も認識されやすくなります。記述には<image:image>と<image:loc>といった画像用の名前空間タグを使用し、対象ページの<url>要素内にネストする形で記述します(出典:Google検索セントラル「画像サイトマップ」)。
動画情報をサイトマップに記述するメリット
動画はテキストや画像よりも豊かな情報を伝えられる一方で、検索エンジンが映像の中身を直接理解することは依然として困難です。そのため、動画のタイトル・説明文・サムネイル画像URL・再生時間・公開日などをXMLサイトマップに記述し、検索エンジンに明示的に伝えることが推奨されています。Googleは動画コンテンツの取得に注力しており、動画サイトマップに沿って情報を提供することで、動画リッチリザルトや動画タブでの露出機会を高めることができます(出典:Google検索セントラル「動画サイトマップとサイトマップの拡張機能」)。動画検索結果での見え方を改善したい場合は、構造化データ(VideoObject)と動画サイトマップを併用すると効果的です。
既存サイトマップに含める方法と動画専用サイトマップを作る方法
動画情報の記述方法には、大きく分けて2通りがあります。1つは既存のXMLサイトマップ内の各<url>要素に<video:video>タグを追加する方法、もう1つは動画専用のXMLサイトマップを別ファイルとして作成し、Search Consoleに個別に登録する方法です。どちらの方法でも検索エンジンに伝わる情報量や効果に大きな違いはないため、サイトの規模や運用体制に合わせて選択して問題ありません。
- 既存サイトマップに統合する方法:動画が一部のページにしかない中小規模サイトに向いています。1ファイルで完結するため管理がシンプルです。
- 動画専用サイトマップを作る方法:動画コンテンツが大量にあるサイトや、動画担当チームと記事担当チームが分かれている運用に向いています。更新サイクルが異なるコンテンツを分けて管理でき、後から分割運用にも移行しやすくなります。
いずれの方法を採用する場合も、動画ファイルやサムネイルのURLが正しく公開されており、robots.txtでブロックされていないことを必ず確認しましょう。記述ミスやアクセス制限があると、せっかくサイトマップに含めても画像検索・動画検索の対象になりません。
XMLサイトマップの作り方(WordPress・ツール)
XMLサイトマップは、利用しているCMSや開発体制に応じて作り方を選びます。WordPressであれば標準機能だけでも最低限のサイトマップが生成され、他のCMSでもプラグインやオンラインツール、市販ソフトを組み合わせれば、開発リソースを大きく割かずに用意できます。ここでは代表的な3パターンを整理します。
WordPressの場合:5.5から標準対応、6.5でlastmodも記述
WordPressは2020年8月リリースのバージョン5.5でXMLサイトマップ生成を標準サポートしました。インストール直後から /wp-sitemap.xml が自動生成され、投稿・固定ページ・カテゴリー・タグ・著者などのURLが含まれます(出典:WordPress Core Blog)。
さらにWordPress 6.5以降は、URLごとの最終更新日を示す <lastmod> タグが標準で出力されるようになりました。GoogleのGary Illyes氏も、正しく運用された lastmod はクロールのシグナルとして利用していると公言しており、検索エンジンに更新を伝える上で意味のある変更です(出典:Gary Illyes / LinkedIn)。標準機能で物足りない場合は、Yoast SEOやXML Sitemap Generator for Googleなど、優先度や除外設定が細かく行えるプラグインを併用するのが定番です。
プラグインが使えないCMS・静的サイトの場合
独自CMSや静的HTMLで構築されたサイトでは、サーバーサイドでXMLサイトマップを動的に出力する仕組みを実装するのが理想です。とはいえ、開発工数を抑えたい場合は外部ツールの活用が現実的です。代表的な選択肢は次の2つです。
- sitemap.xml Editor:URLを入力するだけでサイトマップを生成できる国産の無料Webツール。
lastmodの自動取得に対応し、最大1,000URLまで扱えます。小〜中規模サイト向けです。 - Sitemap Creator:当社が提供する市販のデスクトップソフト。100万ページ規模のサイトでも動作実績があり、URL数は無制限。スケジューラーによる自動更新や、特定カテゴリの除外、優先度・更新頻度の一括指定など、運用カスタマイズの自由度が高いのが特徴です。
主要なXMLサイトマップ生成手段の比較
| 手段 | 対応URL数の目安 | lastmod | 自動更新 | 向いているサイト |
|---|---|---|---|---|
| WordPress 標準機能(5.5以降) | 実質無制限(1ファイル2,000URLで自動分割) | 6.5以降で対応 | ○(自動) | WordPress サイト全般 |
| SEOプラグイン(Yoast SEO 等) | 実質無制限 | 対応 | ○(自動) | 除外設定や優先度を細かく制御したいサイト |
| sitemap.xml Editor(無料Webツール) | 最大1,000URL | 自動取得対応 | ×(手動再生成) | 小〜中規模の静的サイト |
| Sitemap Creator(市販ソフト) | 無制限(100万ページ実績) | 対応 | ○(スケジューラー) | 大規模サイト・独自CMS |
| サーバーサイドでの自前実装 | 無制限 | 実装次第 | ○(自動) | 独自CMS・要件が特殊なサイト |
どの手段を選んでも、生成後はSearch Consoleの登録を忘れずに行いましょう。Search Consoleのサイトマップ追加手順を踏むことで、Googleが定期的に取得しに来る状態になり、サイトマップ本来の効果が発揮されます。
XMLサイトマップのフォーマットと書き方
ここでは、XMLサイトマップを自前で記述・編集する際に押さえておきたいフォーマットと書式のルールを整理します。ファイル名の扱いから、urlset・url・loc・lastmod・changefreq・priorityといった主要タグの書き方、動画サイトマップ独自の記述まで、サンプルコード付きで解説します。
ファイル名・配置に関するルール
XMLサイトマップのファイル名は sitemap.xml である必要はなく、任意の名前で問題ありません。ただし一度公開したファイル名やURLは、原則として変更しないことが推奨されます。頻繁にファイル名を変えるとGoogleに余分な負荷をかけてしまい、本来クロールしてほしいページの発見が遅れる可能性があるためです。(出典:Google Webmaster Central office-hours hangout)
複数ファイルでセクションごとに運用する場合は、新セクションに対応する新しいサイトマップを追加することはありますが、既存ファイルのURLは維持しましょう。配置場所はサイトのルートディレクトリが基本で、配置したディレクトリ以下のURLしか含められないという制約があります。
基本フォーマット(XML宣言とurlset)
XMLサイトマップは、先頭に <?xml version="1.0" encoding="UTF-8"?> という宣言を記述し、文字コードはUTF-8で保存します。続いて <urlset> タグで全体を囲み、名前空間として http://www.sitemaps.org/schemas/sitemap/0.9 を指定します。これは(出典:sitemaps.org プロトコル仕様)で定義された標準書式です。

実際のサンプルコードは次のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/</loc>
<lastmod>2024-05-01</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>https://www.example.com/about/</loc>
<lastmod>2024-04-20</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
各タグの意味と記述ルール
サイトマップで使用する主要タグの必須/任意区分・記述形式・Googleでの扱いを整理したのが下表です。
| タグ | 必須/任意 | 記述形式 | Googleの扱い |
|---|---|---|---|
| <loc> | 必須 | 絶対URL(http/httpsから始まる)。2,048文字以内。特殊文字はエスケープ | クロール対象URLとして使用 |
| <lastmod> | 任意(推奨) | W3C Datetime形式(YYYY-MM-DD など) | 正確な日付であればクロール優先度判断のシグナルとして利用 |
| <changefreq> | 任意 | always / hourly / daily / weekly / monthly / yearly / never | 基本的に無視されると公言 |
| <priority> | 任意 | 0.0〜1.0(既定値0.5) | 基本的に無視されると公言 |
changefreq と priority はGoogleが「無視している」と明言しており、Bing等でも参考程度の扱いです。一方で lastmod は、正確な値であればクロール頻度を判断する有効なシグナルとして利用されるとGary Illyes氏が説明しています。(出典:Gary Illyes / LinkedIn) 嘘の更新日を入れるとシグナルとして無視されるため、実際にコンテンツを更新したタイミングのみ書き換えるのが鉄則です。
サイズ・件数の上限
1つのXMLサイトマップに含められるURLは最大50,000件、ファイルサイズは非圧縮で50MBまでと定められています。これを超える場合は複数のサイトマップに分割し、それらを束ねる「サイトマップインデックスファイル(<sitemapindex>)」を用意します。(出典:Google検索セントラル サイトマップの作成と送信)
動画サイトマップの書き方
動画コンテンツを検索エンジンに正しく認識させるには、通常のXMLサイトマップに動画情報を追加するか、動画専用のサイトマップを用意します。urlset タグに動画用の名前空間 http://www.google.com/schemas/sitemap-video/1.1 を追加し、<video:video> ブロックの中にサムネイルURL、タイトル、説明、再生URLなどを記述します。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:video="http://www.google.com/schemas/sitemap-video/1.1">
<url>
<loc>https://www.example.com/videos/sample.html</loc>
<video:video>
<video:thumbnail_loc>https://www.example.com/thumbs/sample.jpg</video:thumbnail_loc>
<video:title>サンプル動画タイトル</video:title>
<video:description>動画の説明文を入れます。</video:description>
<video:content_loc>https://www.example.com/videos/sample.mp4</video:content_loc>
<video:duration>120</video:duration>
</video:video>
</url>
</urlset>
必須項目は thumbnail_loc・title・description・content_loc(または player_loc)です。任意項目には再生時間(秒)、公開日、視聴回数、評価などがあり、適切に記述するほど動画検索結果でリッチに表示されやすくなります。詳細仕様は(出典:Google検索セントラル 動画サイトマップ)を参照してください。
なお、画像情報を含める場合も同様に、xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" を追加し、<image:image> ブロックで <image:loc> を記述します。既存のXMLサイトマップに統合する方法と専用ファイルを別途用意する方法のどちらでも効果に大きな違いはないので、運用しやすい構成を選びましょう。
XMLサイトマップをカテゴリごとに分割すべき理由
サイトの規模が拡大したり、扱うコンテンツの種類が増えたりすると、1つのXMLサイトマップにすべてのURLをまとめる運用には限界が見えてきます。GoogleのJohn Mueller氏は、サイトマップを役割別に分割することはSEO上の不利益にはならず、むしろトラッキングやクロール最適化の観点で有効だと繰り返し説明しています。ここでは、サイトマップを分割すべき5つの理由と、実務上の判断軸を整理します。

分割すべき5つの理由
- URLの種類別にグループでトラッキングできる:商品ページ・記事・カテゴリページなどを別ファイルにすると、Search Consoleでカバレッジを種類ごとに把握できる
- 鮮度別にクロール頻度を最適化できる:更新が頻繁なURLとほぼ変わらないURLを分けることで、クローラーの巡回効率が上がる
- 5万URL・50MB上限への先回り対応:1ファイル50,000URL/非圧縮50MBという仕様上限に達する前に、計画的に分割しておける
- hreflangサイトマップの容量問題への対応:多言語サイトでhreflangを記述するとサイズが膨張しやすく、分割が事実上必須になる
- CMS/システム側で自動分割されるケース:WordPressや大手プラグインは規模に応じて自動分割し、サイトマップインデックスでまとめる仕様になっている
URLの種類別にグループでトラッキングするため
ECサイトであれば「商品詳細」「カテゴリ」「ブログ記事」、メディアサイトであれば「記事」「タグ」「著者ページ」など、URLは性質ごとに分類できます。これらを1つのサイトマップに混在させると、Search Consoleの「サイトマップ」レポートで送信URL数と登録URL数を見ても、どの種類のページがインデックスされていないのか切り分けられません。種類別に分割しておくと、たとえば「商品サイトマップだけ登録率が低い」といった異常を素早く検知でき、原因調査の精度が上がります。インデックス状況の可視化は、クロール済み – インデックス未登録のような問題を早期に発見するうえでも有効です。
鮮度別に分けてクロール頻度を最適化するため
Googleはサイトマップに記述されたlastmodを、再クロールの優先度を判断するシグナルとして利用しています。更新が頻繁な新着記事と、ほぼ変わらないアーカイブページが同じファイルに入っていると、クローラーは全体を平均的に巡回しがちです。新着・更新中心のサイトマップと、安定したアーカイブ用のサイトマップに分けておけば、前者は高頻度で、後者は低頻度でクロールされる形に最適化されやすくなります。クロールバジェットを意識する大規模サイトほど、この鮮度別分割の効果は大きくなります(参考:Googleのクローラーの仕組みとクロールバジェット)。
5万URL・50MB上限への先回り対応
XMLサイトマップ1ファイルの仕様上限は、50,000URLまで、かつ非圧縮で50MBまでと定められています(出典:Google検索セントラル)。この上限を超える場合は、複数のサイトマップに分割し、それらをまとめる「サイトマップインデックスファイル」を作成する必要があります。現時点で上限に達していなくても、運用が進めば突然超過する可能性があるため、早めに種類別・鮮度別の分割設計を入れておくと、後から構造を作り直す手間を避けられます。
hreflangサイトマップの容量問題への対応
多言語・多地域展開のサイトでは、各URLに対して言語・地域ごとの代替URLをxhtml:linkで列挙する必要があり、1URLあたりの記述量が一気に増えます。結果として、URL数は5万に達していなくても、ファイルサイズが50MB上限に先にぶつかるケースが少なくありません。言語別・地域別にサイトマップを分割し、サイトマップインデックスでまとめる構成にしておくと、容量制限を回避しつつ、hreflangの設定を健全に保てます。
システムが自動で分割しているケース
WordPress標準のサイトマップ機能や、Yoast SEO、All in One SEOといった主要プラグインは、URL数が一定を超えると自動的に複数ファイルへ分割し、sitemap_index.xmlのようなサイトマップインデックスを生成する仕様になっています。たとえばWordPress標準のサイトマップは1ファイルあたり2,000URLで分割されます。すでにCMS側で適切に分割されている場合は、それをSearch Consoleにインデックスファイルとして登録するだけで十分です。自前で1枚の巨大なサイトマップを維持する必要はありません。
実務上の判断軸
分割の要否は、URL総数・更新頻度・多言語対応・運用体制の4点で判断するのが現実的です。数千URL規模で更新も穏やかなサイトであれば、CMSの標準動作に任せて差し支えありません。一方で、数万URLを超える、毎日大量にコンテンツを追加する、複数言語を運用しているといったサイトでは、URLタイプ別・鮮度別・言語別の3軸を組み合わせた分割設計を最初から組み込んでおくと、後の運用負荷とクロール効率の両面で大きな差が出ます。
よくある質問(FAQ)
- Q. XMLサイトマップを設置すると検索順位は上がりますか?
- A. XMLサイトマップ自体が検索順位を直接押し上げる効果はありません。ただし、クローラーがページを発見しやすくなり、インデックスまでの時間が大幅に短縮されるため、新規ページや更新ページが検索結果に反映されるスピードを早める間接的な効果が期待できます。
- Q. XMLサイトマップはどこに設置すればよいですか?
- A. 一般的にはウェブサイトのトップディレクトリ(ルート)にsitemap.xmlというファイル名でアップロードします。設置後はGoogle Search ConsoleにサイトマップのURLを登録することで、検索エンジンに確実に認識させることができます。
- Q. XMLサイトマップは更新のたびに送信し直す必要がありますか?
- A. 一度Search Consoleに登録していれば、検索エンジンが定期的にサイトマップを取得しに来るため、毎回手動で再送信する必要はありません。ただし、lastmodなどの最終更新日情報を正しく反映させ、サイトマップ自体が自動更新される仕組みにしておくことが重要です。
- Q. XMLサイトマップに記載できるURLの上限はいくつですか?
- A. 1つのXMLサイトマップに記述できるURLは最大50,000件、ファイルサイズは50MB(非圧縮)までです。これを超える場合はサイトマップを分割し、サイトマップインデックスファイルでまとめて管理する必要があります。
- Q. WordPressでXMLサイトマップを作るには専用プラグインが必要ですか?
- A. WordPress 5.5以降は標準でXMLサイトマップを生成する機能が組み込まれているため、必ずしも専用プラグインを入れる必要はありません。より細かい制御(特定ページの除外、優先度の指定、画像・動画情報の追加など)を行いたい場合に、プラグインの導入を検討すると良いでしょう。
- Q. XMLサイトマップとHTMLサイトマップはどちらも必要ですか?
- A. SEOの観点ではXMLサイトマップを優先して用意すれば十分で、HTMLサイトマップは必須ではありません。GoogleのJohn Mueller氏も、HTMLサイトマップが必要と感じる場合はナビゲーション構造そのものを改善した方がよいと述べています。

