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');

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

也许你也感兴趣:

作者:
该日志由 破折君 于2013年01月15日发表在Php研究分类下,
转载请注明: 怎样解决wordpress中英文垃圾评论?
关键字: , , ,
【上一篇】
【下一篇】

12 篇回应 (访客:9 篇, 博主:3 篇)

  1. 我的博客也被垃圾代码刷了,终于删完了。

    #1楼
  2. 生活有意思 说道:

    这几年垃圾评论好像没以前疯狂了?

    #2楼
  3. 张黎 说道:

    万一是国际友人友好访问怎么办

    #3楼
  4. 王贺 说道:

    是啊,防不胜防,改天试试这个方法。

    #4楼
  5. 润初颜 说道:

    这个有用!果断收藏了!

    #5楼
  6. Louis Han 说道:

    我现在都已经麻木了

    #6楼
  7. 张黎 说道:

    有插件的,挺好使

    #7楼
  8. CAD2012下载 说道:

    不懂代码,所以这些看起来也不懂呢。

    #8楼