01 / 本文
発見済みページが途中で止まっていた
サーチコンソールの「発見されたページ」が33,659件から増えなくなった。サイトマップには54,780のURLが入っている。
エラーは出ていない。ステータスは成功のまま。足りないことだけが数字に出ていた。
02 / 本文
上限は50,000URLまたは50MB
サイトマップ1ファイルに書けるのは 50,000URL / 非圧縮50MB まで。どちらかを超えると、超えた分は読まれない。
54,780 − 50,000 = 4,780。実際に止まっていた位置とはずれるが、上限を超えたファイルは全体の扱いが不安定になる。 先頭から50,000件まで読まれる保証も無い。
ファイルが壊れているわけではないので、エラーとしては出てこない。件数を自分で数えないと気づけない。
curl -s https://example.jp/sitemap.xml | grep -c '<loc>'03 / 本文
索引形式に分ける
<urlset> を <sitemapindex> に変え、中身を種類ごとのファイルに分ける。
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<sitemap><loc>https://example.jp/sitemap-person.xml</loc></sitemap>
<sitemap><loc>https://example.jp/sitemap-genre.xml</loc></sitemap>
<sitemap><loc>https://example.jp/sitemap-static.xml</loc></sitemap>
</sitemapindex>04 / 本文
送信済みのURLは変えない
索引のURL(/sitemap.xml)を変えなければ、サーチコンソールで送り直す必要は無い。 中身が索引に変わったことは次のクロールで伝わる。
件数で機械的に分けるより、種類で分けたほうがよい。 「どの種類がインデックスされていないか」がGSCの画面でそのまま読めるようになる。全部を1本にまとめていると、3万件が未登録とだけ分かって、原因の切り分けができない。
05 / 本文
サイトマップを読む側も直す
分けたあと、<loc> の中身がページURLではなくサイトマップURLに変わる。それを読んでいる別の仕組みがあれば、索引をたどるよう直す必要がある。
IndexNow に送る処理がサイトマップを読んでいた場合、索引のURLを3件送って終わってしまう。ここは分割した直後に壊れやすい。
06 / 本文
再送信を押すかどうか
サイトマップの再送信は普段は不要。Googleは定期的に読み直す。
ただしGSCの「最終閲覧」が古いまま中身が大きく変わったときは、押す価値がある。押した直後は最終閲覧も件数も変わらない。 反映まで数時間から数日かかる。
押してすぐ数字を見て「効かない」と判断しないこと。
07 / 本文
まとめ
- 上限は1ファイル50,000URL / 50MB。超えた分は読まれない
- エラーにならないので、件数を自分で数える
- <sitemapindex> に変え、種類ごとに分ける
- 索引のURLを変えなければ送り直しは不要
- サイトマップを読む他の仕組みも索引対応に直す
コメント
この記事へのコメント
お名前だけで投稿できます。アカウント登録やログインは不要です。 いただいたコメントは確認のうえ公開します。