先给结论:入口正常而深层失效,通常不是 robots.txt 整体写错,而是规则只覆盖了入口层、或被中间层重定向、参数和路径大小写差异放大。此时优先保留并改写规则,而不是直接退出或删掉整份文件,代价是需要逐层做抓取验证。
入口能抓取,只说明根路径或列表页的规则通过。深层链路失效可能发生在三个位置:一是 robots.txt 中针对目录或参数的 Disallow 在深层才命中;二是入口到深层的跳转链上出现被屏蔽的中间 URL;三是深层页面本身返回错误状态,与 robots 无关。
区分方法很直接:取入口页中的一条深层链接,分别测试它自身、它经过的跳转节点、以及最终落地 URL。若只有中间节点被 Disallow 命中,说明断点来自规则与跳转链的交叉,而不是深层内容被整体拒绝。
这里要提醒一个常见误判:robots.txt 的抓取限制不等于可靠的索引移除。深层页面即使被 Disallow,已收录结果仍可能保留,所以不能把“深层失效”直接等同于“已被移除”。
三种做法都成立,但前提不同。
多数“入口正常、深层失效”的场景落在改写区间,因为入口能过、深层被挡,本身就是规则粒度太粗的信号。
不要只看抓取量是否归零。抓取量下降可能是规则拦截,也可能是站点变慢、入口链接减少或抓取预算被其他路径占用。以下证据能帮助区分:
如果抓取量归零但日志中深层路径仍有请求,说明限制可能来自其他环节;归零本身不能单独证明 robots 规则处理正确。
假设某站点入口列表页可正常抓取,但带 ?page= 的深层分页全部失效,robots.txt 中写有 Disallow: /*?page=。改写为只屏蔽排序参数、放行分页参数后,下一步动作是重新提交站点地图并观察深层分页的抓取记录。
需要说明:站点地图不保证收录,它只是让深层 URL 更容易被发现。改写后的验证重点不是收录数量,而是深层路径是否重新出现抓取请求、以及请求是否落在预期 URL 上。若请求恢复但收录未变,断点可能已从规则层转移到内容质量或重复度层。
第一,路径大小写和结尾斜杠差异会让规则命中范围与预期不符,测试时要使用与入口链接完全一致的写法。第二,不同搜索引擎对通配符和参数规则的支持情况须分别核查,不能假设一份规则在所有引擎中行为一致。
因此,定位断点的顺序应是:先确认断点层级,再判断保留、改写还是退出,最后用抓取记录而非收录结果验证。HTTPS 不保证安全无漏洞或排名,它也不影响上述判断路径。