为什么数据库会越变越臃肿
WordPress 默认会为每次保存自动创建一个修订版本,一篇文章保存十次就多十条记录;长期未发布的草稿、被驳回的评论、插件卸载后的残留选项也都会留在库里。站点运行一两年后,这些数据可能占据几十上百 MB,拖慢查询并增加备份体积。定期清理是维护工作的一部分。
清理之前必须先备份
数据库操作不可逆,任何清理前都要做一次完整备份(文件 + 数据库)。可以用主机面板的备份功能、插件,或直接 mysqldump。备份完成后再执行清理,并保留备份至少一周,确认站点运行正常后再考虑删除。这一步没有任何捷径可以跳过。
修订版本
修订记录保存在 wp_posts 表中,post_type 为 revision。删除历史修订能立即减小数据库,但更有效的是限制保留数量——在 wp-config.php 中定义 WP_POST_REVISIONS,设为 3 或 5 即可,既保留回退能力又不至于无限堆积。改完配置后,历史遗留的修订仍需手动清理一次。
过期草稿与自动草稿
长期不发布的草稿与编辑器自动生成的自动草稿(auto-draft)是最安全的清理对象。清理前逐条确认没有需要保留的内容,尤其是可能作为素材的半成品文章。清理后建议统一给草稿设置一个「最后编辑时间」规则,超过半年未动且无价值的批量处理。
垃圾评论与评论元数据
垃圾评论存在 wp_comments,其附属数据存在 wp_commentmeta。删除评论时要连同 commentmeta 一起清,否则会留下孤儿记录。保留待审核的真实评论,只删除明确的垃圾与垃圾用户产生的内容。清理后在后台开启「自动关闭超过一定天数文章的评论」,可显著减少后续垃圾评论量。
冗余选项与 autoload
插件卸载后常在 wp_options 里留下残留行。检查 autoload 字段为 yes 且体积过大的选项——这些选项每次页面加载都会被读入内存,总量建议控制在 1MB 以内。删除前必须确认该选项确实不再被使用,误删会导致插件功能异常。用「查看哪些插件写入该选项」的方式判断归属,比直接按名称猜测可靠。
预防措施
- 限制修订版本数量
- 关闭并清理无用插件的残留选项
- 定期清理垃圾评论(开启自动垃圾检测)
- 大型站点考虑关闭文章页修订,仅在编辑页保留
- 每季度做一次数据库体检,记录体积变化趋势
清理是一次性的动作,配置预防才是长期的。两件事都做完,数据库才会在一个稳定的体积范围内运行。