垃圾信息不会以同样方式攻击每个 WordPress 网站。个人博客主要处理评论垃圾。WooCommerce 商店处理虚假评价和欺诈订单。会员网站处理试图绕过付费墙的虚假注册。大多数 WordPress 垃圾防护指南给你一长串检查清单、让你自己弄清楚哪些部分适用。本指南先帮你弄清网站类型,然后按顺序带你处理该修复的内容,不向任何特定插件品牌倾斜。
快速回答:你实际需要什么垃圾防护?
| 你的网站类型 | 优先修复 |
|---|---|
| 开启评论的博客 | 讨论设置、评论审核、垃圾过滤插件 |
| 带联系表单的网站 | 蜜罐/令牌保护、时间检查、垃圾过滤插件 |
| WooCommerce 商店 | 评价审核、优惠券限制、结账欺诈筛查 |
| 会员或课程网站 | 注册邮箱确认、登录尝试限制、注册筛查 |
| 任何无法访问 Cloudflare 的共享托管网站 | .htaccess 规则、XML-RPC 封锁、轻量防火墙插件 |
用目录跳到相关部分,有空再读其余。除非特别说明,以下每个设置都免费。
1. 评论垃圾:先打开 WordPress 内置防御
无控制的开放评论区几天内就变成机器人发布链接的垃圾场,每个链接都留在你的网站,让它与药丸网站、赌博页面等关联。修复这保护你在读者中的声誉、防止搜索引擎把你的评论区视为垃圾磁铁。安装任何东西前,先使用仪表盘里已有的功能。在 WordPress 仪表盘,进入设置 → 讨论。
评论出现前。勾选”评论必须经过手动批准”,这样没有你先过目就不会有内容上线。

降低链接阈值。垃圾评论几乎总是带链接。在”评论审核”下,把字段设置为评论包含 1 个或更多链接时保留,而不是默认 2 个。

构建阻止列表。在”不允许的评论键”中,粘贴常见垃圾短语、.xyz 或 .top 等可疑顶级域名、以及已知垃圾邮件发送者邮箱域名,每行一个。

要求姓名和邮箱。在”其他评论设置”下勾选”评论作者必须填写姓名和邮箱”。仅此一项就过滤掉很大一部分机器人生成的过路评论。

关闭 Pingback 和 Trackback。这些是为跨博客对话构建的,现在几乎完全用于垃圾信息,某些情况下还被用来让网站参与针对他人的 DDoS 攻击。取消勾选”允许来自其他博客的链接通知”并保存。

如果你完全不需要评论,彻底禁用就移除整个垃圾类别。最干净的方式是通过 WPCode 或任何其他脚本管理插件添加简单 PHP 片段,而不是直接编辑主题,这样主题更新永远不会让评论回来:
add_filter('comments_open', '__return_false', 20, 2);
add_filter('pings_open', '__return_false', 20, 2);
add_filter('comments_array', '__return_empty_array', 10, 2);
如果你用 Astra Pro,你可以设置这个代码只在特定文章类型和用户角色运行。这给你对网站哪些位置、哪些用户角色触发自定义脚本运行更细粒度控制。
2. XML-RPC 和 REST API 滥用
这是大多数网站主从未听说过的垃圾类型,正因如此,它造成的损害最大。XML-RPC 和 REST API 让自动化工具在单次请求中测试数百个用户名和密码组合,而不是通过登录页面一次一个。这里成功的暴力破解不只是添加垃圾内容;它可以给攻击者网站完全访问权。关闭这个移除 WordPress 上最常被自动化攻击路径之一,无论网站多小多新。
如果你不用 WordPress 移动应用或通过 XML-RPC 连接的外部应用,完全禁用它。通过 WPCode 添加此片段:
add_filter('xmlrpc_enabled', '__return_false');
如果你的主机给你 .htaccess 访问,你可以直接阻止该文件,这会在 WordPress 甚至加载前停止请求:
<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>
REST API 可以用同样方式泄露用户名。如果你不运行无头设置、也不依赖需要开放 API 访问的插件,你应该限制 /wp-json/wp/v2/users/ 的匿名请求。大多数安全插件在”加固”或”REST API”区块有一键开关,所以写自定义代码前先在那里检查。
注意:上面两个 PHP 片段(第 1 节禁用评论、本节禁用 XML-RPC)是 PHP 代码,不是 HTML 或 JavaScript,所以不能放进页眉或页脚脚本框。在 WPCode 中每个作为新 PHP 片段添加,把”插入位置”设置为随处运行,然后激活。你也可以把此类 PHP 片段添加到子主题的
functions.php文件,但 WPCode 更安全,因为主题更新或切换主题不会抹掉它。在服务器级阻止xmlrpc.php的.htaccess块不同:它是 Apache 指令,不是 PHP,所以直接通过托管文件管理器或 FTP 进入网站.htaccess文件。把它放在读取#BEGIN WordPress的行上方。这只在 Apache 或 LiteSpeed 服务器上有效。如果你的主机运行 Nginx,这个块无效,所以改用上面 PHP 片段、跳过这个。
3. 选一个垃圾过滤插件,了解你的真实选项
仅靠手动审核无法扩展。一旦网站有真实流量,垃圾量增长快到手动审查每个评论或表单条目变成兼职工作,而且无论如何都会有漏网之鱼。自动过滤器无形中捕获大部分,你的时间花在内容而不是垃圾文件夹。以下每个插件都在后台安静运行、跨评论工作,连接后大多数也覆盖联系表单。
| 插件 | 免费层级 | 需要 API 密钥/账户 | 最适合 |
|---|---|---|---|
| Jetpack(内置 Akismet) | 有,个人网站慷慨免费层级 | 是 | 已为备份或统计运行 Jetpack 的网站 |
| Akismet(独立) | 非商业网站免费;商业使用付费 | 是 | 评论量轻的个人博客 |
| CleanTalk | 有限免费试用,然后付费 | 是 | 想在评论、表单和注册单一仪表盘的网站 |
| Antispam Bee | 完全免费,无账户 | 否 | 注重隐私的网站,或任何想要零数据离开服务器的人 |
注意:如果你已为网站统计、宕机监控或备份使用 Jetpack,其内置 Akismet 集成意味着你完全不需要第二个插件。这常被忽视,因为 Jetpack 在大多数人心中归类为”性能”而非”垃圾防护”。无论选哪个,只安装一个。同时运行两个垃圾过滤器会造成冲突、可能开始阻止真实访客。
4. 评论垃圾高级技巧
即使有过滤器运行,最顽固的垃圾被写成足够接近真实评论、能溜过自动检查,正是这剩余层要么被额外摩擦捕获、要么最终以你的名义发布。这些技巧在不多加工作的情况下补上最后缺口。以下是一些要遵循的步骤:
添加免费 CAPTCHA。 Cloudflare Turnstile 免费、无请求上限、大多数情况下不要求访客解决任何东西。安装 Turnstile 插件、连接免费 Cloudflare 账户、为评论打开它。
把评论限制为登录用户,但只在你运行会员网站、课程平台或私人社区时。在开放公共博客上,这添加大多数普通读者不愿费事的摩擦,所以依赖垃圾过滤器代替。
从评论表单移除网站 URL 字段。垃圾评论者评论是为了反向链接。移除字段,很大一部分激励随之消失。权衡是互动显著下降,但没关系。真实读者无论如何都会阅读和评论。
5. 联系和线索表单垃圾
被淹没的联系表单把真实客户咨询埋在数百条垃圾提交下,而且因为当天第十条假消息后你停止仔细检查收件箱,很容易错过真实线索。修复这保持表单做实际工作:连接你与真人。无论你用哪个表单构建器,无论 WPForms、Fluent Forms 还是 Ninja Forms,具体检查这三个设置:
- 隐藏令牌或蜜罐,通常默认开启。在表单垃圾防护设置下确认它;
- 最短提交时间规则。真实访客需要几秒阅读填写表单。机器人瞬间提交。2-3 秒最低时间阻止这些、访客不会注意到任何东西;
- 可见 CAPTCHA 作为第二层,用于无论如何仍持续漏过的表单,用 Cloudflare Turnstile 或 Google reCAPTCHA v3,这样你不添加损失真实提交的摩擦。
如果你在 Turnstile 付费方案,添加关键词拒绝列表和阻止特定邮箱域名清理剩余内容。
6. 注册垃圾与登录攻击(这些是不同问题)
虚假账户和暴力破解登录尝试表面相似,但造成不同损害,所以需要不同修复。放任不管,虚假注册膨胀用户数据库、扰乱你追踪的每个指标,而暴力破解登录尝试一旦成功就置整个网站于风险。把它们当一个问题意味着两者都得不到妥善解决。注册垃圾是堵塞用户列表的虚假注册。通过要求账户激活前邮箱确认修复它,让无法检查收件箱的机器人永远完成不了注册。这个设置在哪里取决于你的邮件营销平台、WooCommerce、会员插件或表单构建器注册附加组件,所以安装任何额外东西前检查你的具体工具设置。
登录暴力破解是不同威胁:针对现有账户的重复密码猜测,通常通过 wp-login.php 或 XML-RPC(见上文第 2 节)。用轻量插件限制登录尝试,如果你想要简单额外层,把登录 URL 改得远离默认。如果你根本不需要开放注册,在设置 → 常规取消勾选”任何人都可以注册”关掉它。

7. WooCommerce 特定垃圾
商店垃圾花费的是实际金钱,不只是清理时间。虚假评价误导购物者、可能摧毁整个目录的信任;优惠券滥用每次被刮取的代码重复使用数千次都悄悄侵蚀你的利润。欺诈订单触发退款,让你损失产品、运费外加退款费。锁定这些直接保护收入,不只是整洁。现在,我们处理它们:
虚假产品评价。你必须要求客户提交评价前验证购买。像审核评论一样审核评价,因为 WooCommerce 评价默认通过评论系统运行。
优惠券滥用。为每个优惠券和每个客户设置使用限制,避免未加限制的商店级公开代码。这些几天内就会被刮取、分享到优惠券聚合网站。
欺诈订单。启用支付网关内置欺诈筛查(大多数主要网关免费包含),如果欺诈订单成为反复问题,考虑要求创建账户而不是游客结账。不过,你必须把这个选项与它给真实客户添加的结账摩擦权衡。
8. 添加全站防火墙,带共享托管后备方案
上面一切都处理垃圾到达网站后的事。防火墙在它到达前阻止很大一部分,这很重要,因为整天打你登录页面和表单的自动流量也是消耗服务器资源、拖慢真实访客网站速度的流量。Cloudflare 免费方案等 DNS 级防火墙在请求到达服务器前过滤恶意请求,这是这里最有效的层。设置意味着把域名名称服务器指向 Cloudflare。如果你用 Cloudflare CDN,你的域名已指向其名称服务器。不过,如果你不想用 Cloudflare CDN、或现在更改名称服务器不实际,基于插件的防火墙仍有帮助,第 2 节 .htaccess 片段覆盖最高价值修复(XML-RPC)而完全不碰 DNS。
9. 清理和持续例行程序
已被阻止但从未删除的垃圾仍让你付出代价:臃肿的垃圾文件夹和数千虚假账户拖慢数据库。完全无人看管的过滤器最终会让误报埋没真实客户或读者而你毫不知情。简短循环例行程序保持上面一切实际工作而不是悄悄退化。批量删除任何内容前备份网站。这些操作没有撤销按钮。
清除评论下的垃圾文件夹,先快速扫描是否有被误抓的真实内容。
移除用户下的虚假订阅者账户,按订阅者角色过滤,因为那是几乎所有注册机器人默认的角色。此清理期间绝不碰管理员账户。
设置每月循环检查:扫描误报、清空垃圾文件夹、快速查看新注册是否有乱码用户名或一次性邮箱域名。
常见问题解答(FAQ)
只有 Akismet 或 Jetpack 够吗,还是需要更多?
对评论流量轻的个人博客,一个免费过滤器真的足够。一旦添加联系表单、开放注册或 WooCommerce 商店,每个都需要自己一层,因为专注评论的过滤器不自动覆盖表单提交或虚假注册。
添加 CAPTCHA 会伤害表单转化吗?
可能,尤其可见、拼图式 CAPTCHA。Cloudflare Turnstile 等隐形选项解决大部分问题,因为检查在后台运行、大多数真实访客根本看不到挑战。
安装垃圾插件后为什么还收到垃圾?
通常因为插件只覆盖一个入口点。保护评论的过滤器对联系表单或注册页面无效,除非你专门连接它。分层防御:内置设置、一个过滤插件、XML-RPC 锁定,而不是依赖单一工具捕获一切。
垃圾会伤害我的 SEO 吗?
审核队列中的垃圾永远不会发布,所以搜索引擎永远看不到它、排名不受影响。已发布垃圾是真正风险,不过 WordPress 默认把评论链接标记为 nofollow,即使有一个溜过也限制它们能造成的损害。
网站小需要担心 XML-RPC 吗?
需要。自动化扫描器针对它们找到的每个 WordPress 网站的 XML-RPC 和 REST API,无论大小或流量。网站大小影响你通过评论和表单收到多少垃圾;它不影响机器人是否探测 XML-RPC。
总结
垃圾防护不是一次打开就完事的设置。它是一小撮小而精准的修复,每个针对特定入口点:评论、表单、注册、XML-RPC,如果你运营商店,还有结账和评价。你不需要第一天就做本指南每个修复。回到顶部表格、匹配网站类型、从那里开始。博主从评论审核和一个垃圾过滤插件获得最大收益。商店主从先锁定评价和优惠券获得更多价值。每个人,无论网站类型,都受益于第 2 节 XML-RPC 修复,因为它只需几分钟、关闭一条与你运行什么网站无关的攻击路径。先处理你网站类型的优先修复,然后有空再回来处理其余。这些都不需要付费工具就能比未受保护的默认 WordPress 安装有意义地更安全。
