01XMLサイトマップとは何か——役割と効果
XMLサイトマップとは、Webサイト内のURLのリストをXML形式で記述したファイルです。検索エンジンに対して「このサイトにはどんなページが存在するか」「各ページの優先度・更新頻度・最終更新日はどのくらいか」を伝えることで、Googleがサイトを効率的にクロール・インデックスするのを補助します。
Googlebotは通常、リンクをたどってサイト内を巡回します。しかし、内部リンクが少ないページ・深い階層にあるページ・公開したばかりの新しいページは、リンクをたどるだけでは発見されない場合があります。サイトマップはこうしたページの存在をGoogleに直接伝える手段です。
重要なのは、サイトマップが提供するのはあくまで「ヒント」であるという点です。サイトマップに記載されたURLが必ずインデックスされるわけではありませんし、サイトマップに記載がないURLがインデックスされないわけでもありません。しかし、サイトマップを送信することでGooglebotがより迅速・確実にページを発見しやすくなるのは事実です。
サイトマップはGooglebotへの「ご案内」。訪れてほしいページを地図に記して渡す行為であり、訪れるかどうかの最終判断はGoogleが行う。
02サイトマップが特に重要なケース
すべてのサイトにサイトマップが必須なわけではありませんが、次のような状況ではサイトマップの効果が特に大きくなります。
大規模サイト(数百〜数万ページ以上)
内部リンクだけでは全ページの存在をGooglebotが把握しきれない場合がある。サイトマップで網羅的にURL一覧を渡すことでクロール漏れを防ぐ。
新規サイトや被リンクが少ないサイト
外部からのリンクが少ないと、Googlebotがサイトを発見するルートが限られる。サイトマップで自発的にGoogleに存在を通知できる。
孤立したページが多いサイト
ナビゲーションやコンテンツリンクからたどれない「孤立ページ」は、サイトマップでしか発見されないことがある。ECサイトの商品ページ・ランディングページなどに多い。
頻繁に更新されるメディア・ニュースサイト
最新記事・速報ニュースをGoogleに迅速に通知したい場合。Googleニュースサイトマップを使うと掲載速度が上がる。
画像・動画コンテンツを多く持つサイト
画像・動画は通常のクロールでは詳細情報が取得されにくい。専用サイトマップを使うことでGoogle画像検索・Google動画検索での表示が改善される。
逆に、小規模で内部リンクが完全に整備されているサイト(数十ページ程度)であれば、サイトマップがなくてもGooglebotが問題なく全ページを発見できることが多いです。ただしサイトマップの作成・送信に大きなコストはないため、特別な理由がなければ作成しておくことを推奨します。
03サイトマップの種類
XMLサイトマップには複数の種類があります。目的に応じて適切な種類を選択します。
04基本構文と記述できる要素
URLサイトマップの基本構文
最もシンプルなXMLサイトマップの構造を見てみましょう。<urlset>がルート要素で、その中に<url>ブロックを繰り返して各ページのURLを記述します。
各要素の意味と使い方
| 要素 | 必須/推奨 | 説明と注意事項 |
|---|---|---|
<loc> |
必須 | ページのURL。https://から始まる絶対URLで記述。エンコードが必要な特殊文字(&→&など)はエスケープすること。URLは正規URLと一致させる。 |
<lastmod> |
推奨 | 最終更新日。W3C DateTime形式(YYYY-MM-DD または YYYY-MM-DDThh:mm:ss+TZD)で記述。Googleはこの値を参考に再クロール頻度を決定する。実際の更新日と一致させること。 |
<changefreq> |
任意 | 更新頻度のヒント。always / hourly / daily / weekly / monthly / yearly / neverから選択。Googleはこの値を参考にするが、必ずしも従わない。lastmodの方が信頼性が高いためこちらの方が重要。 |
<priority> |
任意 | サイト内での優先度。0.0〜1.0の数値(デフォルト0.5)。サイト内の相対的な重要度を示す。全ページを1.0にしても意味はなく、Googleは他のシグナルと組み合わせて判断する。 |
changefreqとpriorityはGoogleが「参考にする」とされていますが、実際にはほぼ無視されることが多いです。特にすべてのURLにpriority="1.0"を設定しても効果はなく、むしろ信頼性の低いサイトマップと判断される可能性があります。
lastmodは最も重要な要素で、正確な日時を記述することでGooglebotの再クロールタイミングに影響します。ただし、更新していないのにlastmodを変更することはスパム的な行為とみなされる場合があるため、実際の更新日と一致させてください。
インデックスサイトマップ(サイトマップ一覧)
1つのサイトマップファイルに含められるURLは最大50,000件、ファイルサイズは50MB(非圧縮時)が上限です。これを超える場合は、複数のサイトマップに分割し、それらをまとめるインデックスサイトマップを作成します。
インデックスサイトマップ自体もURLの制限があります(最大50,000件のサイトマップを参照可能)。大規模なECサイトやメディアサイトでは、コンテンツタイプ別(ページ・ブログ・商品・カテゴリーなど)に分割して管理するのが一般的です。
05特殊なサイトマップ
画像サイトマップ
画像サイトマップは、URLサイトマップにxmlns:image名前空間を追加し、各<url>ブロック内に画像情報を付与する形式です。Google画像検索での発見率向上に効果があります。
動画サイトマップ
動画コンテンツを持つサイト向けの拡張形式。タイトル・説明・サムネイル・再生時間・公開日など、動画に関する詳細情報をGoogleに伝えることで、Google動画検索や検索結果のリッチスニペット表示に役立ちます。
Googleニュースサイトマップ
Google Newsのパブリッシャー向け専用形式。通常のURLサイトマップとの最大の違いは、掲載から48時間以内の記事のみを含めるという制限です。過去の記事はニュースサイトマップに含めません。ニュースサイトマップを使うには、Google Newsへのパブリッシャー登録が前提となります。
ニュースサイトマップには:(1)過去2日以内に公開された記事のみ、(2)news:publication要素でメディア名と言語を指定、(3)news:publication_dateで公開日時を指定、(4)news:titleで記事タイトルを指定——が必要です。更新は数分〜数時間単位で行われるサイトが対象であり、通常のブログ記事への適用は不要です。
06制限事項——ファイルサイズとURL数
XMLサイトマップにはGoogleが定める制限があります。これらを超えると、サイトマップ全体が無効になる場合があります。
ファイルサイズを削減するには、gzip圧縮を使用することが推奨されます(ファイル名はsitemap.xml.gz)。適切に圧縮されたサイトマップは10分の1程度のサイズになるため、50,000URLを超えるような場合でも1ファイルに収められることがあります。
制限を超える場合は、複数のサイトマップファイルに分割し、インデックスサイトマップでまとめて管理します。分割の単位は「コンテンツタイプ別(ブログ・商品・カテゴリーなど)」または「更新頻度別(頻繁に更新するページ・ほぼ変わらないページ)」が管理しやすいです。
07サイトマップビルダー(インタラクティブ)
URLを追加してリアルタイムでXMLサイトマップのコードを生成します。最大20件まで追加可能です。
08Google Search Consoleへの送信手順
サイトマップを作成したら、Google Search Console(GSC)経由でGoogleに送信します。送信することで、GoogleがサイトマップのURLを認識し、クロールを開始します。
GSCにアクセスしてプロパティを選択
Google Search Console(search.google.com/search-console)にアクセスし、対象のサイトのプロパティ(ドメイン)を選択します。まだ登録していない場合は、先にサイトの所有権確認を完了させてください。
左メニューの「サイトマップ」を開く
左側のナビゲーションメニューから「インデックス作成」→「サイトマップ」を選択します。「新しいサイトマップの追加」という入力欄が表示されます。
サイトマップのURLを入力して送信
サイトのドメイン部分はあらかじめ表示されているため、sitemap.xmlなど相対パス部分のみを入力して「送信」ボタンをクリックします。インデックスサイトマップがある場合はsitemap_index.xmlを送信すれば、その中に記載された個別サイトマップも自動で処理されます。
処理完了を待つ(数時間〜数日)
送信後、「サイトマップ」ページに「送信済み」のステータスで表示されます。Googleによる読み込みと処理完了まで数時間〜数日かかることがあります。エラーがあれば「エラー」列に件数が表示されます。
ステータスと検出URLを確認する
送信後しばらくして「サイトマップ」ページに戻り、「検出されたURL」の件数を確認します。送信したURLの件数と大きく乖離している場合はエラーが発生している可能性があります。「エラー」をクリックすると詳細が確認できます。
一度送信したサイトマップは、URLが変わらない限り自動的に再読み込みされます。ただし、コンテンツを大量追加した・構成を大きく変えたなどの場合は、再送信を行うことでGooglebotに変更を素早く認識させることができます。サイトマップのURLを変更した場合は新しいURLで再送信が必要です。
09robots.txtへのサイトマップ記述
GSCへの送信に加えて、robots.txt内にサイトマップのURLを記述しておくことで、GSC経由でないクローラーにもサイトマップの存在を通知できます。
Sitemapディレクティブはrobots.txtのどのグループにも属さない独立した行で、ファイルの末尾に記述するのが慣例です。GSCからの送信とrobots.txtへの記述の両方を行うことで、より確実に複数のクローラーへの通知を実現できます。
10サイトマップに含めるべきURL・含めてはいけないURL
サイトマップには「Googleにインデックスしてほしいページ」のみを含めます。noindexやrobots.txtでブロックしているページ、コンテンツの薄いページを含めると、Googleがサイトマップの品質を低いと評価し、全体的な信頼度が下がる可能性があります。
| 判断 | URLの種類 | 理由 |
|---|---|---|
| ✓ 含める | インデックスしてほしいすべてのコンテンツページ(記事・製品・カテゴリーなど) | サイトマップの主目的。正規URLのみ記載する |
| ✓ 含める | canonicalで正規URLとして指定したURL | 正規URLとサイトマップのURLは一致させる |
| ✗ 含めない | noindexを設定しているページ | サイトマップのURLとnoindexが矛盾する。Googleがサイトマップの品質を低いと判断する |
| ✗ 含めない | robots.txtでDisallowしているページ | Googlebotがアクセスできないページを案内しても意味がない |
| ✗ 含めない | 404・301リダイレクトを返すURL | 存在しないURLや廃止URLを案内すると信頼性が下がる |
| ✗ 含めない | canonicalで別URLが正規と指定されている重複URL | 正規URLではないURLをサイトマップに含めると矛盾が生じる |
| ✗ 含めない | 会員専用・ログイン必要ページ | Googlebotはログインできないためクロール不可 |
| ✗ 含めない | 内部検索結果ページ・フィルター重複URL | 薄いコンテンツ・重複コンテンツであることが多く、サイトマップの品質を下げる |
サイトマップに掲載されているURLのnoindexを設定したり、サイトマップのURLと異なるURLをcanonicalに指定したりしていると、Googleが矛盾したシグナルを受け取り、どのURLを評価すべきか判断できなくなります。定期的に「サイトマップに掲載したURL」「canonicalで指定した正規URL」「noindexを設定していないURL」が完全に一致しているかを確認する習慣が重要です。
11よくある設定ミスとエラー対処
GSCのサイトマップレポートで表示されるエラーの主な種類と、アコーディオン形式で詳細を確認できます。
原因:サイトマップファイルのURLが間違っている、または送信したURLにサイトマップファイルが存在しない。
対処:ブラウザでサイトマップのURL(例:https://example.com/sitemap.xml)に直接アクセスし、XMLが表示されるか確認してください。404が返る場合はファイルのパスを修正します。
原因:XMLの構文が間違っている。特殊文字(&・<・>・"・')がエスケープされていない場合が多い。
対処:URLに特殊文字が含まれる場合は適切にエスケープしてください(&→&など)。XMLバリデーターツール(W3CのXML Validator等)で構文チェックすることをおすすめします。
原因:サイトマップに記載されたURLがGSCに登録されているプロパティのドメインと一致しない。例えばhttps://example.com/のプロパティにwwwありのURLが含まれている場合など。
対処:サイトマップのURLは、GSCに登録されているプロパティのドメインと完全に一致させてください。www・non-www・HTTP・HTTPSの統一が必要です。
原因:サイトマップに記載されているURLにnoindexが設定されている。サイトマップは「インデックスしてほしいページのリスト」であるはずなのに、noindexで除外指示が出ている矛盾状態。
対処:対象URLからnoindexを外すか、サイトマップからそのURLを削除するかの二択です。どちらを選ぶかは、そのページをインデックスしたいかどうかで判断します。
原因:サイトマップに掲載されているURLが301や302などのリダイレクトを返している。古いURLや廃止URLが残っている可能性がある。
対処:サイトマップからリダイレクトURLを削除し、リダイレクト先の正しいURLに更新してください。サイトリニューアル後などはサイトマップの全URL棚卸しを行うことをおすすめします。
原因:サイトマップに掲載されたURLがrobots.txtのDisallowでブロックされている。サイトマップで「ここに来てください」と言いながら、robots.txtで「ここは来てはいけません」と指示している矛盾。
対処:robots.txtのDisallowを外してクロールを許可するか、サイトマップからそのURLを削除するかの二択です。
12作成・送信チェックリスト
サイトマップ作成前の確認
- サイトマップに含めるURLを洗い出し、noindex・robots.txtブロック・リダイレクトURLを除外した
- 全URLが正規URL(canonical)と一致しているか確認した
- URL数が50,000件を超える場合は分割計画を立てた
記述内容の確認
- XMLヘッダー(
<?xml version="1.0" encoding="UTF-8"?>)が記述されている - 正しい名前空間(xmlns)が設定されている
- すべてのURLが
https://から始まる絶対URLで記述されている - 特殊文字(&など)が適切にエスケープされている
- XMLバリデーターで構文エラーがないことを確認した
- ファイルサイズが50MB未満であることを確認した
GSC送信・確認後
- GSCのサイトマップレポートにエラー・警告がないことを確認した
- 「検出されたURL数」が送信したURL数と大きく乖離していない
- robots.txtの末尾にSitemapディレクティブを追記した
- 新しいページを追加したときにサイトマップを更新する運用フローを決めた
13まとめ
XMLサイトマップはGoogleへのページ案内状です。正しく設定・送信することで、特に大規模サイト・新規サイト・孤立ページを多く抱えるサイトでのクロール・インデックス効率が大幅に向上します。
最も重要な原則は「サイトマップにはインデックスしてほしいページのみを含め、noindex・robots.txt・canonicalとの整合性を常に保つ」ことです。矛盾したシグナルはGoogleを混乱させ、意図しないインデックス状態を招きます。GSCのサイトマップレポートを定期的にチェックし、エラーや警告は速やかに対処する運用習慣を持つことが、テクニカルSEOの基盤を整える鍵になります。
この記事のポイント
- XMLサイトマップはGooglebotへのページ案内状。インデックスを保証するものではなく「ヒント」
- 大規模サイト・新規サイト・孤立ページが多いサイトで効果が大きい
- 種類は5種:URLサイトマップ・画像・動画・ニュース・インデックスサイトマップ
- 必須要素は
<loc>のみ。<lastmod>は推奨、<changefreq>と<priority>はほぼ無視される - 1ファイルの上限:URL 50,000件・ファイルサイズ 50MB(非圧縮)
- noindexページ・robots.txtブロックURL・リダイレクトURL・重複URLはサイトマップに含めない
- サイトマップのURLとcanonical・noindexの整合性を常に保つことが最重要
- GSCのサイトマップレポートを定期的に確認し、エラー・警告を速やかに対処する