如何使用Cloudflare为WordPress网站拦截恶意机器人流量

如何使用Cloudflare为WordPress网站拦截恶意机器人流量

文章目录

  • 设置Cloudflare以抵御机器人攻击
  • 将您的网站连接到Cloudflare
  • 启用机器人防御模式
  • 设置JavaScript和托管挑战
  • 监控结果
  • 查看Cloudflare的安全分析
  • 查看阿里云数据
  • 小结

如何使用Cloudflare为WordPress网站拦截恶意机器人流量

如今网络比以往任何时候都更加繁忙,不仅有人类访客,还有越来越多的自动化机器人、爬虫和人工智能工具不断扫描网站,搜寻内容和数据。

虽然有些机器人很有帮助,例如搜索引擎爬虫可以帮助用户发现内容,但其他一些机器人会迅速提升流量指标,扭曲分析数据,甚至导致不必要的托管费用超支。

在本指南中,我们将展示如何使用 Cloudflare 的免费安全工具,例如机器人防护模式、JavaScript 和托管挑战,以及其他 Cloudflare 设置,来帮助您减少不必要的机器人流量,保护您的 WordPress 网站,并确保您的托管资源仅供真实访客使用。

设置Cloudflare以抵御机器人攻击

您无需高级账户或复杂的配置即可使用 Cloudflare 阻止恶意机器人流量。免费的 Cloudflare 套餐提供多种强大的功能,足以显著提升您的网站安全。

让我们一步步引导您完成设置。

将您的网站连接到Cloudflare

如果您使用 Cloudflare 作为 WordPress 网站的 CDN 加速,您已经可以享受到强大的 Cloudflare 集成带来的诸多优势,包括企业级性能和全球 CDN。但是,要访问高级安全工具,您需要连接自己的 Cloudflare 账户。

幸运的是,这个过程快速便捷。我们提供详细的分步教程,指导您完成整个过程,从添加域名到配置 DNS 记录和名称服务器。请按照以下指南连接您的网站:

👉 如何在您的 WordPress 网站上安装和配置 Cloudflare

域名连接并激活 Cloudflare 后,您就可以启用相关功能,这些功能有助于保护您的网站免受恶意机器人和爬虫流量的侵害,而不会影响真实访客。

启用机器人防御模式

网站连接到 Cloudflare 后,过滤掉不必要的自动化流量最快捷有效的方法之一就是启用机器人防御模式

这项免费的 Cloudflare 功能有助于检测和缓解已知的机器人程序,这些程序可能会抓取、窃取或使您的网站过载,即使它们试图伪装成真人访问者。

要启用机器人防御模式,请按照以下步骤操作:

  1. 从左侧菜单中,转到 Security > Settings
  2. 通过筛选条件(Filter by),选择 Bot traffic
  3. 找到 Bot fight mode 并将其启用。

“Bot Fight Mode”选项

Cloudflare 控制面板显示“Bot Fight Mode”选项。

激活后,您可以在你的服务器访问日志分析中监控结果,因为 Cloudflare 会在非人类请求到达您的网站之前将其过滤掉,访问量会开始下降。

如果您使用的是付费 Cloudflare 套餐,则可以访问“Super Bot fight mode”,它是机器人拦截模式的增强版,更加灵活。它基于相同的技术,但允许您选择如何处理不同的流量类型,启用 JavaScript 检测功能,以捕获无头浏览器、隐蔽爬虫和其他恶意流量。

例如,您可以将该工具配置为仅阻止“definitely automated traffic”,并允许“verified bots”(例如搜索引擎爬虫)通过,而不是阻止所有爬虫:

Cloudflare 的超级机器人防御模式

Cloudflare 的超级机器人防御模式

设置JavaScript和托管挑战

即使启用了机器人防御模式,一些自动化爬虫或 AI 工具仍然可能绕过防御,尤其是那些模仿正常浏览行为的工具。

Cloudflare 的安全规则允许您通过挑战的形式应用额外的保护,在授予访问权限之前验证访问者是否为真人。

您可以将 JS 挑战应用于整个网站,但对于大多数 WordPress 网站而言,最好将其应用于特定路径,例如:

  • /wp-login.php(WordPress 登录页面)
  • /xmlrpc.php(常见的机器人目标)
  • /wp-admin/(管理后台)

要添加 JavaScript 或托管挑战规则:

  • 导航至 Security > Security Rules.
  • 点击 Create rule > Custom rules.
  • 输入规则名称(例如,JS Challenge for wp-login)。
  • When incoming requests match, 配置:
    • Field: URI Path
    • Operator: contains
    • Value: /wp-login.php

在 Cloudflare 中设置自定义规则

在 Cloudflare 中设置自定义规则。

您可以根据需要点击 Edit expression 添加更多条件,然后添加如下所示的表达式:

(http.host in {"example.com" "www.example.com"} and 
starts_with(http.request.uri.path, "/wp-admin") and 
not cf.client.bot and 
not http.request.uri.path contains "/wp-admin/admin-ajax.php")

上述示例针对 /wp-admin 区域,跳过已验证的机器人,并排除 WordPress 插件使用的 AJAX 端点。

Then take action 下,选择以下选项之一:

  • JavaScript Challenge – 对每个访问者运行浏览器测试。
  • Managed Challenge – 让 Cloudflare 的 AI 根据行为和风险级别决定何时进行挑战。

最后,点击 Deploy 以激活规则。如果您想先进行测试,请选择 Save as Draft

监控结果

启用机器人拦截模式或设置您自己的 Cloudflare 规则后,务必确认您的更改是否生效,以及导致访问量激增的自动化流量是否已被有效过滤。

Cloudflare 和您的服务器都提供分析工具,可帮助您衡量效果。以下是如何将它们结合使用。

查看Cloudflare的安全分析

在 Cloudflare 控制面板中,转到 Security > Analytics > Bot Analysis

Cloudflare 机器人分析

Cloudflare 机器人分析。

此视图清晰地展示了您网站总流量中由人类用户和机器人分别产生的流量比例。

Cloudflare 会根据模式、机器学习和行为信号,为每个传入请求分配一个机器人评分。这些评分会根据流量类型进行分组,例如:

  • Automated – 明显非人类的机器人。
  • Likely automated – 可疑的、类似机器人的请求(例如,无头浏览器或 AI 爬虫)。
  • Likely human – 使用真实浏览器的正常访客。
  • Verified bot – 合法的机器人(例如 Googlebot 或 PayPal)。

机器人分析图表会实时显示这些类别。您可以使用筛选器(按国家/地区、IP 地址、浏览器或操作系统)来确定大部分自动化流量的来源。

筛选流量分析

筛选流量分析。

查看阿里云数据

接下来,打开您的阿里云控制面板 > 对应的 ECS 实例 > 监控

在阿里云中查看同时连接数分析

在阿里云中查看同时连接数分析。

由于服务器一般基于每日唯一 IP 地址来衡量访问量(而非像 Google Analytics 那样基于 JavaScript 跟踪),因此它可以准确反映所有访问您网站的流量,包括那些绕过其他过滤器的机器人流量。

Cloudflare 开始拦截自动请求后,您应该会注意到总访问量有所下降(因为机器人不再访问您的源站)。

如果您仍然看到访问量激增,则可以通过服务器的日志报告进一步深入分析,以识别任何重复请求的 URL 或 IP 地址。这些很可能是 Cloudflare 发起新挑战或国家/地区封锁的目标。

小结

管理不必要的机器人流量已成为现代网站运营的重要组成部分。借助 Cloudflare 的免费工具,您可以快速过滤掉自动爬虫和抓取程序,避免它们影响网站性能或增加主机空间使用量。

评论留言

闪电侠

(工作日 10:00 - 18:30 为您服务)

2025-12-05 11:32:51

您好,无论是售前、售后、意见建议……均可通过联系工单与我们取得联系。

您也可选择聊天工具与我们即时沟通或点击查看:

您的工单我们已经收到,我们将会尽快跟您联系!
取消
选择聊天工具: