先看一个可判定的分界:如果服务器在突增期间对 robots.txt 的响应仍是稳定的 200,且返回内容与平时一致,问题更可能在资源侧;如果 robots.txt 出现 5xx、超时、返回了错误版本,或抓取方开始大量请求被规则禁止的路径,才应优先怀疑配置错误。这个判断不是看访问量本身,而是看突增期间 robots.txt 的响应状态和内容是否发生同步变化。
资源压力的典型表现是:爬虫请求总量上升,但 robots.txt 仍能正常返回,日志里主要是静态资源、列表页或详情页的抓取增加,服务器 CPU、带宽或数据库连接随之吃紧。此时 robots.txt 没有被改动,抓取方只是按原规则加大了访问。配置错误的典型表现则相反:访问量突增的同时,robots.txt 本身出现异常响应,或者规则被改成了禁止抓取,但抓取方仍反复请求那些路径,说明规则、缓存或部署环节存在不一致。
两者的关键区别在于,资源压力下 robots.txt 是稳定的参照物,配置错误下 robots.txt 本身就是异常源。先确认这一点,后面的处理方向才不会互相抵消。
在突增发生的时间窗内,从至少两个不同网络位置请求 robots.txt,并记录状态码、响应时间和文件内容摘要。如果两处都返回 200 且内容一致,把判断重心转向资源压力;如果出现 5xx、超时、内容不一致,或返回了明显不该出现的禁止规则,就把重心转向配置错误。
这个动作的结果会直接决定下一步:确认是资源压力,就去看带宽、连接数和后端处理时间,而不是急着改规则;确认是配置错误,就先去核对发布记录、CDN 缓存和回源配置,而不是盲目扩容。把 robots.txt 当成突增期间的基准探针,比只看总访问量更有区分力。
如果 robots.txt 响应正常,而压力来自抓取频率,可以考虑对特定目录或特定抓取方做速率限制,或把动态参数较多的 URL 先收敛。动作之后观察两点:robots.txt 是否仍然稳定,以及后端响应时间是否回落。若限速后压力下降但 robots.txt 开始出现超时,说明限制动作本身引入了新的不稳定,需要回退或调整阈值。
这里有一个常见例外:站点地图不保证收录,robots.txt 的抓取限制也不等于可靠的索引移除。即使你临时禁止了某些路径,已经进入索引的结果未必会立刻消失。因此不要用“禁止抓取”当作缓解资源压力的默认手段,它解决的是抓取许可,不是服务器负载。
如果 robots.txt 在突增期间出现异常响应或内容变化,优先查最近一次部署、CDN 缓存刷新和回源路径。一个假设例子:假设某次发布把 robots.txt 误写成了禁止全站抓取,同时 CDN 仍缓存旧版本,那么不同节点会返回不同内容,抓取方可能一边收到禁止规则,一边继续请求旧路径。此时扩容不会解决矛盾,只会掩盖问题。
处理顺序应是:先确认源站文件是否正确,再确认缓存是否已更新,最后确认不同网络位置的响应是否一致。每一步都记录状态码和内容摘要,作为下一步是否继续的依据。只有源站、缓存和边缘节点三者一致后,才能判断配置错误是否真正消除。
请求量归零或抓取量骤降,不能单独证明 robots.txt 配置正确。它也可能是抓取方自身调度变化、网络中断或站点整体不可达造成的。同理,HTTPS 不保证安全无漏洞或排名,robots.txt 返回 200 也不代表规则符合预期。不同搜索引擎对 robots.txt 的支持情况须分别核查,不能用一个抓取方的表现推断全部。
更稳妥的做法是同时保留三类证据:robots.txt 的响应状态与内容、服务器资源指标、以及实际被抓取路径的分布。三类证据指向同一方向时,再决定是限速、修配置还是回滚发布。若证据互相矛盾,先解决 robots.txt 自身的不一致,再谈资源压力。