用户名称: 用户密码:
网站建设快速入口 | 宏蓝主页 | 加入收藏

广州网站建设|网站制作公司|网页设计论坛--广州宏蓝科技公司官方论坛 → 网站建设专栏 → 网站建设技术应用 → 怎样解决wordpress中英文垃圾评论?
    
 
怎样解决wordpress中英文垃圾评论?
发起人:momo  回复数:0  浏览数:3388  最后更新:2013/1/18 9:58:15 by momo
分享到: 微信 更多

选择查看  帖子排序:
2013/1/18 9:58:15
momo





营长

角  色:管理员
发 帖 数:988
经 验 值:1863
注册时间:2012/4/17
联系 收藏 编辑 删除
怎样解决wordpress中英文垃圾评论?

WordPress现在的使用是越来越广泛,wordpress这个玩意儿是从国外传过来的,wordpress也是国外SEO们使用最多的程序。同时与之而来的是相关SEO工具的开发也越来越多,技术也越来越高。

记得曾经使用过的一个英文版的评论工具可以快速找到N多的wordpress博客,同时还可以区分哪些是需要验证码、哪些是不需要验证码、哪些是评 论需要审核、哪些是不需要审核、哪些是评论有跳转、哪些是没有做跳转...等一系列的选项,工具做得很精细,同时还有代理登陆等模拟人工访问等功能,虽然 这些做得很好,但是制造的产物对于俺们这些博主而言特别是中文博主而言,简直就是万恶之源。

喜欢倒腾博客的童鞋们都知道,虽然评论能给博客带来活力,同时也是一个交流的平台,但是垃圾评论泛滥也不是件好事情,不仅浪费空间资源,同时会降低 网页的内容质量对用户体验产生不良影响;而对于很多人一提到处理垃圾评论都会想到使用类似Akismet这样的垃圾评论过滤插件,我的破折君博客刚开始也 是按照这个思路来做的,主要用到了下面三个常用的方法:

1、Wordpress自带的Akismet,默认禁用。启用后要到其网站上注册一下,拿到一个api key才能用。该api key对于个人用户是免费的。

2、Spam Free WordPress。文章里推荐的是另一个,不过看到这个评分比较高,所以装这个了。

3、Math Comment Spam Protection。加了个验证码,让做一道数学题。

但是这三个插件虽然能阻挡一些垃圾评论,但是很多时候都是放在垃圾评论里面,但是也还是要手工删除。刚开始觉得没什么,但是随着破折君博客的流量的 增加,垃圾评论越来越多,不止中文的还有很多的纯英文垃圾评论,有时候一天甚至达到四五百条,删都删的累了,所以就想通过禁止纯英文评论来解决这个问题。

评论工具不同于手工填表单的方式进行评论而往往是利用ajax入口或者wp-comments-post.php或者其它入口进行发送。但是不管他从哪里入口,wp钩子的作用应该一直存在,所以我在主题模板的functions.php下面再加入以下代码,对纯英文评论进行过滤,就可以解决:

function scp_comment_post( $incoming_comment ) {

$pattern = '/[一-龥]/u';

// 禁止全英文评论

if(!preg_match($pattern, $incoming_comment['comment_content'])) {

wp_die( "You should type some Chinese word (like \"你好\") in your comment to pass the spam-check, thanks for your patience! 您的评论中必须包含汉字!" );}

return( $incoming_comment );}

add_filter('preprocess_comment', 'scp_comment_post');

通过这个方法可以让纯英文内容不能评论,这比把纯英文评论标记为垃圾评论更好一些,省去了再去删垃圾评论的时间。


客服热线:020-85562980 客服邮箱:service@macroblue.net
联系地址:广州中山大道89号国家软件产业基地天河软件园华景园区12-S05
版权所有 © 2003-2011    网站建设:宏蓝科技(Macroblue.NET)