日本語 English(Home)

XMLサイトマップとは?書き方・送信方法とレポートの見方

XMLサイトマップは、検索エンジンにページの一覧と更新日を伝えるファイルです。書き方のサンプル、載せるURLの判断、WordPressでの作り方、送信後のレポートの見方とよくある失敗を順に整理します。

XMLサイトマップとは?書き方・送信方法とレポートの見方

この記事の要点:

  • XMLサイトマップは、検索結果に出したい正規のURLの一覧を検索エンジンに伝えるファイルで、インデックスを約束するものではない
  • locは必須で、lastmodは重要な変更をした日だけ更新する。Googleはchangefreqとpriorityを使わない
  • noindex・別URLへのcanonical・転送や404・robots.txtで止めたURLは載せない
  • 1ファイルは50MB(圧縮前)または50,000URLまで。超えるときはサイトマップ インデックスで分けてまとめる
  • Search Consoleで送信したら「成功しました」だけで安心せず、検出されたページ数と公開しているページ数を比べる

XMLサイトマップとは

XMLサイトマップとは、検索結果に出したいページのURLを一覧にして、検索エンジンに伝えるためのXML形式のファイルです。Googleはこのファイルを手がかりにページを見つけ、どのURLを、いつごろ見直せばよいかを判断します。

サイトマップは「このURLを見つけてください」という案内であり、インデックス(検索エンジンのデータベースへの登録)を約束するものではありません。載せたURLでも、内容や重複の状況によっては登録されないことがあります。

HTMLサイトマップとの違い

種類読む相手形式目的
XMLサイトマップ検索エンジンのクローラーXMLファイル(例:/sitemap.xml)URLの一覧と更新日を機械的に伝える
HTMLサイトマップサイトを訪れた人普通のWebページサイトの全体像を見せ、目的のページへ案内する

この記事は主に検索エンジン向けのXMLサイトマップを扱います。サイトを作るときの「サイトマップ」は、ページの階層を描いた構成図を指すこともあります。

HTMLサイトマップの作り方と、当サイトの例

HTMLサイトマップは、訪れた人が目的のページを探せるよう、主なページへのリンクを分類して並べたページです。作るときは次の点を確かめます。

  • 分類ごとに見出しを付け、階層をメニューと合わせる
  • 記事が多い場合は全記事を並べず、一覧ページやカテゴリーへのリンクにまとめる
  • 公開中のページと自動でそろう仕組みにし、リンク切れを定期的に点検する

当サイト(seoagent.jp)では、利用者向けのサイトマップ(/sitemap/)にフッターと同じ分類で主なページ・機能のページ・規約類へのリンクを並べ、記事は記事一覧とトピックのページからたどれるようにしています。検索エンジン向けには、SEOプラグイン(Rank Math)のXMLサイトマップ(/sitemap_index.xml)をrobots.txtのSitemapの行で示しています(2026年10月14日に確認)。

XMLサイトマップが必要なサイトの目安

Googleは、ページ同士が適切にリンクされていれば、サイトマップがなくても多くのページを見つけられると説明しています。そのうえで、ページ数が多いサイト、公開したばかりで外部からのリンクが少ないサイト、どこからもリンクされていないページが多いサイト、動画や画像が多いサイトでは役立つとしています。

サイトの状況判断の目安
ページ数が少なく(目安として500ページ程度以下)、すべてのページがメニューや内部リンクでつながっているなくても困らないことが多い。CMSが自動で出すなら、そのまま使えばよい
記事やページを毎週のように追加・更新している用意する。lastmod(最終更新日)で更新を伝えられる
ECサイトの商品ページなど、数千〜数万のURLがある用意する。種類ごとに分け、サイトマップ インデックスでまとめる
開設したばかりで、外部からのリンクがほとんど無い用意して、Search Consoleから送信する
サイト移転やURLの変更をした直後新しいURLのサイトマップを用意し、送信する

作っておいて害はないため、迷ったら用意しておけば十分です。

XMLサイトマップの書き方(タグとサンプル)

基本の形(urlset)

1つのファイルに、ページごとの<url>を並べます。例のURLと日付は説明用です。

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://example.com/</loc>
    <lastmod>2026-10-01</lastmod>
  </url>
  <url>
    <loc>https://example.com/blog/sitemap-guide/</loc>
    <lastmod>2026-10-05T10:30:00+09:00</lastmod>
  </url>
</urlset>
タグ役割Googleでの扱い・書き方の注意
urlsetファイル全体を囲むxmlns(名前空間)を必ず書く
url1ページ分の情報を囲むページの数だけ繰り返す
locページのURL必須。「https://」から始まる絶対URLで、正規のURLを書く
lastmod最終更新日正確だと確かめられる場合に使われる。「2026-10-01」または時刻とタイムゾーン付きで書く
changefreq更新の頻度Googleは使用しない
priorityサイト内での優先度Googleは使用しない

URLに「&」などの記号が入る場合は、「&amp;」のようにエスケープします。ファイルはUTF-8で保存します。

lastmodの正しい付け方

  • 本文、構造化データ、リンクなど、ページの重要な部分を変えた日にする
  • フッターの年号やサイドバーの「人気記事」が変わっただけでは更新しない
  • サイトマップを作り直した日時を、全ページに一律で入れない

例:ブログの記事に新しい手順の節を足したときは、その記事のlastmodだけを更新します。全ページの日付が毎日そろって変わるサイトマップは、Googleから「当てにならない値」と見なされやすくなります。

上限とサイトマップ インデックス

1つのサイトマップは、50MB(圧縮前)または50,000URLまでです。これを超える場合や、種類ごとに分けて管理したい場合は、複数のサイトマップを「サイトマップ インデックス ファイル」でまとめます。

<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <sitemap>
    <loc>https://example.com/sitemap-posts.xml</loc>
    <lastmod>2026-10-05</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-products.xml</loc>
  </sitemap>
</sitemapindex>

例:商品ページが12万件あるECサイトなら、商品を3つのファイルに分け、記事・カテゴリーのファイルと合わせてインデックスにまとめます。インデックスの中に、別のインデックスを入れることはできません。種類ごとに分けておくと、Search Consoleで「商品ページだけ登録が少ない」といった偏りに気づきやすくなります。

画像・動画・ニュース・多言語の拡張

画像、動画、ニュース記事の情報や、言語ごとの対応ページ(hreflang)も、名前空間を追加してサイトマップに書けます。通常のブログや企業サイトでは、まず基本の形が正しく出ているかを優先します。

サイトマップに載せるURL・載せないURL

サイトマップは「検索結果に出したい正規のURLの一覧」です。Googleは、サイトマップに載っていることを正規のURLを選ぶ手がかりの1つにします。迷うURLは、次の表で判断します。

URLの種類載せるか理由
記事・サービス・商品など、検索から来てほしいページ載せるサイトマップの本来の対象
noindexを付けたページ載せない「登録して」と「登録しないで」の矛盾した合図になる
別のURLをcanonicalに指定しているページ載せない正規のURLだけを載せる
301などで転送しているURL、404のURL載せない転送先・現存するURLに置き換える
robots.txtでクロールを止めているURL載せないGoogleが中身を読めない
並べ替え・絞り込みのパラメータ付きURL(例:?sort=price)原則載せない中身が重なるURLが増える
記事がまだ無いカテゴリー一覧、検索結果ページ載せない読者にとって中身の薄いページ
ログイン後のページ、テスト環境のURL載せない検索から来ても使えない

例:不動産会社のサイトで、成約済みで削除した物件ページがサイトマップに残っていると、Googleは404のURLを繰り返し確かめに来ます。物件の掲載終了と同時にサイトマップから外れる仕組みにしておきます。

「https://」と「http://」、wwwの有無、末尾のスラッシュの有無など、URLの表記も1つにそろえます。

作り方:WordPress本体のサイトマップとSEOプラグイン

WordPress本体のサイトマップ

WordPressは、バージョン5.5から本体にサイトマップの機能があります。特に設定しなくても、次のようなURLで出力されます。

  • インデックス:https://example.com/wp-sitemap.xml
  • 投稿:/wp-sitemap-posts-post-1.xml、固定ページ:/wp-sitemap-posts-page-1.xml
  • カテゴリー・タグ:/wp-sitemap-taxonomies-category-1.xml など
  • 投稿者:/wp-sitemap-users-1.xml

本体のサイトマップは手軽ですが、「記事のないタグ」や「投稿者アーカイブ」まで載ることがあり、細かい除外はコードで指定する必要があります。管理画面の「設定」→「表示設定」で「検索エンジンがサイトをインデックスしないようにする」にチェックが入っていると、本体のサイトマップは出力されません。公開前のチェックを外し忘れていないか確かめます。新しくメディアを公開するときの確認項目の全体は「オウンドメディアの立ち上げ手順」にまとめています。

SEOプラグインのサイトマップ

SEOプラグインの多くは、本体のサイトマップを止めて、独自のサイトマップ(例:/sitemap_index.xml)を出します。noindexにしたページを自動で外す、投稿タイプごとに含めるかを選べる、といった設定が画面から行えるのが利点です。

状況向いている方法
小規模なブログで、特に除外したいページが無いWordPress本体のサイトマップ
noindexのページや記事のないタグを外したい、SEOプラグインを既に使っているSEOプラグインのサイトマップ(本体の分は止める)
WordPress以外の仕組みで作ったサイト、数万件以上の商品データがあるデータベースから自動で書き出すスクリプト、CMSの機能

どの方法でも、送信するサイトマップは1系統にします。本体のwp-sitemap.xmlとプラグインのsitemap_index.xmlを両方送信していると、片方だけが古い内容のまま残ることがあります。プラグインの切り替え後は、両方のURLをブラウザで開き、どちらが有効かを確かめます。

手で書く・ツールで作る場合

数十ページの静的なサイトなら、上のサンプルを手で書いても構いません。ただし、ページを追加・削除するたびに更新が必要です。更新を忘れやすい運用なら、公開の作業と同時にサイトマップが作り直される仕組みを選びます。

Search Consoleで送信する手順

  1. サイトマップのURLをブラウザで開き、XMLが表示されること、載っているURLが想定どおりであることを確かめます。
  2. Search Consoleで対象のプロパティを選び、左のメニューから「インデックス作成」→「サイトマップ」を開きます(オーナー権限が必要です)。
  3. 「新しいサイトマップの追加」に、サイトマップのURL(例:sitemap_index.xml)を入力し、「送信」を押します。
  4. 「送信されたサイトマップ」の一覧に表示され、ステータスが「成功しました」になることを確かめます。

robots.txtに次の1行を書いておく方法もあります。Search Consoleを使っていない検索エンジンにも場所を伝えられます。

Sitemap: https://example.com/sitemap_index.xml

サイトマップは公開したまま更新すれば、Googleが定期的に読み直します。内容を変えるたびに送信し直す必要はありません。1 ページずつ URL 検査から依頼する方法との使い分けは「インデックス登録をリクエストする手順」で説明しています。サイトマップはサイトのルート(例:https://example.com/)に置くのが基本です。

サイトマップ レポートの見方とステータス

ステータスの意味と対処

ステータス意味まず確かめること
成功しました読み込みと処理ができた「検出されたページ」の数が、載せたつもりの数と合っているか
エラーあり読み込めたが、形式などに問題があるサイトマップ名をクリックして詳細を開き、エラーの種類と該当箇所を見る
取得できませんでしたファイル自体を取得できなかったURLの打ち間違い、404、robots.txtでのブロック、ログインやIP制限がかかっていないか

画面の文言は、表示言語や時期によって少し異なることがあります。「取得できませんでした」は、送信直後に一時的に出ることもあるため、URLを開けることを確かめてから時間をおいて再度見ます。

サーチコンソールのサイトマップでよく出るエラーと直し方

サーチコンソールのサイトマップ レポートでエラーが出たら、サイトマップの行を開いてエラー名を確かめ、直してから再送信します。主なエラーは次のとおりです(Search Console ヘルプ、2026年10月に確認)。

エラー主な原因と直し方
取得できませんでしたURLの誤り(404)、robots.txtでのブロック、未対応の手動による対策。URLを開き、ルールを外す
解析エラーURLの「&」などがエスケープされていない
サイズの上限超え解凍後50MB超か50,000URL超。分けてサイトマップ インデックスにまとめる
無効な日付lastmodがW3C Datetimeの形式でない
インデックスのネストインデックスの中に別のインデックスがある
パスの不一致サイトマップと載せたURLでwwwの有無が違う

このレポートに出るのは、レポートかAPIで送信したサイトマップだけで、robots.txtで知らせたものは出ません。レポートからサイトマップを削除しても、載っていたURLがGoogleから消えるわけではありません。

載せたURLが登録されているかを見る

サイトマップ レポートで分かるのは「読み込めたか」と「URLをいくつ見つけたか」です。そのURLが検索結果に登録されたかは、「ページのインデックス登録」レポートで確かめます。

  1. サイトマップ レポートで、送信したサイトマップの行をクリックします。
  2. 「ページのインデックス登録を表示」を開くと、そのサイトマップのURLに絞り込んだ状態でレポートが表示されます。
  3. 「登録済み」と「未登録」の数を比べ、未登録の理由(例:「クロール済み – インデックス未登録」「代替ページ(適切な canonical タグあり)」)を確認します。

「代替ページ」や「noindex タグによって除外されました」がサイトマップのURLに多い場合は、載せるURLの選び方に問題があります。登録されない理由ごとの対処は「インデックスされない原因と確認手順」にまとめています。個々のURLは、URL検査ツールで「サイトマップ」の欄に送信済みのサイトマップが表示されるかも確かめられます。

よくある失敗と対処

起きること主な原因直し方
新しい記事がサイトマップに出てこないプラグインやサーバーのキャッシュが古いままキャッシュを消して作り直し、公開のたびに作り直されるようにする
サイトマップにnoindexのURLが混ざっているnoindexの設定とサイトマップの設定を別々に管理しているnoindexのページを自動で除外する設定にする
http://やwwwありのURLが載っているサイトのURL設定と、実際の正規URLが違うCMSのサイトURLを正規のURLに合わせ、作り直す
「取得できませんでした」が続く本番公開後もベーシック認証やIP制限が残っているサイトマップのURLを、ログインしていないブラウザで開けるようにする
サイトマップ名を送ったのに古い内容が読まれる本体とプラグインのサイトマップを両方送信している使わない方をSearch Consoleで削除し、送信を1系統にする
lastmodが全ページ同じ日付作り直した日時を一律に入れている各ページの実際の更新日を出す設定に直す

当サイト(seoagent.jp)の実例

当サイト(seoagent.jp)では、SEOプラグインのサイトマップが古いキャッシュのまま残り、載っていたURLが4件だけという状態でした。キャッシュを作り直し、サイトの反映のたびに作り直すようにした結果、サイトマップのURLは4件から72件になり、その後、記事の追加で150件を超えています。あわせて、記事がまだ無い一覧ページはnoindexにして、サイトマップからも外しました。

この件は、Search Consoleの「成功しました」だけでは気づけません。「検出されたページ」の数を、公開しているページ数と比べることが確認の基本です。

ほかのテクニカルSEOの記事は「テクニカルSEOの記事一覧」にまとめています。

よくある質問

サイトマップのファイル名や置き場所に決まりはありますか。

ファイル名は自由です。置き場所はサイトのどこでもかまいませんが、Googleは、Search Consoleから送信しない場合、サイトマップが対象にできるのは置いたディレクトリ以下のURLだけだと説明しています。サイトのルートに置けば、サイト全体のURLを載せられます。

記事を更新するたびに、Googleへサイトマップを知らせる必要がありますか。

必要ありません。公開しているサイトマップを更新しておけば、Googleが定期的に読み直します。以前あった、サイトマップの更新をURLで知らせる「ping」の仕組みは、Googleが2023年に廃止を発表し、現在は使えません。場所は、Search Consoleでの送信かrobots.txtのSitemapの行で伝えます。Bingには、Bing Webmaster Toolsから送信することもできます。

XMLサイトマップがあれば、HTMLサイトマップは要りませんか。

読む相手が違います。XMLサイトマップは検索エンジン向け、HTMLサイトマップはサイトを訪れた人向けの案内です。メニューやカテゴリーの一覧で目的のページにたどり着けるなら、HTMLサイトマップは無くても困らないことが多いです。

サイトマップを分ける場合、Search Consoleには何を送信しますか。

サイトマップ インデックス ファイルを1つ送信すれば、その中の各サイトマップも読まれます。種類ごとのサイトマップを個別に送信しても構いません。個別に送信しておくと、サイトマップ レポートで種類ごとの状態を見分けやすくなります。

SEOAGENTでできること

SEOAGENTでは、接続したWordPressへ記事を公開・予約公開し、公開後はSearch Consoleと連携して記事ごとの検索データを確認できます。サイトマップの生成は、WordPress本体やプラグインの機能で行います。

参考情報

関連する記事

「テクニカルSEO」の記事をすべて見る →

クロールバジェットとは:Googleの説明と、気にすべきサイト・しなくてよいサイト
テクニカルSEO

クロールバジェットとは:Googleの説明と、気にすべきサイト・しなくてよいサイト

クロールバジェットは、多くのサイトでは気にする必要がありません。Google の「クロール バジェットの管理」の原文に沿って、決まる仕組み、対策が必要なサイトの目安、クロールの統計情報での確かめ方、クロールを無駄にする原因と対処を、当サイトの点検結果とあわせて説明します。

AIでSEO対策を、もっと続けやすく。

機能と使い方、料金・契約条件は、サービス資料でご案内します。