30秒で理解
sitemap.xml は、検索エンジンに「このサイトには、このURLがあります」とまとめて伝えるXMLファイルです。ページだけでなく、画像・動画・ニュースなどの情報を含める形式もあります。
サイト内リンクが整っていれば、検索エンジンは多くのページを見つけられます。それでも、新しいサイト、ページ数の多いサイト、画像や動画が多いサイトでは、発見の手がかりを追加する用途があります。
広い倉庫の在庫表を、入口に置いておくようなものです。在庫表があれば探す順番を決めやすくなりますが、載せた商品が必ず売り場に並ぶわけではありません。サイトマップもURLの発見を助けますが、クロールや検索結果への掲載を命令するファイルではありません。
どういう仕組みか
通常のXMLサイトマップは、<urlset> の中にURLごとの <url> を並べ、必須の <loc> に完全なURLを書きます。必要に応じて、重要な更新を行った日時を <lastmod> に記録します。
| 要素 | 役割 | 実務での扱い |
|---|---|---|
<urlset> | URL一覧全体の入れ物 | http://www.sitemaps.org/schemas/sitemap/0.9 の名前空間を指定する |
<url> | 1つのURLのまとまり | URLごとに1つ置く |
<loc> | URLの場所 | /about/ ではなく https://example.com/about/ のような絶対URLにする |
<lastmod> | そのページの最終更新日時 | 本文などの重要な更新を、実際に確認できる場合だけ書く |
| sitemap index | 複数のサイトマップの一覧 | 1ファイルに収まらないときに使う |
<changefreq> と <priority> を書いても、Googleはその値を利用しません。CMSや静的サイトジェネレーターが自動生成する場合は、手書きファイルを追加する前に、生成元と出力先を確認します。
どこで見えるか
まずブラウザーで、サイトのルートにある https://自分のドメイン/sitemap.xml を開きます。サイトによってファイル名が違ったり、複数のファイルをまとめるサイトマップインデックスが返ったりします。
| 確認する場所 | 見るもの | 次の判断 |
|---|---|---|
ブラウザーの サイトのルート/sitemap.xml | XMLが返るか、<loc> のURLが意図したドメインか | 404やHTMLが返るなら、生成設定と公開先を確認する |
robots.txt | Sitemap: https://... の行 | サイトマップの場所を明示するなら、完全なURLで追記する |
| Search Console の「サイトマップ」 | 送信状態、最終読み込み、検出されたページ数、エラー | エラーの詳細を開き、XMLと公開URLを突き合わせる |
| XML本文 | リダイレクト先や404のURL、重複URL | 検索結果に出したい正規URLだけを残す |
Search Consoleに登録する場合は、プロパティを間違えないように選び、「サイトマップ」画面でサイトマップのURLを送信します。robots.txt に場所を書く方法もあります。どちらを使う場合でも、まずブラウザーで実際のXMLを開けることを確認します。
よくある誤解
サイトマップにURLを書けば、検索結果に載るわけではありません。サイトマップは発見やクロールの手がかりです。ページの品質、重複、アクセス制限、正規URLなどの判断は別に行われます。
| 誤解 | 実際の扱い |
|---|---|
| 全URLを入れるほどよい | 検索結果に出したい正規URLを入れる。管理画面や検索結果に出したくないURLは混ぜない |
| サイトマップがあれば内部リンクは不要 | サイト内の重要ページへたどれるリンク構造は別に整える |
lastmod はファイル生成日を書けばよい | ページの重要な更新日を、検証できる値として書く |
| 相対URLでもよい | <loc> には完全な絶対URLを書く |
| 送信済みなら処理済みである | Search Consoleの読み込み結果とエラーを確認し、対象URLの状態を別途見る |
| 大きなサイトでも1ファイルでよい | 1ファイルあたり50,000 URLまたは圧縮前50MBを超えるなら分割し、サイトマップインデックスでまとめる |
これを踏まえて何をするか
サイトマップが未設定、またはエラーが出ているときは、次の順で1つずつ確認します。
| 順番 | 開く場所 | 操作 | 判定 |
|---|---|---|---|
| 1 | ブラウザー | https://自分のドメイン/sitemap.xml を開き、XMLが返ることを確認する | 開けなければ、CMSまたはサイト生成設定のサイトマップ出力を開く |
| 2 | XML本文 | <loc> を上から数件読み、https・正しいホスト・検索結果に出したいURLかを見る | 404、リダイレクト元、重複URLがあれば生成条件を直す |
| 3 | 各ページのHTML | <link rel="canonical"> とサイトマップの <loc> を比べる | 代表URLが違えば、canonicalとサイトマップの出力元をそろえる |
| 4 | Search Console → サイトマップ | サイトマップURLを送信し、送信後の詳細を開く | 読み込みエラーがあれば、表示された行やURLをXMLで再確認する |
| 5 | Search Console → ページのインデックス登録 | サイトマップ経由で除外されたURLの理由を開く | noindex やクロール拒否など、表示された原因ごとに切り分ける |
サイトマップの送信後に確認する最初の画面は、Search Consoleの「サイトマップ」です。そこで対象ファイルの詳細を開き、エラーがあればエラーURLを1件だけ選んで、ブラウザーとXML本文で同じURLを確認してください。
つまずきどころ
| 症状 | まず見る場所 | 切り分け |
|---|---|---|
| 送信したURLが読み込まれない | Search Consoleのサイトマップ詳細 | 送信先のプロパティ、XMLのHTTPステータス、公開先のパスを確認する |
| 検出URLが想定より少ない | XMLの<loc>と生成設定 | 重要ページがXMLに入っているか、サイトマップインデックスの子ファイルが読めるかを見る |
| URLがインデックス登録されない | Search ConsoleのURL検査 | canonical、noindex、robots.txtによるブロック、ページのHTTPステータスを順に確認する |
| Googleが別のURLを正規URLにする | URL検査の「Googleが選択した正規URL」 | canonical、内部リンク、リダイレクト、サイトマップのURLが一致しているか比べる |
| 更新日をどう書くか分からない | CMSの更新履歴とページ本文 | 重要な本文・構造化データ・リンクの更新日を確認できないなら、lastmod を省く |
判定がつかない場合は、対象URLを1件に絞り、XMLの該当行、ブラウザーで開いた結果、Search ConsoleのURL検査結果を保存します。最初に押す場所は Search Console の「サイトマップ」画面です。