First CH Apps / sitemap.xml 検証
サイトマップのURLを入れると、取得してXMLとして正しく読めるかを検証し、URLの件数・lastmod(更新日)の分布・サイトマップインデックスの中身(1階層)を表示します。サイトのURLだけを入れた場合は robots.txt の Sitemap 行から自動で探します。
https://example.com/sitemap.xml のように直接指定できます。https://example.com のようにサイトだけを入れた場合は robots.txt の Sitemap 行 →(無ければ)/sitemap.xml の順に探します。gzip(.xml.gz)にも対応します。
サイトマップの構文が正しくても、中のURLが404になっていては意味がありません。HTTPステータス一括チェックにURLを貼ると、まとめて生死を確認できます。
HTTPステータス一括チェックへ →サイトマップの場所は robots.txt の `Sitemap:` 行で伝えられます。tools.first-ch.com の robots.txt ジェネレーターならフォームから生成できます(完全に端末内で処理され、ファイルは送信されません)。
robots.txt ジェネレーター(tools.first-ch.com)へ →送るもの: 入力されたURLだけ。当社サーバー(Cloudflare Workers)が、そのサイトマップ(と、必要なら /robots.txt、サイトマップインデックスなら子サイトマップ)を公開ページとして取得します。1回の検証で外部への取得は最大40本までに制限しています。
保存するもの: ありません。検証はリクエストの中だけで完結し、URLも解析結果もデータベース(KV/D1)へ書き込みません。処理が終わった時点でメモリから消えます。
返すもの: 解析結果だけです(件数・lastmod の分布・行番号つきの警告と、抽出した <loc> の先頭200件)。取得したXMLの原文は再配信しません。1ファイルから読み込むのは先頭1MBまで、解析にかけるのは1回の検証で合計60万字までです(無料枠のCPU上限に収めるため)。
注意: 取得は公開GETのみで、社内ネットワーク・localhost・プライベートIP宛のURLは受け付けません。ログイン後にしか見られないサイトマップは検証できません。
POST /sitemap-check/api/check に JSON({"url": "https://example.com/sitemap.xml"})またはフォームを送ると、同じ検証結果を JSON で返します。
sitemaps.org の上限は1ファイルあたり50,000URL・非圧縮50MBです。超える場合はサイトマップインデックスで分割します(インデックスの入れ子は認められていません)。
Googleは changefreq と priority を使いません。lastmod は「正確に運用されている場合に」クロールの優先度へ使われます——全URLに生成時刻を入れるような運用は、かえって無視される原因になります。
サイトマップに載せることはインデックス登録を保証しません。逆に、載っていないURLが検索結果に出ないわけでもありません(サイトマップは発見を助ける手段です)。