记录一下那天晚上的排查过程。site 查询发现 /feed/ 和 /comments/feed/ 被收录六百多条,内容是全站最新文章的重复摘要,还带着 XML 头。

真正麻烦的地方在于,几个原因的现象几乎一样。订阅地址没有标记,被阅读器大量引用后进了索引。另一种情况是robots 没有屏蔽 feed 路径。

还有一种情况,主题在 head 里没有输出对应的标记。

动手时先统计已收录的订阅地址

site:www.example.com inurl:feed

给订阅输出禁止索引头

add_action('do_feed', function(){ header('X-Robots-Tag: noindex'); }, 1);

接着在 robots 里屏蔽该路径

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

等前面都确认过,再确认文章页未受影响

curl -s https://www.example.com/post/ | grep -c '<article'

改之前我把相关日志按时间截了一段存着,事后对时间线用得上。

中途换过一次思路,把范围缩到最小的那一层,反而快了。

别只看报错消失,验证要多做一步。site 查询里订阅地址两周内清零,日志中该路径请求减少,文章页收录没有下降。

屏蔽前确认没有第三方阅读器依赖,部分聚合服务靠它取内容。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189