このツールを使う場面
デプロイのたびにサイトマップ全体を送信するのは、429 に到達する最短ルートです。差分を取れば、サイトマップ全体を本当に変わった URL だけに絞り込めます。
コンテンツをデプロイした後
リリース前後のサイトマップを比べれば、そのリリースが触れたページを正確に取り出せます。
大規模サイトの場合
サイトマップに数千件あっても、変わっているのはたいてい数件です。その数件だけを送信しましょう。
lastmod が信頼できる場合
生成ツールが正確な lastmod を書き込んでいれば、クロールなしで変更ページを特定できます。
リリース内容を振り返るとき
この差分は、どの URL が追加・更新されたかの記録としても使えます。
2 つのサイトマップを比較する手順
どちらのファイルもブラウザ内蔵の XML パーサーで解析され、アップロードはされません。
- 1
基準となるサイトマップを保存しておく
リリース前にサイトマップ XML をダウンロードするか、前回送信時のコピーを残しておきます。
- 2
2 つのファイルをアップロードする
古いほうを基準として、新しいほうを現在のサイトマップとして指定します。
- 3
含める対象を選ぶ
追加は新しく現れたエントリ、変更は lastmod が動いたエントリです。どちらか、または両方を選べます。
- 4
コピー・ダウンロード・送信
キューをテキストとして書き出すか、該当ホストの送信フォームへそのまま送れます。
よくある失敗
サイトマップインデックスをアップロードする
インデックスは他のサイトマップを列挙するだけです。その先の個別ファイルをアップロードしてください。本ツールはブラウザ内で完結させるため、取得は行いません。
毎回 lastmod を打ち直す生成ツール
ビルドのたびに全 lastmod を書き換えるツールもあり、その場合すべての URL が変更に見えます。全件送信の前に確認してください。
lastmod がない
lastmod がなければ検出できるのは追加された URL だけで、既存ページの編集は差分では見えません。
1 つのサイトマップに複数ホスト
ホストをまたぐサイトマップから作ったキューは、送信前に分割する必要があります。
よくある質問
- なぜ URL 入力ではなくファイルのアップロードなのですか?
- 他サイトのサイトマップをブラウザから読むのは CORS で遮断され、サーバー側で取得すると URL を当方に送ることになります。アップロードなら比較をローカルに保てます。
- 変更された URL はどう判定されますか?
- 両方のファイルに存在し lastmod が異なる URL を変更、新しいファイルにだけある URL を追加と判定します。
- 削除された URL も出力されますか?
- 件数は数えますが書き出しません。IndexNow は更新の通知が目的で、削除された URL は再クロールに任せるほうが適切です。
- gzip 圧縮されたサイトマップも比較できますか?
- できません。.xml.gz は先に展開してください。解析できるのはプレーンな XML のみです。
- キューは 10,000 件の上限を守りますか?
- 差分が上限を超えることもあります。上限に近い場合は、結果をバッチ整理ツールに通してください。