sitemap 插件按日期生成分片,文件名是 post-sitemap-20261113.xml,一周下来七份文件各不相同。GSC 里这七份的状态全是「待处理」,日志显示蜘蛛一周只抓了其中两份,其余连一次请求都没有。手动重提也没有变化。

这类报错背后常见的原因有几处,逐个排除就行。文件名带日期,每天都是一个新地址,之前的抓取记录全部作废;索引文件每天被覆盖,指向昨天分片的链接直接 404;提交记录里同时留着七份,蜘蛛无法判断哪份是当前有效版本;边缘缓存了旧的索引文件,蜘蛛读到的分片列表是三天前的。

连续两天抓索引文件,对比分片名单

curl -s https://www.example.com/sitemap_index.xml | grep -o '<loc>[^<]*'

随后把分片文件名改成固定名称,只有内容变化时才更新

grep -rn 'sitemap-' wp-content/plugins/ | head

索引文件里只保留当前有效的分片

curl -s https://www.example.com/sitemap_index.xml | grep -c 'sitemap'

末了清掉索引文件的边缘缓存后重新提交

curl -X PURGE https://www.example.com/sitemap_index.xml

恢复的判定其实很直接。索引文件里只剩固定名字的六个分片,提交后状态从待处理变成成功,第二天日志里六个分片全被抓过一遍。

文件名固定之后,内容有变化一定要更新 lastmod,否则蜘蛛按原计划低频回访,新文照样进不来。如果同一现象隔几天又出现,说明根因没找到,别当偶发处理。

作者 9823189