现在忘记 WordPress 中的垃圾评论 😎

下载: 忘记垃圾评论插件

这是专为 WordPress 默认评论系统设计的免费反垃圾邮件插件。

它是如何工作的

或者,对于高级用户,下面是手动方法

WordPress 默认的评论系统有两个主要问题。

  1. 吸引垃圾评论。
  2. 不向评论作者发送后续电子邮件(将在一段时间内讨论)。

说说它的 解决方案.

防止垃圾评论

而不是直接让任何人做 邮政 请求于 /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 的插件。

如果您喜欢这些信息,请转发给您的朋友。 🙏

  如何创建自定义 WooCommerce 类别页面设计

类似文章