先给有条件的结论:如果源站返回正常、而百度抓取经过的边缘节点出现异常,你至少应保留源站与边缘节点的同一请求对照记录、响应头与状态码、时间戳与节点标识、抓取代理IP与UA、异常持续区间这五类证据。缺少其中任何一类,都只能说明“某次抓取失败”,不能直接推出“百度已降低整站收录”。反例是:如果异常只出现在单个边缘节点、且源站与其余节点均正常,那么这更可能是局部链路或单节点故障,而不是站点整体被降权。
百度蜘蛛访问你的站点时,通常先经过DNS解析、CDN或反向代理的边缘节点,再回源到你的服务器。源站监控显示200,只证明回源那一段是通的,不能证明边缘节点返回给蜘蛛的内容也是200。边缘节点可能因为缓存规则、WAF拦截、回源超时、证书链不完整或节点本身故障,向蜘蛛返回403、404、5xx或空响应。此时你在源站看到的日志一切正常,但蜘蛛拿到的是异常结果。
因此排查的第一原则是:把“源站视角”和“边缘节点视角”分开记录。只保留源站日志,等于只保留了半条链路。
对同一个URL,分别记录源站直接返回的结果和经过边缘节点返回的结果,包括状态码、响应体长度、响应时间。这组对照能区分“源站故障”和“边缘故障”。如果源站200而边缘5xx,问题定位在边缘层;如果两者都异常,则不是边缘单独的问题。
保留完整的响应头,重点看Cache-Control、Age、Via、X-Cache、Server以及状态码。这些字段能说明响应是否来自缓存、经过哪一层代理。假设某次抓取返回403,而响应头显示来自边缘WAF,那么下一步应检查WAF规则,而不是去改源站内容。注意:robots.txt的抓取限制不等于可靠的索引移除,两者不要混为一谈。
记录异常发生的精确时间、持续区间,以及出问题的边缘节点标识(如节点IP段或机房代号)。只有时间戳没有节点标识,无法判断是全网还是单点;只有节点标识没有时间戳,无法判断是持续还是瞬时。两者结合,才能决定是等待节点恢复还是立即切流量。
保留百度蜘蛛的IP和User-Agent记录,用于确认异常请求确实来自百度抓取,而不是其他爬虫或普通用户。这能避免把第三方爬虫的异常误判为百度抓取异常。如果你没有权限拿到完整IP,至少保留UA和请求路径,并注明这是不完整证据。
记录异常前后一段时间内,该边缘节点上百度抓取的请求次数变化。如果异常期间抓取量下降,可以佐证边缘异常确实影响了抓取;但要注意,抓取量下降也可能由站点内容更新减少、robots调整或百度自身调度变化引起,不能单独归因于边缘故障。
如果你拿不到边缘节点的完整日志,仍可执行一个最小动作:用外部多点探测工具,从不同地区对同一URL发起请求,记录返回状态码和响应头。这能帮你判断异常是否集中在特定区域。执行后,如果多个探测点都返回异常,说明问题可能不在单个节点;如果只有个别探测点异常,则更支持单节点故障的判断。这一步的结果会直接影响下一步:前者需要检查全局配置,后者可以优先联系CDN服务商排查单节点。
需要明确:这个最小动作只能证明“从探测点看存在异常”,不能证明“百度蜘蛛一定遇到了同样异常”。要建立这个关联,仍需边缘节点的访问日志。
整个过程中,保留证据的目的不是立刻修复,而是让每一步判断都有可复查的依据。当证据只能支持“某节点某时段抓取异常”时,就不要把它扩大为“整站收录出了问题”。