AZ Tools

Sitemap.xml バリデータ & インスペクタ

ネットワーク

Google・Bing など主要検索エンジンが使う Sitemaps 0.9 プロトコルに対して `<urlset>` または `<sitemapindex>` を検証します。ルート要素を自動検出し、ファイルあたり 50 000 URL/サイトマップ制限、非圧縮 50 MB 制限、http/https の絶対 URL、`<loc>` 長 ≤ 2048 文字、`changefreq` が always / hourly / daily / weekly / monthly / yearly / never のいずれか、`priority` が [0.0, 1.0] 範囲、`lastmod` が有効な W3C / ISO 8601 で未来日でないかを検査し、重複 `<loc>` は警告。`<urlset>` ファイルでは changefreq / priority バケット / ホスト名の分布も表示し、ミス(例:全 URL に priority 1.0 — Google が明確に避けるよう推奨、または 1 サイトマップにホスト混在 — 通常はミス)を検出可能。

まだ入力なし — 開始するには sitemap.xml を貼り付け/読み込み。

Sitemaps 0.9(sitemaps.org)に対して検証。制限:サイトマップごと 50 000 URL、非圧縮 50 MB、<loc> 2048 文字。インデックスは最大 50 000 子サイトマップ。全検査ローカル — URL は取得しません。

使い方

  1. sitemap.xml の内容をボックスに貼り付け、または「Load file」ボタンでディスクから読み込み。
  2. サンプルがなければ「Paste sample」で小さな例を読み込み。
  3. ステータスバッジを確認:エラーは検索エンジンのパースを妨げ、警告は有効だが疑わしいケース。
  4. 下の changefreq / priority / ホストヒストグラムでパターン確認(例:全 priority が 1.0 → 無意味、ホスト混在 → 通常ミス)。

よくある質問

サイトマップ内の URL を実際に取得?
いいえ — すべてブラウザ内で実行、ネットワーク呼び出しなし。入力した XML を Sitemaps 0.9 仕様に照らして検証するのみ。URL 自体の到達性検証は別途クローラや `curl -I` で。
なぜ Google は priority を全部 1.0 にするなと言う?
`priority` は絶対値ではなく自サイトマップ内の相対値だから。全 URL が 1.0 だとフィールドが情報をまったく持たない — Google ドキュメントも全 priority が同じサイトマップは無視と明記。意味のある範囲を使うこと(ホーム 1.0、カテゴリ 0.8、記事 0.6、アーカイブ 0.3 — または priority 自体を入れない)。
サイトマップインデックスとは?いつ必要?
`<sitemapindex>` はサイトマップのサイトマップ。単一サイトマップが 50 000 URL または非圧縮 50 MB を超える場合に必要。インデックスは子サイトマップを URL で列挙、各子は通常の `<urlset>`。Google はインデックスごとに最大 50 000 子サイトマップ、ネストも可。
lastmod はどんなフォーマット?
仕様上 W3C Datetime — 日付のみ(`2026-06-04`)またはオフセット付き ISO 8601 完全(`2026-06-04T12:00:00+00:00`)。それ以外は警告。`Date.parse` は寛容で大半は通るが、全検索エンジンで安全にしたければ仕様準拠を。

関連ツール