有些站点为了防采集和恶意请求,会在服务器或 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 页面上反复重试,浪费抓取预算。
调整与验证
- 整理已验证蜘蛛的 IP 段或反向 DNS 名单,只放行真实来源。
- 为搜索引擎蜘蛛设置独立、宽松但仍有限制的频率策略,防止伪造 UA 滥用。
- 在 WAF 日志中标记“已放行蜘蛛”,持续观察是否还有误拦。
- 改动后用官方抓取测试工具或日志回查,确认状态码从 403/429 变为 200。
- 设置告警:当蜘蛛请求的 403/429 比例突然升高时,及时通知运维和 SEO 负责人。
安全策略不是越严越好。对蜘蛛来说,稳定的可访问性比偶尔放行更重要。放行已验证蜘蛛,不等于放开所有匿名爬虫,关键是区分对象。
WAF 和频率限制的自查不需要一次改完。先确认误拦是否存在,再处理最影响抓取的那几条规则。对站点运营来说,让正常蜘蛛顺利拿到内容,同时把恶意请求挡在门外,才是更实际的目标。