目录
[隐藏]

最近网站的垃圾评论真的是很多,虽然都进入了后台的待审,可以删掉,但是上万条的垃圾评论删起来还真麻烦,一个是服务器本来跑起来就累了。

然后就搜搜看删除的方法呗,虽然都在待审评论里面,都要删除。。。

一,删除垃圾评论

wordpress是目前非常流行的成熟免费博客系统。现在的网络中每天都会产生大量的垃圾内容(SPAM),很多开启了评论功能的 WordPress博客每天可以收到大量由Bot自动提交的、水军人为手动提交的垃圾评论。这些垃圾评论主要是以发网站链接为主,这也是网络推广中一种常 见的方式。这些垃圾评论对流量大的WordPress博客来说是非常无奈的一件事。还有一些博主由于工作原因一段时间没有打理博客的评论留言,经过一段时 间后回来发现博客被提交了大量SPAM垃圾评论。我们都知道在WordPress管理后台可以一次批量选中显示的20条评论,然后将他们删除或标记为 SPAM,但如果那里有成千上万条待审核的评论这也不是个办法。我们需要的是有一种可以一键、或更方便的方式删除所有的垃圾评论。研究了一下找到了几种可 以更便捷删除所有待审核的垃圾评论的方法总结一下分享给大家。

方法一、使用WordPress插件删除所有待审核评论

我们可以下载安装一个可以删除所有待审核(Pending)评论的Plugin插件 - Delete Pending Comments - WordPress插件下载地址

安装后在wordpress后台管理的评论(Comments)下面可以看到“Delete Pending Comments”(删除待审核评论)链接。点击此链接然后会要求手动输入一行单词“I am sure I want to delete all pending comments and realize this can't be undone”(我确定要删除所有待审核的评论并且知晓被删除评论不能被恢复)以确认要批量删除所有待审核的评论。注意,这里说的是待审核的评论,不是指 所有的评论,所以旧的评论依然会被保留(包括那些已经被标记为SPAM垃圾的评论也不会被删除)。

输入完这句话后点击下面的Delete Pending Comments按钮就可以一键批量删除所有待审核的评论了。

方法二、使用Akismet智能识别删除所有垃圾评论

这种方法要比第一种方法智能,值得推荐。Akismet是一款WordPress博客系统上很出名的反垃圾评论系统,博客可以使用它扫描并删除所有 的垃圾评论。Akismet的特点在于它可以智能判断出哪些评论是SPAM垃圾,哪些评论是真正由人写的、有价值的博客评论(英文站的识别率是不是会更 高?)。

要安装Akismet首先你需要得到一个WordPress API的key。安装完成后在后台点击评论。然后在编辑评论(Edit Comments)处可以看到一个检查垃圾评论(Check for Spam)的按钮。点击此按钮,Akismet就会自动开始扫描所有的评论,并将所有有垃圾评论特征的评论归为垃圾评论类了。这也是此方法被推荐的原因,因为相对于第一种将所有待审核的评论都删除的作法Akismet会留下真实的评论更为智能。

方法三、使用phpMyAdmin进入MySql数据库删除所有垃圾评论

如果你更喜欢写命令的话你可以尝试这种方法。先登陆WordPress博客所在的MySql数据库服务器,进入WordPress数据库,通过一段SQL语句批量删除数据库中除审核通过评论之外所有的评论记录。方法如下:

登陆WordPress所在的MySql数据库,然后点击右侧的SQL,将下面的代码复制粘贴到大文本框中:

DELETE FROM wp_comments WHERE comment_approved = '0'

wp_comments是评论所在的数据表名,如果你的表名称不同需要改成你的表名,然后点击右下角的GO按钮。使用这种方法可以删除审核通过评论之外的所有评论,包括待审核、被标记为垃圾的评论。垃圾评论留着也没用,这样做也可以有效地减少数据库的尺寸,起到了清理数据库的目的。

最后总结一下。第一种方法:将所有待审核的评论都删除掉,旧的评论都会被保留,但真实的待审评论也一样被删除掉了。第二种方法,更智能一些,但识别 率高不高笔者没有试验(如果你尝试了可以反馈一下结果给我们)。第三种,将数据库中所有未被审核通过的评论都删除,最后只留下审核通过了的评论。是不是感 觉世界清静了很多?如果你有更好的方法请一定留言分享给大家。

二,情况数据库

删完了上面的垃圾评论,怎么一看数据库还是那么大呢,有点郁闷,40000多条数据,50m多,wp_commentmeta表,是什么呢?

如果你博客运行有年头了,并启用了Akismet插件,相信数据中的wp_commentmeta表,肯定会很大,我的有12MB之多,占了差不多 整个数据大小的一半,里面都是诸如akismet_as_submitted、akismet_result、akismet_history等 akismet插件生成的记录,既然插件都不用了,这些数据也同样没用了,删除。

方法:进入 phpMyAdmin ,选中wp_commentmeta表,清空或运行 sql 命令:

  1. TRUNCATETABLE `wp_commentmeta`

ok,到这里清理结束,让我再搜搜怎样防止垃圾评论,就是让他们连待审都进不来。。。