WordPress 官方出品的防垃圾留言插件:Akismet
2007年04月12日
Akismet 是 WordPress 官方 Automattic 出品的防垃圾插件,它的全名是 Automattic Kismet,一般我们简称为 Akismet,他能够同时防止垃圾留言和 Trackbacks,使你的博客基本免除垃圾留言的问题。它是 WordPress 博客必装的插件之一,我在安装 WordPress 后应该做的5件事情中就提到激活 Akismet 插件。
安装 Akismet
默认 WordPress 下载中就有了 Akismet 插件,所以你无需另外去下载 Akismet 进行安装,但是它你必须到 WordPress.com 去注册个帐号,获取 WordPress.com 的 API Key。然后把这个 key 输入到插件的提供的选项中,如果你是给 WordPress Mu 安装 Akismet 插件的话,你可以编辑 Akismet 插件,在插件开始定义一个叫做 WPCOM_API_KEY 的常量,把这个 key 的值赋给它,然后全站激活这个插件就可以。
Akismet 的版本
Automattic 提供两种不同的版本的 Akismet,一种是个人版,我们现在使用的就是,大家都可以都免费试用,另外一种是商业版本,它是给那些能够从他们 blog 赚 500 美元的人或者商业客户使用,商业版有更好的服务,并且没有限制。
Akismet 的防垃圾留言机制
Akismet 主要是通过黑名单手段来防止垃圾留言的,所以他主要的优点是它能够实时更新,能够通过不停的学习哪些是垃圾留言,哪些不是。当你的博客收到一条留言,Pingback 或者 Trackback 的时候,它会被提交到 Akismet 服务器去验证,如果 Akismet 识别出这是一条垃圾留言的话,就会通知插件把它标为垃圾留言。而非垃圾留言则通过检查并且得到发表。并且这些垃圾留言将会被存储到数据库中以便给你重新检查,并且会在15日之后自动删除。
上面说到 Akismet 是采用黑名单数据库的方式来检测垃圾留言的,这样的方法其实和杀毒软件的病毒库一样的机制,但是杀毒软件的病毒库是保存在本地(虽然现在也有云杀毒的概念,病毒库都在服务器上,每次杀毒都通过网络来完成),而 Akismet 检测垃圾留言是通过 Akismet 服务器来完成,这样会造成一些问题,每次垃圾留言的检测都要发动到 Akismet 的服务器上去检测,如果你的博客服务器和 Akismet 服务器之间的网络有问题的话,这个检测还很可能失败。另外 Akismet 服务器也有宕机的时候,并且这段时间,又收到上百条垃圾留言的话,这些留言可能会通过而被发表。当然我们可以通过 Akismet 重新检测留言的功能和手工恢复来处理上面提到的情形。另外现在 Akismet 已经在后台提供界面显示你博客服务器和 Akismet 服务器直接之间的连接状态,这个有助于你了解状态。
Akismet 也存在误判断垃圾留言的情形,如果你的博客出现了这种情况,只要手动恢复过来既可以,如果你在别人的博客上留言直接被判断为垃圾留言,那么你这个时候你就要到 Akismet 联系页面手工申请要求把你的 Email 或者博客地址剔除出黑名单,详细你可以参考如何从 Akismet 黑名单中逃生这篇日志。
Akismet 统计
Akismet 从2.2.1 版本开始就推出了统计,可以统计你博客每天的的垃圾留言的数等各种数据:

Akismet 统计功能
Akismet 的 API
其实 Akismet 不仅仅能够为 WordPress 博客用户防垃圾留言,Akismet 开放了 API,其他系统或者程序只要使用 Akismet 作为插件的系统也能够使用它来防止垃圾留言,但是同样需要一个 API Keys。
我是如何防垃圾留言的
- 关闭博客的 Trackbacks,博客之间交流的 Trackbacks 机制已经没有任何意义了,并且被 Spamer 滥用了,所以首先我是彻底关闭博客的 Trackbacks。
- 注册之后才能留言,我现在博客的是需要注册之后才能留言,我发现这样并没有降低有效的留言,让真正有需求的同学来留言。但是为了是注册流程简化,我使用了 Twitter Connect,豆瓣 connect,Google Friend Conect 等插件来使登录方便。
- 激活 Akismet 插件,剩下的留言 Akismet 基本都可以判断了。误判的情况很少
通过上面三个步骤之后,博客基本没有垃圾留言了。
18 条评论 添加你的评论 →

1. Denis | 2007:04:16 - 23:43:13 | #
翻译的不好,如果有错误,欢迎您的指出!
希望口下留情!
2. bokeboke | 2009:11:14 - 16:39:37 | #
翻译的比原文还好。拍一下马屁,呵呵。
3. Denis | 2009:11:14 - 21:09:44 | #
囧!
4. kukukuan | 2007:05:30 - 00:00:35 | #
呵呵,我的情况是误判的概率为0.3%左右
我防SPAM的办法是服务器端IP屏蔽辅助这个插件,呵呵
5. Denis | 2007:05:30 - 00:17:17 | #
你厉害,我基本上这个插件够用,有些人工删除下!
6. 湘湘麦 | 2008:05:03 - 20:54:38 | #
我的怎么办。。。。
这两天垃圾评论1天400多个。。。。
删得我累死了。。。。。。
这个我注册后,拿不到api key。。。。
7. 湘湘麦 | 2008:05:03 - 20:56:07 | #
http://bibico.cn/?p=10
就是这篇。。。。。。。。
郁闷死我了,我现在还在删留言。
我都已经关闭评论窗口了,居然还可以评论。。。
8. xj | 2007:08:29 - 17:13:56 | #
反垃圾的插件还没有用过,不过近日突然收到一堆垃圾评论,实在有些无奈。试用一下吧。
9. 黑色饼干 | 2007:12:04 - 21:16:29 | #
还没用过,准备试下
10. amai | 2008:04:01 - 12:25:40 | #
闲逛的时候无意中看到的,文章都很好,尤其喜欢关于SEO的那部分~加油加油
11. 54ui | 2008:10:24 - 10:11:09 | #
学习ing….
这个东西是不是对seo的优化有帮助啊!?
12. Dianso | 2009:11:12 - 21:11:48 | #
我也觉得这样基本没什么垃圾留言了
13. qiqiboy | 2009:11:12 - 21:30:41 | #
但是,听说这个插件的数据库地址国内是被墙的,用国内主机的使用还有效吗?
14. Denis | 2009:11:13 - 00:03:26 | #
现在可以正常使用了在看
15. dgwxx | 2009:11:13 - 10:46:23 | #
其实老实说Akismet对中文留言的误判率实在达不到令人满意的地步。
Blog的话,一个简单的机器人陷阱就可以挡住99.9%的垃圾,效率比Akismet高不知道多少。窃以为没有特殊原因的话其实是不需要Akismet的。
16. 园子 | 2009:11:14 - 09:15:09 | #
一直在用 Akismet 插件
感觉挺不错的
误判的情况非常少~
17. bokeboke | 2009:11:14 - 16:38:31 | #
这东西太有用了。
18. kendy | 2009:11:18 - 10:03:25 | #
收藏下,以后做博客的时候有用