外贸站被安全插件拦截爬虫时,怎么做白名单和风险评估?

浏览进度条

外贸站被安全插件拦住 AI 爬虫时,第一步不是把爬虫加入白名单,而是确认拦截发生在哪一层、请求要访问什么路径、身份证据够不够。公开产品页可以评估最小范围放行;后台、登录、提交接口、上传目录和客户资料不能跟着一起放开。

这篇只讲安全插件 AI 爬虫白名单评估。
不写某个插件的安装教程,也不把白名单配置写成排名、收录、AI 引用或询盘保证。

先判断是不是安全插件拦的

浏览器能打开,爬虫请求却返回 403429、挑战页或空 HTML,不代表问题一定来自 WordPress 安全插件。

可能的拦截层包括:

层级 常见证据
WordPress 安全插件 插件事件记录、规则 ID、封禁记录
CDN / WAF 边缘响应头、Security Events、安全动作
服务器 Nginx / Apache 日志、IP deny、限速
应用层 WordPress、表单接口、权限中间件返回错误
robots.txt crawler 遵守规则后不请求某些路径

先做一个普通请求和一个 User-Agent 对照请求:

SITE="https://www.example.com"
PAGE="$SITE/products/industrial-valve/"

curl -sSIL -L "$PAGE" |
  grep -Ei '^(HTTP/|location:|content-type:|server:|cf-ray:)'

curl -sSIL -L \
  -A "GPTBot/1.0" \
  "$PAGE" |
  grep -Ei '^(HTTP/|location:|content-type:|server:|cf-ray:)'

这个对照只用于复现差异。
User-Agent 是请求头里的字符串,不能单独证明请求确实来自 GPTBot、ClaudeBot、PerplexityBot 或 Googlebot。

第二步:把“身份线索”和“身份验证”分开

建议把证据分成三层:

证据 能说明什么 不能说明什么
User-Agent 请求自称是谁 不能证明真实来源
安全插件 / WAF 事件 哪条规则处理了请求 不能证明平台一定会引用页面
官方 IP / DNS / 平台验证 对特定平台提供更强身份线索 不能变成永久无条件放行

Google 官方建议通过反向 DNS 和正向 DNS 验证 Googlebot,而不是只看 User-Agent。Cloudflare 的 Verified Bot 也只是 Cloudflare 的验证信号,不等于绝对安全来源。

Googlebot 的验证可以做成只读检查:

IP="203.0.113.10"

PTR="$(dig +short -x "$IP" PTR | sed -n '1p' | sed 's/\.$//')"
printf 'ptr=%s\n' "${PTR:-NONE}"

if printf '%s\n' "$PTR" | grep -Eq '(^|\.)(googlebot\.com|google\.com)$'; then
  dig +short A "$PTR"
  dig +short AAAA "$PTR"
else
  printf 'not_verified_by_google_dns\n'
fi

这段命令只是示意验证流程。
不要把示例 IP 当成真实 Googlebot 地址,也不要把它套用于 OpenAI、Perplexity 或 Anthropic。

第三步:先查安全事件,再谈白名单

在安全插件或 CDN/WAF 面板里,至少记录这些字段:

字段 用途
发生时间 和服务器日志对齐
URL 路径 判断是不是公开内容
请求方法 区分 GET/HEAD 与 POST/PUT/DELETE
状态码 区分拦截、限速、源站错误
动作 Block、Challenge、Rate Limit 或 Allow
规则 ID 找到具体规则
User-Agent 作为线索分组
源 IP / 请求 ID 和其他日志串联
响应类型 判断是真实页面还是挑战页

如果插件有 JSON 日志,可以只筛事件字段,不把 Cookie、Authorization 或客户表单内容复制出来:

EVENT_LOG="/path/to/security-events.jsonl"

rg -Ein \
  'GPTBot|OAI-SearchBot|ClaudeBot|PerplexityBot|Googlebot|blocked|challenge|rate.?limit|403|429' \
  "$EVENT_LOG"

如果安全事件里有记录,而源站 access log 没有对应请求,说明请求可能在边缘层就结束了。
如果源站收到请求但返回 403,再查服务器、WordPress 或应用层。

第四步:把 URL 按风险分层

白名单不要按“所有 AI 爬虫”设计,要按“具体来源 + 具体路径 + 具体方法”评估。

路径类型 是否可以评估例外 处理方向
产品页、分类页 可以 只读公开内容,优先 GET/HEAD
FAQ、案例、About / Factory 可以 只读公开内容,观察后复测
RFQ 说明页 可以单独评估 页面和提交接口分开
/wp-admin//login 不应放行 保持认证和保护
/api/submit/、表单提交接口 不应跟随公开页放行 保持方法、权限和反滥用控制
上传目录、客户附件 不应放行 访问控制和私有存储
报价、合同、客户项目文件 不应放行 不作为公开 crawler 内容

用路径分层时,不要让规则只匹配 bot 字符串。
例如下面是风险记录,不是某个安全插件可以直接粘贴的通用配置:

exception_id: public-content-read-only-001
method:
  - GET
  - HEAD
path:
  - /products/
  - /faq/
  - /case-studies/
exclude:
  - /wp-admin/
  - /login
  - /api/submit/
  - /uploads/
action: observe
expiry: 2026-09-30
rollback: remove_exception_and_restore_original_rule

不同安全插件的字段和优先级不一样。
真正上线前,必须把这份决策映射到当前插件的实际规则,并先在测试或观察模式验证。

第五步:用五个维度评估风险

不编造统一的“AI 爬虫风险分数”,用理由评估更可靠。

维度 低风险信号 高风险信号
内容公开度 公开产品和案例 客户文件、报价、后台
请求方法 GET / HEAD POST / PUT / DELETE
身份证据 官方验证或多条日志证据 只有 User-Agent
请求负载 低频、路径明确 高频、参数多、并发不明
业务影响 只读公开页 会触发表单、上传、账户或交易

可以用三档判断:

risk_level,signal,interpretation,action
low,"公开产品页 GET 返回 200,规则误报证据明确","只读公开内容被误拦","观察后做最小路径例外"
medium,"公开页返回 403/429,身份只有 User-Agent 线索","可能误报,也可能是异常流量","先记录、限路径、复测负载"
high,"登录、上传、提交接口出现放行请求","可能接触敏感数据或改变状态","不建立 AI crawler 例外"
high,"公开页返回 5xx","源站或应用故障","按故障流程处理,不先改白名单"

第六步:分阶段放行,不要一步到位

建议按四个阶段做:

  1. 观察:记录命中规则、路径、方法、状态码和请求量。
  2. 复现:用普通浏览器 UA 和 crawler UA 对照,确认差异。
  3. 最小例外:只覆盖已确认的公开路径和只读方法。
  4. 复测回滚:检查正文、事件、源站日志;异常就撤销例外。

复测命令可以固定下来:

SITE="https://www.example.com"

for path in \
  "/" \
  "/products/" \
  "/products/industrial-valve/" \
  "/faq/" \
  "/case-studies/"
do
  for ua in "Mozilla/5.0" "GPTBot/1.0" "PerplexityBot" "ClaudeBot"; do
    printf '%s\t%s\t' "$ua" "$path"
    curl -sS -L \
      -A "$ua" \
      -o /dev/null \
      -w '%{http_code}\t%{content_type}\t%{url_effective}\n' \
      "$SITE$path"
  done
done

模拟 UA 的结果只能证明“这个请求在当前规则下表现如何”。
它不能证明真实平台身份,也不能证明平台已经抓取、索引或引用。

第七步:给白名单设置失效和撤销条件

任何例外都要有记录:

字段 示例
变更编号 ai-public-content-001
申请人 SEO / 开发 / 安全负责人
目标路径 /products//faq/
请求方法 GET、HEAD
依据 事件 ID、规则 ID、复测 URL
开始时间 具体日期和时区
失效时间 复查日期或变更完成日期
回滚动作 删除例外、恢复原规则
复测结果 状态码、正文、日志

出现这些信号时,不要等月度巡检:

  • 公开页突然变成 403429 或挑战页
  • 例外规则命中后台、上传或提交路径
  • 请求量明显异常,源站资源受影响
  • IP、规则顺序或安全插件配置发生变化
  • 白名单对象无法通过平台或日志证据解释

41 的主线不是“怎么放行更多 AI 爬虫”,而是“怎么证明这次例外只影响公开、只读、可回滚的范围”。

参考资料

内卷越来越激烈,再不做好独立站,就真的晚了!

添加微信咨询

扫描二维码添加微信客服

联系我们

  • 微信同号: 13077312120
  • Email: service@wphuo.com
  • 地址: 工业设计城智点汇7楼701 佛山市顺德区工业大道32号