WordPress垃圾询盘怎么拦?reCAPTCHA、Turnstile与表单防护指南

资料核实日期:2026年7月28日。Google Cloud、Cloudflare、表单插件和 Akismet 的产品、配额、套餐与价格可能变化;本文只引用当前官方公开资料,不把任何方案写成零垃圾、零误拦或固定成本保证。

企业网站收到一批又一批“询盘”,后台却没有真实客户,销售要花时间筛选,邮箱信誉可能受影响;更麻烦的是,验证码设得太重又可能拦住真正的采购商。Google Analytics 没看到异常流量,也不能证明表单没有被攻击:机器人可能直接请求表单接口,或者提交没有被你的分析标签记录。

核心判断:不要再把“安装一个 Google 插件、三步解决垃圾询盘”当作方案。先确认垃圾提交发生在哪个表单和接口,再按风险组合表单级人机识别、内容过滤、蜜罐、限速、WAF、日志和人工抽查,同时保留真实询盘的可达性。

先区分四种问题:拦机器人、拦垃圾内容,还是保护接口?

现象 优先检查 不能直接下的结论
表单邮件突然增多,但 GA4 没有对应转化 表单端点日志、提交时间、IP/ASN、User-Agent、字段模式和邮件队列 不能仅凭 GA4 没有流量就认定是“正常询盘”或“没有攻击”
垃圾内容进入表单收件箱 内容过滤、Akismet/反垃圾服务、蜜罐、黑名单和人工审核 验证码不等于内容过滤;通过人机验证的垃圾提交仍可能存在
同一 IP 或网络重复请求 表单接口限速、WAF 规则、登录/注册保护和失败次数 限速不是精确计数器,也可能误伤共享出口、移动网络或真实采购团队
真实访客提交失败、询盘下降 验证失败率、浏览器/地区/设备分布、表单 JS、邮件发送和 CRM 入库 “拦得越多越安全”;误拦可能直接变成线索损失

Google reCAPTCHA 现在是什么?

v2 与 v3 不是同一种体验

Google 官方文档把 reCAPTCHA v2 Checkbox、v2 Invisible 和 v3 区分开:v2 可以显示复选框或挑战;v3 是基于风险评分的后台检测,不是“v3 复选框”。v3 返回分数后,网站还要在服务端结合 action、表单类型和业务结果决定放行、二次验证、进入审核还是拒绝。只把脚本加载到前端、没有服务端验证和失败监控,不能算完成接入。

Google Cloud 价格:核实日为2026年7月28日

Google Cloud 当前公开资料把 reCAPTCHA 放在 Essentials、Premium 和 Enterprise 层级:

  • Essentials:未启用 Google Cloud billing 的新 Cloud key 自动适用,免费额度为每月最多 10,000 次 assessment;超过额度后新请求会返回错误。
  • Premium:需要为 Google Cloud 项目启用 billing;每月 1–10,000 次免费,10,001–100,000 次为 8 美元固定月费,超过 100,000 次按每 1,000 次 1 美元计费。
  • Enterprise:面向高用量场景,官方价格页显示为每 1,000 次 1 美元的固定月度用量承诺,并写明最少 12 个月订阅;高用量用户应联系销售确认。

免费额度按组织聚合所有账号和站点,不应直接理解为每个网站各有 10,000 次。价格可能受地区、税费、产品更新、用量和合同影响,本文不做固定成本承诺。网站负责人还应设置用量、账单和错误监控,避免超过额度后验证行为改变。

Classic 密钥与 Cloud 控制台迁移

Google 官方迁移文档写明,旧的 reCAPTCHA Classic 密钥可以通过 Admin console 或 Google Cloud console 迁移到 Cloud 项目,迁移通常需要 5–10 分钟,现有网页集成一般无需代码改动;迁移后要在 Cloud 项目中管理配置。支持迁移的旧网站密钥包括 v2 Checkbox、v2 Invisible 和 v3。Google 的迁移时间线还写明,2026 年第一季度完成自动迁移,现有 v2/v3 密钥在迁移后继续工作,但高级能力可能需要新的网页与后端调用。

实际迁移前应确认项目归属、IAM 权限、billing、表单插件支持的 key 类型、站点域名和隐私说明。不要把“迁移不需要改代码”扩展成“所有 WordPress 插件都无需检查”。

WordPress 表单插件的集成边界

  • Contact Form 7:作者文档当前把 reCAPTCHA v3 作为官方集成路径;如果你的旧文章按 v2 复选框截图操作,先核对当前版本和官方集成页,不要照搬旧后台位置。
  • WPForms:官方文档提供 v2/v3 选择、Site Key/Secret Key 配置和测试步骤;v3 还有 score threshold。阈值不是 Google 给所有网站的统一数字,应使用验证结果、真实提交和人工复核逐步调整。
  • Gravity Forms:官方资料区分 v2 CAPTCHA 字段和 v3 reCAPTCHA Add-On;是否可用取决于许可证、版本和已安装扩展。
  • 任何表单插件:必须同时检查前端脚本、服务端 token 验证、邮件通知、CRM 入库、失败提示、缓存/CDN、CSP、移动端和无障碍体验。一个插件能显示验证码,不代表询盘链路已经验收。

密钥应放在受控的 WordPress 设置或服务器凭据中,Secret Key 不能出现在前端、源代码、截图、Git 或普通日志。开发、staging 和 production 最好使用不同的 key/配置,并限制可用域名。

Cloudflare Turnstile:可选的替代路径

Cloudflare 官方把 Turnstile 定义为 CAPTCHA alternative。它可以独立用于不经过 Cloudflare 代理的网站。接入不是只粘贴一段 JavaScript:浏览器 widget 生成 token,服务器必须调用 Siteverify 验证;官方文档说明 token 5 分钟后过期且只能验证一次,Secret Key 需要保护并定期轮换。

截至本次核实日,Turnstile Free 计划适合个人站、小中型企业和大多数生产应用,支持最多 20 个 widgets、无限 challenges/verification requests;Enterprise 为联系销售的付费层,增加更复杂的域名、分析和企业能力。这里的“免费”仅指 Turnstile 计划本身,不代表 WordPress 开发、Cloudflare 其他付费产品、WAF 或运维成本为零。

如果换用 Turnstile,不能只在前端替换脚本,还要:

  1. 为生产、staging 和开发环境分别配置 widget/域名。
  2. 在服务端强制调用 Siteverify,拒绝缺少、过期、重复使用或域名不匹配的 token。
  3. 记录验证失败原因、真实询盘漏斗和邮件送达,不记录不必要的个人信息。
  4. 先灰度到一个表单,确认移动端、海外网络、浏览器、缓存和 CRM 后再扩大范围。

Akismet、蜜罐、限速和 WAF:为什么要分层?

Akismet:内容判断,不是人机证明

Akismet 官方资料说明,评论或表单提交被检查时会产生一次 API call。Personal 计划面向非商业站点,商业站点使用 Pro/Business/Enterprise 等计划,调用额度与站点数、套餐和企业规模有关;因此中国企业不要把个人“按能力付费”页面当作商业站固定免费方案。Akismet 更适合做提交内容过滤,可与表单验证并用,但要监控月度调用量和误判,不要把官方营销页面的准确率主张改写成本站保证。

蜜罐:低摩擦的第一道筛选

蜜罐可以加入真实用户看不见、自动程序容易填写的字段;服务端发现字段有值时进入拒绝或审核。它成本低、对真人通常没有额外交互,但会被更聪明的机器人绕过,也可能被浏览器自动填充触发。字段名称、CSS 可见性、无障碍和服务端逻辑都要测试。

限速和 WAF:减少接口资源消耗

Cloudflare 官方 Rate Limiting rules 允许按表达式、周期、请求数、特征和处置动作限制请求;官方也提醒,规则不是保证精确数量到达源站的计数器,检测和计数有延迟。对企业询盘,可以针对表单提交、登录、注册和密码重置设置保守规则,排除已验证搜索机器人或可信内部系统,并观察共享 IP、NAT、代理和移动网络带来的误伤。

WAF 可以在请求到达应用前执行规则,适合处理明显恶意模式、来源和异常速率;它不能理解每一个产品询盘的商业真实性,也不能替代表单字段校验、邮件信誉、人工抽样和 CRM 去重。

按企业询盘风险组合方案

场景 建议起步组合 验收重点
低量企业官网,主要是联系表单 表单原生校验 + 蜜罐 + Akismet 或表单插件已有垃圾过滤;垃圾明显增加时再选 reCAPTCHA v2/v3 或 Turnstile 真人提交成功率、邮件送达、误拦样本、垃圾数量和服务器日志
海外投放带来大量表单请求 v3/Turnstile 服务端验证 + 内容过滤 + 表单端点限速 + WAF 规则 + CRM 去重 按广告落地页、国家、设备和 action 看验证结果;不要只看 GA4 转化
高价值 B2B 询盘或上传文件 风险评分/挑战 + 文件类型和大小限制 + 病毒扫描/隔离 + 人工审核 + 邮箱/公司域名验证 真实采购商是否能完成提交,上传文件是否安全,线索是否进入正确销售队列
WooCommerce、会员或登录接口 表单防护与账号/支付风控分开设计;必要时使用 WAF、限速、MFA 和专门的订单安全控制 登录、找回密码、注册、结账、支付回调不能被一个表单验证码方案“顺便覆盖”

隐私、误拦与运维成本不能省略

  • 第三方验证服务可能加载外部脚本并处理设备、IP、域名或交互信号;发布隐私政策、Cookie/同意机制和跨境数据要求前,应让法律/合规负责人按目标市场核对。
  • 验证失败页面要告诉真人如何重试或改用备用联系方式,不要让真正采购商只能反复点击。
  • 每周或按业务周期抽查“被拦截/垃圾箱/人工审核”记录,比较误拦和漏拦,而不是用一个百分比证明方案永远有效。
  • 记录验证服务账号、Site Key、Secret Key、WAF 规则、阈值、变更日期和负责人。密钥轮换、插件更新和 Cloudflare/Google 账户权限变更应有回滚方案。
  • 每次改动后从真实浏览器、移动端、不同地区和无缓存页面测试一次成功提交,并确认通知邮件和 CRM 没有重复或丢失。

如果你需要梳理 WordPress 表单、落地页、邮件和 CRM 之间的询盘链路,AdTodo 的WordPress 独立站建设服务可以协助做表单配置、兼容性排查和上线验收;它不承诺零垃圾、零误拦、固定速度、固定排名、固定询盘或零故障。

上线前检查清单

  1. 确认被攻击的具体表单、REST/AJAX 端点、时间段和业务损失,不只看 GA4。
  2. 选择 v2、v3、Turnstile 或其他方案时,写清服务端验证、价格层级、配额和隐私影响。
  3. 在当前表单插件官方文档中确认支持的 key 类型、扩展/许可证和设置位置。
  4. 配置蜜罐、内容过滤、限速或 WAF 时,先用低风险规则并保留被拦样本。
  5. 测试成功提交、错误提示、移动端、海外访问、邮件、CRM、缓存和重复提交。
  6. 安排持续监控:表单成功率、验证失败率、垃圾比例、误拦样本、API 用量和费用。

官方资料与当前入口

相关阅读与下一步

类似文章