首页 / 新闻资讯 / 技术教程

WordPress 数据库瘦身:修订版本与垃圾评论

2025-12-24分类:技术教程顺云技术组

用了一两年的 WordPress,数据库最占地方的往往不是文章,而是修订版本、垃圾评论和插件留下的临时数据。结果就是 wp_posts 表膨胀好几倍,后台变卡,备份文件一天比一天大。瘦身不难,难在敢动手——所以第一步是备份。

一、先备份
命令行导出完整备份:

mysqldump -u用户名 -p 数据库名 > backup-$(date +%F).sql

万一操作失误,用 mysql -u用户名 -p 数据库名 < backup-日期.sql 恢复。备份文件先验证能打开,再动手删数据,导出的 sql 用 gzip 压一下更省空间。这份备份在手,后面的删除语句才敢执行。

二、清理修订版本
每次保存文章都会生成一条修订记录,写得多改得勤的站点,修订能占到 wp_posts 表的大头,固定页面同样会产生修订。先看数量再动手:

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';
DELETE FROM wp_posts WHERE post_type = 'revision';

顺手在 wp-config.php 里加 define('WP_POST_REVISIONS', 5); 限制每篇最多保留五个修订,把增量控制住。编辑时少按几次保存,修订自然就少。

三、清理垃圾评论
wp_comments 是另一个重灾区。已标记的垃圾评论和回收站内容分别删除:

DELETE FROM wp_comments WHERE comment_approved = 'spam';
DELETE FROM wp_comments WHERE comment_approved = 'trash';

删完执行 OPTIMIZE TABLE wp_comments; 归还磁盘空间。防增量靠反垃圾插件加审核开关:评论必须人工通过才显示,来源脏的站点再加验证码。审核开关就在"设置 - 讨论"里,勾选"评论必须经人工批准"即可。

四、顺带清理临时数据
wp_options 表里 _transient_ 开头的数据是各插件留下的临时缓存,可以清理:

DELETE FROM wp_options WHERE option_name LIKE '\_transient\_%';

部分插件随后会自动重建,属正常现象,不用管。插件卸载前先用它自带的清理选项,残留会少很多,临时数据删多了也不心疼,插件会按需重建。

频率不用高:数据库涨到几百兆或后台明显变慢时做一次即可。做完对比一下前后体积,效果立竿见影,备份速度也会跟着快起来;装了页面缓存的,清一次缓存再看效果。瘦身之后再导出导入一遍整库,也是对结果的检验。

技术教程