解决WordPress网站被群发垃圾评论的问题

  • 酉灿
  • WordPress
  • Jul 26, 2021

使用WordPress做网站的朋友应该都会遇见这个问题:后台 评论 模块中经常会被发布大量的垃圾评论,这些垃圾评论有纯英文的评论,有赌博网站的推广评论,有黄色网站的推广评论等等。

这些评论明显都是机器群发的,对我们站长来说没有任何用处。而且这些垃圾评论会增加我们每天的删除时间成本,同时对于网站也是不好的。我们有没有办法去解决这个问题呢?

很多站长解决这个问题采用的方法是增加评论验证功能,比如在评论的时候输入验证码或者其他先进的验证机制,虽然这是个不错的有效处理垃圾评论的方法。但是为了简化想要留言的朋友的操作流程,我们还有一种更简单的方法,不需要添加验证机制去屏蔽这些垃圾评论。

评论内容需要中文

我们在评论中看到的都是英文或者其他语言,没有中文。那我们就必须评论内容中有中文。

// 评论中需要有中文

function wp_refused_spam_comments($comment_data) {
    $pattern = '/[一-龥]/u';
    $jpattern = '/[ぁ-ん]+|[ァ-ヴ]+/u';

    if (!preg_match($pattern, $comment_data['comment_content'])) {
        err(__('评论中需要有一个汉字!'));
    }

    if (preg_match($jpattern, $comment_data['comment_content'])) {
        err(__('不能有日文!'));
    }

    return ($comment_data);
}

add_filter('preprocess_comment', 'wp_refused_spam_comments');

禁止评论中有链接

很多人到博客评论留言,都是为了推广网站的,我们禁止链接就没有多少人来发评论了。

//禁止发链接

function wp_comment_post( $incoming_comment ) {
	$http = '/[href="|rel="nofollow"|http://|]/u';
	if(preg_match($http, $incoming_comment['comment_content'])) {
		err( "禁止发链接地址!" );
	}
	return( $incoming_comment );

}

add_filter('preprocess_comment', 'wp_comment_post');

就这么简单,将两段代码添加到当前WordPress主题中的functions.php文件中。

通过以上两种方法就能有效的避免了被群发垃圾评论的问题,虽然不可能百分百全部屏蔽垃圾评论,但也有效的减少了我们删除垃圾评论的时间。

其实还有一种方法可以节省我们删除垃圾评论的时间,只需要下载 Easy WP Cleaner插件,便可以一键清理垃圾评论了,也是非常简单快捷。

打赏