使用WordPress博客异常恼人的就是垃圾评论,你可以设置必须注册登录评论或者说关闭评论,但这毕竟对用户体验十分的不好。因此评论还是需要开放的,这里整理了一下防止垃圾评论的有效方法。
一、屏蔽全英文评论
因为WordPress是一个国际化的产品,所以国人的垃圾机器人评论很少,但是国外的垃圾机器人评论十分的多,每天都会有几十条,有的时候甚至几百条,删起来特费劲。
简单的杜绝英文垃圾评论的方法是要求评论中必须有中文,在主题的 functions.php 文件中加入以下代码:
1 2 3 4 5 6 7 8 9 | /* refused spam */ function refused_spam_comments( $comment_data ) { $pattern = '/[一-龥]/u'; if(!preg_match($pattern,$comment_data['comment_content'])) { err('评论必须含中文!'); } return( $comment_data ); } add_filter('preprocess_comment','refused_spam_comments'); |
如果收到日文的垃圾评论的话,同样的方法,可以屏蔽含有日文的评论,也是在主题的 functions.php 文件中加入以下代码:
1 2 3 4 5 6 7 8 9 | // 禁止日文评论 function BYMT_comment_jp_post( $incoming_comment ) { $jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u'; if(preg_match($jpattern, $incoming_comment['comment_content'])){ wp_die( "禁止有日文字符的评论 You should type some Chinese word" ); } return( $incoming_comment ); } add_filter('preprocess_comment', 'BYMT_comment_jp_post'); |
如果是面向国际友人的博客,这个方法建议就不要用了。
二、安装验证码插件
验证码插件基本可以杜绝机器人垃圾评论了!这方面的插件有Akismet、myQaptcha、Fancy Captcha、SI CAPTCHA。
Akismet是官方的插件,比较占用资源,很多人都不用了。这个插件的好处是会记录垃圾评论的信息上传到服务器进行共享。比如机器人IP,在服务器端就被标记了,因此到你博客根本评论不了。
myQaptcha目前我在用的,使用滑动就可以验证通过,简单,用户体验好,也很好的能排除机器人评论。更棒的一点是支持一段段验证。
Fancy Captcha,这个插件用户体验也比较好!是类似12306网站那种,显示几张图片,按照文字选择对应的图片,可惜的是不支持手机端。
SI CAPTCHA,这个是最经典的验证码了,随机显示字母,对应录入就可以,用户体验不好!
插件可能跟主题会有冲突,自己可以去调式一下,插件安装可以在博客后台搜索对应的名称安装。大概就这两种方式,其他多了肯定也会造成用户体验的问题,应该可以杜绝大部分的机器人评论吧!