玩过WordPress的都知道,随着网站运营时间的增加,WordPress数据库也会变得越来越臃肿,充斥着许多垃圾,影响到数据的查询效率进而也会影响网站的加载效率。
要解决这个问题,就需要定期清理数据库,以防止不必要的数据积累。但很可能你不知道如何清理或者不敢随意折腾数据库,所以今天我会分享9个简单的小步骤,帮助你快速完成数据库的清理。
1、必要准备
在进行清理之前,最好对数据库进行备份,以避免的不必要损失。可使用MySQL的导入导出功能将整个数据库导出,万一出现问题可重新导入数据库。
2、删除已停用的插件
转到WordPress仪表盘,点击“插件”,删除已停用的插件,可以轻松释放一些空间,这是清理数据库的第一步。
3、清理文章数据
WordPress的文章附加数据存储在wp_postmeta表中(文章数据存储在wp_post表中),大多数情况下这个表中的数据是没有用的,可以使用如下查询清理多余数据。
DELETE FROM wp_postmeta
WHERE meta_key = 'your-meta-key';
将your-meta-key替换为表中关键字即可。
4、清理垃圾评论
如果仔细检查你的数据库,你会找到大量的垃圾评论,包括一些不择手段的宣传和反向链接。评论数据存储在wp_comments表中,可执行如下查询删除垃圾评论。
DELETE FROM wp_comments
WHERE comment_approved = 'spam';
5、清理待审核评论
作为网站的管理员,有权删除所有待审核评论,而不用挨个标记处出垃圾评论。但在运行下面这个查询前,请批准其中的有效评论。
DELETE FROM wp_comments
WHERE comment_approved = '0';
6、清理不常用的文章标签
我想大多数人都这样,刚开始写博客的时候,创建了数百个文章标签,以为以后都能用到。但随着我们的博客越来越多,你会发现,我们最经常用的标签就那么几个。
不要惊讶,看一看你的文章标签,你会发现好多标签已经完全记不得了。可以执行以下查询删除使用的标签。
DELETE FROM wp_terms wt
INNER JOIN wp_term taxonomy wtt
ON wt.term_id = wtt.term_id
WHERE wtt.taxonomy = 'post_tag' and wtt.count = 0;
7、删除Pingbacks(自动引用通知)
如果你已经关闭了“接受pingbacks”的选项,则可以执行如下查询从数据库中删除所有已存在的pingback。
DELETE FROM wp_comments
WHERE comment_type = 'pingback';
8、删除文章修订记录
对于博客来说,文章修订记录确实是非常必要的,但是一旦你知道它们在数据库中占用的空间之大,就会毫不犹豫的删除它们,他们的大小通常会按指数形式增长,可以执行如下查询一次性删除所有的文章修订记录:
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);
9、删除Trackbacks
最后一步来删除Trackbacks,为了防止发生意外,建议先到设置中禁用pingbacks和trackbacks,执行如下查询:
DELETE FROM wp_comments
WHERE comment_type = 'trackback';
当然了,如果你是个新手,对这些代码啊,查询啊一头雾水,也可以使用前辈们留下来的插件,推荐使用WP-Optimize(https://wordpress.org/plugins/wp-optimize/),功能也十分完善。