记录一下那天晚上的排查过程。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 查询里订阅地址两周内清零,日志中该路径请求减少,文章页收录没有下降。
屏蔽前确认没有第三方阅读器依赖,部分聚合服务靠它取内容。报错文案容易误导,真正的原因往往在相邻那一层的日志里。
