使用WordPress搭建小站随着时间增加以及内容的大量填充,其数据库也会变得越来越臃肿,网站速度方面会有所下降;要解决这个问题,就需要定期清理数据库,以防止不必要的数据积累。下面分享目前常见的清理数据库垃圾的方法,不过在清理之前,请做好数据库的备份工作,以防止不小心造成数据库删除等,可以快速恢复!
在执行下面的命令前,除了开头提到的备份数据之外,还需要可以管理这个数据库的权限,一般是主机商使用phpmyadmin,虚拟主机一般也提供phpmyadmin,下面是小七自己使用的截图:
选择数据库,点击上面的SQL输入下面的相应命令即可!
1、删除已停用的插件
转到WordPress仪表盘,点击“插件”,删除已停用的插件,可以轻松释放一些空间,这是清理数据库的第一步。
2、清理文章数据
WordPress的文章附加数据存储在wp_postmeta表中(文章数据存储在wp_post表中),大多数情况下这个表中的数据是没有用的,可以使用如下查询清理多余数据。
DELETE FROM wp_postmeta
WHERE meta_key = 'your-meta-key';
将your-meta-key替换为表中关键字即可。
3、清理垃圾评论
如果仔细检查你的数据库,你会找到大量的垃圾评论,包括一些不择手段的宣传和反向链接。评论数据存储在wp_comments表中,可执行如下查询删除垃圾评论。
DELETE FROM wp_comments
WHERE comment_approved = 'spam';
4、清理待审核评论
作为网站的管理员,有权删除所有待审核评论,而不用挨个标记处出垃圾评论。但在运行下面这个查询前,请批准其中的有效评论。
DELETE FROM wp_comments
WHERE comment_approved = '0';
5、删除Pingbacks(自动引用通知)
如果你已经关闭了“接受pingbacks”的选项,则可以执行如下查询从数据库中删除所有已存在的pingback。
DELETE FROM wp_comments
WHERE comment_type = 'pingback';
6、删除文章修订记录
文章修订记录确实是非常必要的,但是一旦你知道它们在数据库中占用的空间之大,就会毫不犹豫的删除它们,他们的大小通常会按指数形式增长,可以执行如下查询一次性删除所有的文章修订记录:
DELETE a, b, c
FROM wp_posts a
LEFT JOIN wp_term_relationships b
ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c
ON (a.ID = c.post_id) WHERE a.post_type = 'revision';
也可以执行如下的SQL语句来禁用文章修订记录:
define('WP_POST_REVISIONS'), false);
7、删除Trackbacks
最后一步来删除Trackbacks,为了防止发生意外,建议先到设置中禁用pingbacks和trackbacks,执行如下查询:
DELETE FROM wp_comments
WHERE comment_type = 'trackback';
如果没有数据库的权限,无法管理数据库、或者新手,那么可以使用WP-Optimize插件进行清理,还是可以到达一样的效果。