最近被人工广告逼得我不得不再折腾一下,至于以前的机器评论在我的博客是不存在的,因为有那个算术验证,现在唯一烦人的就是那些人工广告,WP的反垃圾插件找不到一款符合我要求的,因为它们原理基本都是将垃圾评论归类而不是阻止写入数据库,用户还得手动去后台删除垃圾评论,这不是我想要的。
于是自己折腾出了一款插件,当发现人工广告评论时,只需将评论的一些元素加入插件后台选项的黑名单中,然后会根据通配符等匹配,以后那些人工Spammer进我的博客就只能见到“Hello World !”两个英文单词了,效果见下图:
这个插件,熬了两个晚上才完成,实在是对那些人工Spammer感到气愤,可能春节原因,大多是礼品小网站的,我刚建博客时关注了一下A5举办的优化比赛,那时对那些SEOer还是蛮有好感的,可能我关注的主要是前几名的原因,素质比较高。现在最让人讨厌的估计就是那些 A5、Chinaz、落伍 的那些人,那些所谓的SEOer,他们为了获得外链,为了所谓的优化,却要建立在污染别人网站的基础上。本来打算将这个插件提交到WP官方目录的,申请已经通过了,但是还是没有上传,原因就是考虑到这个东西一见光就没用了,正如大家看到的,目前反垃圾插件很多,效果呢…当然,人工Spammer可以绕过这个插件,但是他的工作量会非常辛苦。
实际上我博客的评论链接有别于WP默认的链接,是通过我的主题YLife目录下的一个php文件跳转(属于wp-content) ,这个功能已经被集成在了自己的主题中,所有WP默认的评论链接都会通过函数被自动替换,而我的robots.txt中已经 Disallow: /wp-content ,再加上评论链接的属性 external nofollow ,所以评论链接在我的博客没有任何作用,但是那些忙碌的SEOer、Spammer哪有时间看评论链接…看到他们辛苦地发链接广告,真想提醒他们一下别费劲了,即使我通过审核那也是没有任何效果的……
附加一:禁止wordpress黑名单用户评论:
修改 /wp-includes/comment.php 文件,查找
if ( wp_blacklist_check
将
$approved = 'spam';
这一行注释掉,在下面添加一行
wp_die('错误:您的评论中含有禁止的广告或敏感类词汇,请返回修改。');
附加二:禁止评论中出现超链接(注意:这个方法会和@回复冲突):
将后台“评论审核”那里设为:如果评论中包含“1”个以上链接,则将该评论放入审核队列。
修改 /wp-includes/comment.php 文件,查找
if ( $num_links >= $max_links )
将
return false;
这一行注释掉,在下面添加一行
wp_die('错误:评论中禁止出现超链接,请返回修改。');
恩。。。我用的那个some chinese please..还不错。。