在被垃圾评论搞得很郁闷之后,我想到了应该可以去数据库里删除垃圾评论。到网站空间的后台,使用phpmyadmin登录数据库,然后选择wp_comments这个表,执行SQL语句,这个SQL语句可以根据出现在各个垃圾评论里的某个关键词来设计,比如垃圾评论的作者邮箱地址一般都有个buy字,那么用如下的SQL语句:
SELECT * FROM `wp_comments` WHERE `comment_author_email` LIKE ’%buy%’
得到查询结果,再全选,然后删除。这样就可以快速地把垃圾评论删除掉了。建议先select出来,看看所得的结果是不是垃圾评论,然后再删除。不要一开始就用delete语句,以免删错了。
可以选择不同的字段来匹配某一条件,上面是用了评论者的email地址,你也可以用评论者的昵称,评论内容,评论者的IP等等字段来代替,只要将相应的字段名填入上面的SQL语句里就行了。如果你用评论内容来匹配的话,注意不要用你的博客里显示的评论的词来设计条件,因为垃圾评论里的词多数都是转向某一链接的,它在数据库里就会显示相应的网站地址,而并不显示你所看到的词。要先在数据库里看它真正的显示内容,再用其中的某一关键词来作为查询条件。比如我的博客里的垃圾评论很多都是指向一个nexo的网站的,虽然博客的垃圾评论里并没有显示nexo这个词,但我用以下的SQL语句:
SELECT * FROM `wp_comments` WHERE `comment_content` LIKE ‘%nexo%’
也能查询出大部分的垃圾评论,可以删的很干净。
在用数据库删除垃圾评论的时候,我遇到了一个奇怪的问题:我在数据库里已经删除那些评论,但刷新我的博客后,发现那些垃圾评论还在那里,数目也没有变,一度让我怀疑是不是这个方法行不通。我把浏览器关了再开,重复了几次后才看到垃圾评论的数目减少了。这应该是因为我启用了WP Super Cache这个缓存插件,刷新后显示的还是缓存静态文件,没能显示出即时的改变。我把这个插件停用了之后,再在数据库里删了一些垃圾评论,刷新网页,评论数目也马上就有相应的变化了。
Related posts:




[...] update:如何快速删除垃圾评论 分类: Site Development 标签: Akismet, 垃圾评论 评论 (0) Trackbacks (1) 发表评论 Trackback [...]
Pingback 由 被垃圾评论搞得很郁闷 | 我爱哈佛蛋 — 2009年06月7日 @ 14:21
用这个WP的插件YAWASP,你到插件里面搜就可以找到安装,防护效果极好。我正在用。它的工作原理是诱骗垃圾机器人。
评论 由 也许知道 — 2009年06月9日 @ 21:42
最近我发现这个插件不稳定,有时会将正常的留言当作垃圾回复对待。告之一下。
评论 由 也许知道 — 2009年06月10日 @ 17:05
谢谢,好像大部分的防垃圾评论插件都有这个问题,容易错杀无辜。
评论 由 zhihong — 2009年06月10日 @ 22:03
挺有用的
评论 由 唐恩 — 2009年08月14日 @ 08:11
用godady的空间的话,登录后台数据库有点慢啊
评论 由 小鱼 — 2009年08月14日 @ 22:59
很清楚的介绍,谢谢了
评论 由 wantit — 2009年08月15日 @ 05:28
不懂数据库那些东西啊,我照着这篇试试吧
评论 由 downtown — 2009年08月15日 @ 07:50
[...] 看来在WordPress里,用插件解决问题才是正道。在数据库里操作,要先用phpadmin登录数据库,总是比较麻烦,不如在WordPress后台里统一管理。而且对于不熟悉数据库和SQL的人来说,用插件是最方便的选择了。受此插件的启发,我觉得“如何快速删除垃圾评论”其实也可以写一个插件来删除,这插件可以自定义垃圾评论的关键字。有哪位高手有兴趣的话可以写写这个删除垃圾评论的插件,如果没有的话我就自己来了,学学怎样开发一个WordPress插件。 [...]
Pingback 由 如何快速删除WordPress文章修订版本 | 我爱哈佛蛋 — 2009年08月16日 @ 23:44
还是挺麻烦的
评论 由 mon — 2009年08月19日 @ 20:33