事情本身不复杂,线索都在日志里。sitemap 提交成功,状态显示已读取,但覆盖率报告里有效页面一直是零,站点实际有几百篇原创文章,浏览器访问也都正常。

真正麻烦的地方在于,几个原因的现象几乎一样。sitemap 里的地址全部返回 301 或 404。还有一种是robots.txt 挡住了 sitemap 所在目录,抓取后拿不到内容。

不容易想到的是,站点被手动操作处罚,任何提交都不会进索引。

批量抽样检查状态码

curl -s -o /dev/null -w '%{http_code}' https://www.example.com/post-1

再往下确认 robots 没有挡 sitemap 路径

curl -s https://www.example.com/robots.txt | grep -i sitemap

末了查看手动操作报告里有没有处罚记录

curl -s https://www.example.com/sitemap.xml | head -3

隔了一天再看,现象没变,说明不是偶发。

那几天正好在做别的变更,先把时间线对齐才敢动手。

恢复的判定其实很直接。抽样状态码全部为 200,重新提交后有效页面数开始增长,已发现数量同步出现。

提醒一点。sitemap 读取成功不等于 URL 有效,这两份数据要分开看,否则会一直在错误的方向上排查,浪费很多时间。这类问题最好一次改到位,反复小改反而容易把原因搅混。

作者 9823189