サイトマップチェック
サイトを入力すると、クローラーと同じ手順でサイトマップを探して読み込み、検索エンジンが捨てるエントリーを一覧にします。サイトマップの場所がわかっている場合は、そのアドレスを入力すればファイルを直接テストできます。
サイトマップは「お願い」の一覧で、命令ではない
検索エンジンはリンクをたどってページを見つけます。サイトマップはその手間を省くものです。クロールしてほしいページのアドレスをすべて書いた1つのファイルなので、リンクが見つかるかどうかに左右されません。形式はシンプルです。<urlset>の中に<url>エントリーが並び、各エントリーに必要なのは完全なアドレスを書いた<loc>だけです。
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.example.com/pricing</loc>
<lastmod>2026-03-14</lastmod>
</url>
</urlset>1つのファイルに入れられるのは50,000件のアドレスまで、圧縮前のサイズで50 MBまでです。大きなサイトは一覧を複数のファイルに分け、<sitemapindex>を公開します。これは、エントリーがほかのサイトマップになっているサイトマップです。インデックスから別のインデックスを指すことはできません。
ページを載せても、頼めるのはクロールまでです。その後インデックスされるかどうかは、ページ次第です。
このチェックがファイルを見つけて読む方法
ドメインだけを入力すると、当サーバーが/robots.txtを取得し、Sitemap:の行を探します。複数ある場合は最初の1つを読み、残りは1つずつテストできるよう一覧にします。1つもなければ/sitemap.xml、/sitemap_index.xml、/wp-sitemap.xmlの順に試し、サイトマップが入っていた最初のものを使います。
ファイルはストリーミング型のXMLパーサーで、ダウンロード5 MBまで読み込みます。gzipファイルは先に展開します。インデックスの場合は、最初の5つの子サイトマップを取得して同じように読み、読まなかった数をレポートに表示します。最後に、一覧全体から散らばるように選んだ5つのアドレスに、リダイレクトをたどらずに1回ずつリクエストを送り、どう応答するかを確認します。
各結果の意味
| チェック項目 | クローラーにとっての意味 |
|---|---|
| ステータス、Content-Type、サイズ | ファイルは200を返す必要があります。リダイレクトはたどりますが、エントリーを判定する基準のアドレスが変わります。HTMLが返ってくる場合、たいていはファイルが存在せず、サイトが「見つかりません」ページをステータス200で返しています。 |
| 整形式のXML、名前空間 | XMLパーサーは最初の構文エラーで止まるため、おかしな文字が1つあるだけで、それ以降のエントリーがすべて読まれなくなります。xmlnsの値は正確にhttp://www.sitemaps.org/schemas/sitemap/0.9である必要があります。 |
| 絶対URL、同じホストとスキーム | サイトマップに載せられるのは、そのサイトマップを配信しているホストのページだけで、スキームも同じでなければなりません。example.comとwww.example.comは別のホストです。 |
| フォルダーのルール | /blog/に置いたサイトマップには、/blog/以下のアドレスしか載せられません。robots.txtでファイルを宣言するとこの制限はなくなり、その場合このチェックは省略します。 |
| 重複、長すぎるURL、エンコードされていないURL | ファイルとしては機能しますが、どれも生成ツールが正規のアドレスを載せていないサインです。 |
| lastmod | W3C形式の日付である必要があります。例:2026-03-14または2026-03-14T09:30:00+00:00。未来の日付は警告します。10件以上あるファイルで全エントリーが同じ日付の場合も警告します。 |
| 抜き取り確認 | 404は一覧が古いことを意味します。301や302は、一覧に最終的なアドレスではないものが載っていることを意味します。 |
<priority>と<changefreq>は参考として表示するだけです。Googleはどちらも無視すると明言しています。
よくある不具合の直し方
- パーサーがファイルの途中で止まる
- アドレスの中にそのままの
&がないか探してください。XMLの中では&と書くので、?a=1&b=2は?a=1&b=2になります。<?xmlの前に空行やPHPの警告が出力されていると、ファイルは最初の1バイト目から壊れます。 - アドレスのホストが違う、または
http://になっている - 生成ツールは、設定にあるサイトのアドレスをもとにアドレスを作ります。そこを、リダイレクト後に訪問者が実際にたどり着く形に設定してから、再生成してください。
- lastmodがすべて同じ
- 生成ツールが自分の実行時刻を書き込んでいます。各ページを最後に編集した日付を使うよう設定するか、タグそのものを外してください。間違った日付は、日付がないより悪い結果になります。実際の更新と合わないと検索エンジンが気づくと、サイト全体でそのタグを信用しなくなります。
- 抜き取り確認で消えたページやリダイレクトされるページが出る
- ページを削除・移動したらサイトマップを再生成し、200を返して自分自身を正規URLとしているアドレスだけを載せてください。ページ内のリンクについてはリンク切れチェッカーがあります。
- robots.txtで宣言されていない
- ファイルのどこかに、完全なアドレスを書いた1行を追加してください:
Sitemap: https://www.example.com/sitemap.xml
このチェックでわからないこと
読み込むのは1ファイルあたり最大5 MB、インデックスの子は5つまでです。そのため、とても大きなサイトでは、件数は読み込んだ部分についての数字になります。重複はファイルごとに探しており、ファイルをまたいだ重複は見ていません。画像、動画、ニュース、hreflangの拡張は数えますが、検証はしません。
5ページはあくまで抜き取りです。5つとも200を返しても、ほかの数百ページがそうでないこともあります。また、200を返すページでもnoindexタグがついていたり、canonicalが別の場所を指していたりすることがあります。ページ内SEOチェックで1ページごとに両方を確認できます。サイトマップを送信すれば、サーチコンソールがサイトマップ全体について報告してくれます。
よくある質問
ウェブサイトのサイトマップはどこにありますか?
サイトの/robots.txtを開き、Sitemap:で始まる行を探してください。なければ/sitemap.xml、次に/sitemap_index.xml(WordPressのYoastやRank Math)、/wp-sitemap.xml(バージョン5.5以降のWordPress本体)を試してください。このチェックはその手順を代わりに行います。
小さなサイトにもサイトマップは必要ですか?
必須ではありません。すべてのページにメニューから数クリックでたどり着けるなら、クローラーはすべて見つけます。サイトマップが役に立つのは、サイトが新しくほかのサイトからのリンクが少ないとき、規模が大きいとき、検索フォームからしかたどり着けないページがあるときです。
サイトマップにはURLをいくつまで入れられますか?
1ファイルあたり50,000件、展開後のサイズで50 MBまでです。どちらかを超える場合は、一覧を複数のファイルに分けてサイトマップインデックスにまとめてください。インデックス自体にも最大50,000個のサイトマップを載せられます。
Googleはpriorityとchangefreqを使いますか?
使いません。Googleはどちらも無視し、読むのは<loc>と、そのサイトで信頼できるとわかった場合の<lastmod>だけです。Bingもlastmodを重視しています。ほかの2つのタグは残しておいても害はありません。
lastmodの日付はどの形式にすればいいですか?
ISO 8601のW3Cプロファイルです。日付だけで十分です:2026-03-14。時刻もつける場合は、日付と時刻の間にTを入れ、最後にタイムゾーンをつけます:2026-03-14T09:30:00+00:00または2026-03-14T09:30:00Z。
サイトマップは正しいのに、なぜページがインデックスされないのですか?
サイトマップは、ページが存在することを検索エンジンに伝えるだけです。内容が薄い、重複している、robots.txtでブロックされている、noindexがついている、canonicalタグが別のアドレスを指している、といったページは、インデックスしないと判断されることがあります。インデックスされていないページをいくつか、1つずつ確認してください。