先把当时的情况摆出来。站群有三千个子站,sitemap 索引里引用了 1200 个子文件,GSC 只读到前 1000 个,后面两百个站点的页面一条都没进索引。

排查方向其实有限,先把可能性排一排。单个 sitemap 索引最多引用 1000 个子文件。少数情况下是生成脚本按站点顺序拼接,超出部分被静默丢弃。

还有一种情况,没有拆二级索引,所有子文件挤在同一层。另外,提交时只看状态成功,没核对实际条目数。

数索引里的 sitemap 条目

curl -s https://www.example.com/sitemap_index.xml | Select-String "<loc>" | Measure-Object -Line

随后按每 1000 个拆成二级索引

python split_sitemap.py --input index.xml --per 1000 --outdir ./sitemaps

然后把二级索引也提交上去

curl -s "https://www.google.com/ping?sitemap=https://www.example.com/sitemap_index2.xml"

剩下的就是核对子文件数量

curl -s https://www.example.com/sitemap_index2.xml | Select-String "<loc>" | Measure-Object -Line

中间停过一次,把已经改的东西回滚干净,再重新来一遍。

怎么算真的好了,看的是同一批现象。两级索引合计覆盖全部 1200 个子文件,GSC 里新增的两百个站点两周内开始出现索引。

提醒一点。1000 这个上限指的是子文件数量而不是 URL 数量,站群规模一大就必须做二级索引。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189