先不要改 robots.txt。访问量突增时,抓取请求变多通常只是结果,真正原因可能是服务器变慢导致同一批抓取被拉长,也可能是规则误放开了本应限制的路径。区分办法是看突增请求集中在哪些路径、是否伴随响应时间上升,以及这些路径在规则里是否有明确指令。若突增路径全部属于你近期准备退出的旧内容或旧接口,且服务器各项资源正常,更可能是配置错误;若路径分散、响应时间同步上升,则更可能是资源压力。
条件一:突增请求高度集中在少数路径,且这些路径恰好是旧合作页面、废弃参数或已停止维护的旧系统入口。此时优先怀疑配置错误。常见原因是旧规则被整体替换,或新增的允许指令范围过宽,把原本靠 Disallow 挡住的路径重新放开。动作是先把这些路径单独列出,对照当前规则逐条核对,确认哪一条指令让它们重新可抓取,而不是直接全站收紧。
条件二:突增请求分散在大量正常页面,同时源站响应时间、队列等待或带宽占用同步上升。此时优先查资源压力。抓取量上升可能只是服务器变慢后,同一批抓取占用连接更久,看起来请求数变多。动作是先看响应时间和错误率的曲线是否与请求量同步,再决定是否需要在 robots.txt 中临时降低抓取频率。若响应时间正常而请求量单独飙升,才需要回头查规则。
两种条件的分界不是请求量大小,而是路径集中度与响应时间的组合。路径集中且响应正常,偏配置;路径分散且响应变差,偏资源。这个判断只用于缩小排查范围,不能单独证明结论正确。
robots.txt 的抓取限制不等于可靠的索引移除。即使你把某条路径写成 Disallow,已经抓取过的内容仍可能留在索引里,突增的抓取请求也可能来自其他未遵守该规则的抓取方。所以看到某路径被抓取,不能直接断定规则写错了,还要看抓取方是否声明遵守规则。
检查配置错误时,重点看三类写法:一是通配符与结尾符号的搭配,Disallow: /old/ 与 Disallow: /old 覆盖范围不同;二是多条规则对同一路径的先后与冲突,后出现的允许指令可能覆盖前面的限制;三是整段规则被替换时,旧路径的限制被一并删除。动作是把突增路径逐条代入规则,模拟匹配结果,而不是只看规则文本是否“看起来对”。
如果核对后发现规则确实放开了旧路径,修正后应继续观察同一路径的请求是否回落。回落只能说明规则可能生效,不能证明索引状态同步改变,因为索引更新另有周期。
资源压力下临时收紧 robots.txt 是一个选项,但有明确代价。收紧会同时挡住你仍想保留的内容,尤其是旧系统与新内容共用同一路径前缀时。假设某站旧接口在 /api/ 下,而新页面的数据也走同一前缀,那么限制 /api/ 会连带影响正常抓取。这种假设下更稳妥的动作是先只限制具体子路径,而不是限制整个前缀。
另一个代价是收紧后恢复需要时间。抓取方重新发现规则、调整抓取行为并非即时完成,所以临时限制不宜频繁开关。若资源压力只是短时峰值,优先考虑限速、缓存或扩容,而不是改规则。只有当压力持续且确认来自抓取,才把改规则作为手段之一。
站点地图不保证收录,把旧路径从站点地图移除也不等于阻止抓取。资源压力排查中,站点地图的作用是帮你确认哪些路径仍属有效内容,从而决定限制范围,而不是作为控制抓取的工具。
旧内容、旧系统或旧合作关系退出时,不必整段删除规则。可以保留仍然有价值的路径,只对确认无用的部分收紧。判断依据是:该路径是否还有正常用户访问、是否被其他有效页面引用、是否承载仍在使用的新接口。三项都不满足,才适合加入限制。
执行到第三步时,如果发现某路径虽属旧系统但仍有用户访问,应保留其可抓取状态,改为在页面层做跳转或说明,而不是在 robots.txt 中直接切断。这个动作的结果会决定第四步的观察范围:保留的路径需要单独监控,收紧的路径只需确认请求回落。
请求量归零不能单独证明配置正确,它也可能是抓取方自行降低了频率,或服务器暂时不可达。响应时间上升也不能单独证明是抓取造成,缓存失效、上游接口变慢、发布操作都会产生同样现象。把这些现象与路径集中度、规则匹配结果放在一起看,才能避免把相关当成因果。
不同抓取方对 robots.txt 的支持情况须分别核查,同一段规则在不同抓取方下的实际效果可能不同。HTTPS 不保证安全无漏洞或排名,它和本次的资源压力与配置判断没有直接关系。最终决定改规则还是查资源,取决于路径分布与响应时间的组合证据,而不是某一个指标的变化。