先给结论:当入口页面仍能被抓取、深层页面却抓不到时,断点通常不在 robots.txt 的第一条规则,而在路径匹配、重定向链或旧目录的退出策略上。判断顺序应是先确认入口与深层的抓取差异是否稳定复现,再逐层排除规则、跳转和内部链接三类原因。若深层页面本身已经返回 404 或 410,那么继续排查 robots.txt 就失去意义,因为抓取限制不是索引移除的替代手段。
入口页面正常,意味着抓取工具至少能访问域名根部和首页规则。深层链路失效有两种常见形态:一种是抓取工具主动拒绝,另一种是它根本没走到那一层。区分方法是看抓取日志里深层 URL 是否出现过请求记录。如果从未出现,问题更可能在内部链接、站点地图或跳转链上;如果出现但返回 403 或抓取被拒,才回到 robots.txt 规则本身。这两种原因的下一步动作完全不同。
假设一个旧栏目需要退出,但其中若干文章仍有价值。运营者可能保留栏目入口、删除大部分深层页,并在 robots.txt 中屏蔽整个旧目录。此时入口正常、深层全失效是预期结果,但被屏蔽的文章不会因此从索引中消失。要真正退出,需要让页面返回 404 或 410,或对确实需要移除的 URL 使用合适的移除机制。robots.txt 只限制抓取,不负责移除。
robots.txt 的匹配按路径前缀生效,规则顺序和具体程度会影响结果。排查时不要只读第一条 Disallow,而应把与深层路径相关的所有规则列出来,逐条比对:
Disallow: /old/ 还是 Disallow: /old,尾部斜杠差异会改变匹配范围。一个可执行动作是:把深层失效 URL 按目录分组,每组挑一条,用抓取工具的 robots.txt 测试功能或直接构造请求,确认它被判为允许还是拒绝。结果若显示允许,说明 robots.txt 不是断点,应转向跳转链;若显示拒绝,就定位到具体那一条规则再修改。修改后重新测试同一条 URL,确认判定翻转,再决定是否扩大修改范围。
入口正常、深层失效的另一个高频原因是跳转链断裂。旧系统退出时,常见做法是把旧栏目整体 301 到新栏目。如果入口页跳转正常,但深层文章被跳到一个已经失效的中间页,抓取就会停在那里。排查时逐跳记录状态码:301 指向的地址是否仍返回 200,还是变成 404 或再次跳转。链条越长,断点越难从表面看出。
内部链接同样会制造“入口正常、深层失效”的假象。首页可能仍指向旧栏目入口,但栏目页里的文章链接已被模板改动或条件隐藏,导致抓取工具无法从入口走到深层。此时 robots.txt 完全无辜。验证方法是查看深层 URL 的发现来源:如果它只存在于旧站点地图、而站点地图已不再被引用,抓取工具可能长期不再访问它。站点地图不保证收录,也不保证被抓取,它只是发现渠道之一。
假设某站点要下线旧产品线,决定保留其中三篇仍有参考价值的文章,其余深层页面退出。可操作方案是:把三篇保留文章迁移到新路径并设置 301,其余旧 URL 返回 410;不要用 robots.txt 屏蔽整个旧目录来“省事”。若屏蔽整个目录,保留的三篇也会一起失去抓取,且被屏蔽页面不会因屏蔽而退出索引。执行后观察抓取日志中旧目录请求的变化:如果旧 URL 请求量下降但索引状态未变,说明抓取限制生效而移除未生效,下一步应改为返回 410,而不是继续加规则。
这里有一个会使上述结论失效的反例:如果深层页面本身仍返回 200、内容也确实有价值,只是抓取工具不再访问,那么问题不是退出策略,而是发现链路。此时改 robots.txt 或返回 410 都会造成误伤,正确动作是恢复内部链接或站点地图引用,让深层 URL 重新可被发现。判断依据是页面状态码和内容价值,而不是抓取量是否归零;抓取量下降也可能来自抓取预算调整、站点整体流量变化或工具自身调度,不能单独证明处理正确。
按以下顺序推进,可以避免在错误层面反复修改:
把断点定位到具体一层之后,再决定是改规则、修跳转还是调整退出策略;在深层页面状态码未确认之前,不要先动 robots.txt,否则很容易把可保留的内容一起挡在抓取之外。