仕様と根拠
検査する決まり
sitemaps.org の Sitemap protocol にもとづき、UTF-8 であること、urlset を根にして url の中に loc を書くこと、アドレスの中の & などは & のようにエスケープすること、loc は 2,048 文字未満であること、1 ファイルは 50,000 件以下かつ 50MB(52,428,800 バイト)以下であること、すべてのアドレスがサイトマップと同じプロトコルとホストであることを検査します。
重複の見つけ方
文字列が完全に同じ loc を重複として示します。さらに RFC 3986 の 6.2 に沿って、スキームとホストの大文字小文字、既定ポート、%の後ろの 16 進の大文字小文字、./ と ../ を整理したうえで同じになる loc も警告にします。パスの大文字小文字は別のアドレスとして区別します。
件数と長さの数え方
loc の件数は url の中の loc の数、長さは & などを戻したあとの文字数で、2,047 文字までが正しく、2,048 文字以上はエラーです。50,000 件ちょうどは正しく、50,001 件目からがエラーです。
根拠にした仕様・資料
| 仕様・資料 | 確認日 | 使った箇所 |
|---|---|---|
| sitemaps.org Sitemap protocol | 2026年10月28日 | UTF-8・urlset/url/loc・エンティティのエスケープ・loc は 2,048 文字未満・1 ファイル 50,000 件かつ 50MB 以下・同じプロトコルとホスト |
| RFC 3986 Uniform Resource Identifier (URI): Generic Syntax | 2026年10月28日 | 6.2.2(構文にもとづく正規化)・6.2.3(スキームにもとづく正規化) |
指摘の段階
- エラー: 仕様に反していて、正しく読めない・処理できない入力です。
- 警告: 読めるものの、仕様の推奨に反する・矛盾する・意図と違う結果になりやすい入力です。
- 情報: 誤りではありませんが、知っておくとよい扱い(読み飛ばした部分や解釈)です。
入力の扱い(送信しない仕組み)
処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。
このツールでできないこと(制約)
- XML 全体の厳密な構文検査(閉じタグの対応など)はしません。loc を取り出して検査します。lastmod・changefreq・priority の値は検査しません。
- サイトマップ インデックス(sitemapindex)は対象外です。インデックスが参照している各サイトマップを 1 つずつ貼り付けてください。
- 貼り付けられるのは 500 万文字までです。それを超える大きなサイトマップは、分割したものを 1 つずつ検査してください。
- gzip で圧縮したサイトマップは読めません。展開した XML を貼り付けてください(50MB の上限は展開後の大きさに適用されます)。
ご利用にあたって
- 検査の結果は sitemaps.org の決まりにもとづくもので、検索エンジンがサイトマップを受け付けるかどうかを保証するものではありません。
- 大きなサイトマップは、お使いの端末の性能によって処理に時間がかかることがあります。