现在忘记 WordPress 中的垃圾评论 😎
下载: 忘记垃圾评论插件
这是专为 WordPress 默认评论系统设计的免费反垃圾邮件插件。
它是如何工作的
或者,对于高级用户,下面是手动方法
WordPress 默认的评论系统有两个主要问题。
- 吸引垃圾评论。
- 不向评论作者发送后续电子邮件(将在一段时间内讨论)。
说说它的 解决方案.
防止垃圾评论
而不是直接让任何人做 邮政 请求于 /wp-comments-post.php
我们可以添加一些逻辑来 100% 防止垃圾评论。
步骤 1. 限制评论 POST 请求路径超过查询参数
我将分享三种方法,使用一种方法。
阿帕奇
- Yoast > 转到工具 > 文件编辑器
- RankMath > 转到常规设置 > 编辑 .htaccess
- FTP/SSH > 检查
/var/www/html
# If Query string doesn't matches return 404
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} .wp-comments-post\.php
# You may change 45jpfAY9RcNeFP to something else
RewriteCond %{QUERY_STRING} !^45jpfAY9RcNeFP
RewriteRule (.*) - [R=404,L]
</IfModule>
如果您使用的是 LiteSpeed,它还支持 .htaccess 文件。 执行后必须重新启动。
NGINX
location = /wp-comments-post.php {
if ($query_string !~ "45jpfAY9RcNeFP") {
return 404;
}
}
云焰

- 登录到 Cloudflare 仪表板
- 转到防火墙 > 防火墙规则
- 使用以下表达式创建新的防火墙规则
场地 | 操作员 | 价值 | |
网址 | 包含 | wp-评论-post.php | 和 |
网址查询字符串 | 不等于 | 45jpfAY9RcNeFP |
- 选择动作: 堵塞
最后,你会看到表情
(http.request.uri contains "wp-comments-post.php" and http.request.uri.query ne "45jpfAY9RcNeFP")
步骤 2. 更正滚动事件上的 Comment POST URL
- 使用代码片段插件或主题 functions.php 添加以下功能
- 确保使用正确的域和表单 ID。
function correct_comment_url_on_scroll() {
// Check if Comment is enabled
if(comments_open()) echo '<script>
let commentForm = document.querySelector("#commentform, #ast-commentform, #ht-commentform");
// Load new comment path on the scroll event
document.onscroll = function () {
commentForm.action = "https://www.example.com/wp-comments-post.php?45jpfAY9RcNeFP";
};
</script>';
}
add_action('wp_footer', 'correct_comment_url_on_scroll', 99);
或者,如果您是 GeneratePress Premium 主题用户,您可以使用 Elements 模块直接添加上述 JS 部分。
<script>
let commentForm = document.querySelector("#commentform");
commentForm.action = "https://www.example.com/wp-comments-post.php";
// Load new comment path on the scroll event
document.onscroll = function () {
commentForm.action = "https://www.example.com/wp-comments-post.php?45jpfAY9RcNeFP";
};
</script>
- 添加一个新的钩子
- 新挂钩标题:即时更改评论 URL
- 钩: 可湿性粉剂页脚
- 优先级:99
- 位置:帖子 – 所有帖子
- 发布
如何检查它是否正常工作?
- 通常 WordPress 在 /wp-comments-post.php 返回 GET 请求的 405 响应
- 但是在上面的设置之后,你应该看到访问被拒绝。
- 而且,URL 应该只在存在特殊查询字符串的情况下加载
45jpfAY9RcNeFP
我们为防止垃圾评论而添加的。 您可以在上述所有配置中将此查询字符串更改为其他内容。 - 源代码通常会显示
wp-comments-post.php
路径,但如果您在滚动后检查元素,您会注意到添加了一个查询字符串。
结果 #1:没有垃圾邮件

结果 #2:垃圾邮件发送者被阻止

使默认评论系统更好的额外提示
- 默认情况下,WordPress 评论系统不会向评论作者发送后续电子邮件。 要解决此问题,您可以使用 评论回复邮件通知 Arno Welzel 的插件。
如果您喜欢这些信息,请转发给您的朋友。 🙏