robotstxt:批量页面只被部分发现时怎样划分对照组

📍 WDQWDWQD987AAAAA:216.73.217.5
📱 Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
🔗 /43b83a5ea68f.html
📄

robotstxt:批量页面只被部分发现时怎样划分对照组

当一批旧页面需要退出、但你怀疑只有一部分被搜索引擎发现时,不要先改 robots.txt 全量拦截。更稳妥的做法是按“发现路径”划分对照组:一组保留原状,一组只切断站内入口,一组只加 noindex,然后分别观察抓取与收录信号。这样做的原因是,部分发现通常不是抓取限制本身造成的,而是内链、站点地图和旧外链这三种发现路径在起作用。

先分清两个矛盾解释:抓取被挡,还是发现路径断了

批量页面只被部分发现,常见的第一种解释是:robots.txt 里某条规则只匹配了部分 URL,导致这些页面无法被抓取。第二种解释是:robots.txt 并没有挡住它们,但这些页面缺少内链、已从站点地图移除,或者旧外链失效,于是搜索引擎根本没有稳定的发现入口。

这两种解释会导向完全不同的动作。如果是抓取被挡,你需要先定位规则;如果是发现路径断了,改 robots.txt 反而可能让本来还能被发现的页面也一起消失。因此,划分对照组的目的不是“测试哪个规则更狠”,而是把抓取限制和发现路径分开观察。

按发现路径划分三组,而不是按 URL 随机分组

假设你有一批 300 个旧页面,其中约 80 个仍能从导航或正文内链到达,其余只能靠旧站点地图或外部链接进入。可以这样划分:

关键点是:三组都要保留可抓取状态,除非你明确要验证某条 robots.txt 规则。因为一旦同时改 robots.txt 和 noindex,你无法区分是抓取被挡还是索引指令生效。

哪些证据能区分两种解释

观察周期内,重点看三类信号,而不是只看收录数量:

  1. 抓取日志或服务器请求。如果 B 组请求量下降,但 C 组请求量稳定,说明内链是主要发现路径,而不是 robots.txt 在挡。
  2. 站点地图中的 URL 是否仍被请求。站点地图不保证收录,但如果站点地图里的 URL 持续被请求,说明发现路径还在;如果请求归零,也可能是站点地图本身不再被读取,或页面已从站点地图移除,不能单独证明 robots.txt 规则正确。
  3. 搜索结果中的展示变化。C 组如果出现“已抓取但未索引”或展示减少,而 B 组仍有展示,说明索引指令和发现路径是两条独立链路。

这里要特别说明:robots.txt 的抓取限制不等于可靠的索引移除。被 robots.txt 挡住的页面,仍可能因为外部链接或历史信号出现在搜索结果中;而 noindex 也需要页面能被抓取后才能生效。两者不能互相替代。

一个注明假设的短例子:先做小范围对照再决定下一步

假设你有一批 120 个旧产品页需要退出,其中 40 个仍有内链,40 个只在站点地图里,40 个只有旧外链。你可以先各取 10 个做对照组:A 组保留原状,B 组移除内链但允许抓取,C 组加 noindex 但保留内链。两周后,如果 B 组抓取请求明显减少而 C 组稳定,说明内链是主要发现路径,下一步应优先清理内链和站点地图,而不是扩大 robots.txt 拦截。如果 C 组展示减少而 B 组变化不大,说明索引指令更直接,下一步应检查 noindex 是否被正确读取,并确认页面没有被 robots.txt 挡住。

这个例子的数字只用于说明比较方法,不代表真实项目结果。实际周期取决于抓取频率和页面重要性,不能承诺固定见效日期。

执行时最容易犯的三个错误

第一,把 robots.txt 当成索引移除工具。它只限制抓取,不保证页面从搜索结果消失。第二,把站点地图当成收录保证。站点地图只是发现线索,不保证收录,移除站点地图也不能单独证明页面已正确退出。第三,把请求量归零当成成功。请求量下降还可能是因为服务器故障、站点地图读取失败、外链自然失效或页面被其他规则挡住。要结合抓取日志、索引状态和展示变化一起判断。

如果你需要退出旧内容但保留仍有价值的部分,先按发现路径划分对照组,再根据抓取请求、站点地图请求和展示变化决定下一步。这样你改的是可验证的变量,而不是一次性把整批页面推进同一个不可逆状态。

图1 图2

nginx