站点运营

站点运营:WAF 与频率限制自查,别把正常蜘蛛误拦在门外

搜索引擎蜘蛛抓取时,最怕遇到 WAF 的误判和过严的频率限制。本文从日志状态码、规则阈值、CDN 节点、高风险路径几个角度,给出一份可执行的自查清单,帮助站点在不放松安全的前提下,让正常抓取顺利通过。

站点运营

站点运营:WAF 与频率限制自查,别把正常蜘蛛误拦在门外

有些站点为了防采集和恶意请求,会在服务器或 CDN 上开启 WAF、频率限制、Bot 管理。规则一多,搜索蜘蛛也可能被误伤:返回 403、429,或者被要求验证。蜘蛛不会像用户一样点击验证码,遇到拦截往往就放弃本次抓取。站点运营需要把“安全策略”和“正常抓取”放在一起检查。

先确认拦截是否真实存在

不要只看“感觉抓取变少了”。先去日志和 CDN 报表里找证据。

  • 按状态码筛选:403、429、503 是否在蜘蛛访问时集中出现。
  • 看被拦 URL 的类型:是整站、某个目录,还是搜索、筛选、API 这类动态路径。
  • 对比 UA 与 IP:蜘蛛 UA 可能被伪造,不能只凭 UA 判断,要结合反向 DNS 或官方 IP 段。
  • 看时间分布:是全天拦截,还是只在流量高峰、爬取频率较高时触发。

如果日志里已经出现大量 403/429,并且请求来自已验证的搜索引擎 IP,那基本可以确认是误拦,而不是蜘蛛本身出问题。

检查三类常见误拦来源

1. 通用 WAF 规则

有些规则会对特殊字符、空 Referer、无 Cookie、异常 URL 参数直接拦截。蜘蛛请求通常没有 Cookie,Referer 也可能为空。若规则写得太粗,正常页面也会被挡。

  • 检查是否有针对空 UA、非浏览器 UA 的全局拦截。
  • 检查 URL 中带问号、等号、百分号编码时是否触发规则。
  • 检查是否对 HEAD、OPTIONS 等请求方法一并拦截,蜘蛛偶尔会用到。

2. 频率限制阈值

频率限制按 IP、按 UA、按路径统计时,搜索引擎蜘蛛可能因为短时间内集中抓取而触顶。尤其是新站或刚提交大量 URL 后,抓取会明显变密。

  • 确认限速是“每 IP 每分钟/每秒”还是“整站总量”,后者更容易误伤。
  • 看阈值是否低于蜘蛛正常抓取速度,比如每分钟只允许几十次请求。
  • 对已验证蜘蛛单独设置策略,而不是和普通匿名流量共用一条阈值。

3. CDN 与 Bot 管理

不同 CDN 节点可能套用不同规则,或者回源时再次被源站 WAF 拦截。用户访问正常,不代表蜘蛛也正常。

  • 检查 CDN 的 Bot 管理是否把“已验证搜索引擎”放行。
  • 确认回源 IP 是否在源站白名单中,避免 CDN 回源被源站拦下。
  • 抽查多个节点,观察响应码是否一致。

高风险路径要单独过一遍

搜索页、筛选页、分页参数、站内 API、文件下载、用户中心,往往是 WAF 规则最严的地方。但这些路径也可能被蜘蛛发现并尝试抓取。

  • 如果这些页面不希望被抓,用 robots.txt 或 noindex 明确处理,而不是靠 WAF 返回 403。
  • 如果希望被抓,就要确保正常蜘蛛能拿到 200 和完整内容。
  • 避免让蜘蛛在 403 页面上反复重试,浪费抓取预算。

调整与验证

  1. 整理已验证蜘蛛的 IP 段或反向 DNS 名单,只放行真实来源。
  2. 为搜索引擎蜘蛛设置独立、宽松但仍有限制的频率策略,防止伪造 UA 滥用。
  3. 在 WAF 日志中标记“已放行蜘蛛”,持续观察是否还有误拦。
  4. 改动后用官方抓取测试工具或日志回查,确认状态码从 403/429 变为 200。
  5. 设置告警:当蜘蛛请求的 403/429 比例突然升高时,及时通知运维和 SEO 负责人。
安全策略不是越严越好。对蜘蛛来说,稳定的可访问性比偶尔放行更重要。放行已验证蜘蛛,不等于放开所有匿名爬虫,关键是区分对象。

WAF 和频率限制的自查不需要一次改完。先确认误拦是否存在,再处理最影响抓取的那几条规则。对站点运营来说,让正常蜘蛛顺利拿到内容,同时把恶意请求挡在门外,才是更实际的目标。