WordPress 禁用所有文章类型的修订版本

如果你不是内容型、编辑型网站,修订版本要么直接关掉,要么严格限制数量,没必要让它无限增长。

修订版本本身不是问题,默认“无限保存”才是问题

为什么一定要处理修订版本

WordPress 每次更新内容,都会生成一条 revision,长期运行后,wp_posts 表里大量数据其实都是历史草稿。

这些数据不参与前台展示、不影响 SEO、不提升转化,却会持续拖慢数据库查询、放大备份体积、增加维护成本。

换句话说:

它是一个长期只消耗资源、不产生收益的默认功能。

你可以怎么选(按使用场景)

不同站点,对“后悔药”的需求完全不同,不存在唯一正确答案。

方案一:彻底禁用(大多数企业站的最优解)

如果你几乎不回滚内容,直接在 wp-config.php 中禁用:

define('WP_POST_REVISIONS', false);

这是系统级控制,对所有文章类型、所有编辑器生效,稳定、省心、不会被主题或插件干扰。

方案二:只保留最新 1–2 个版本(折中方案)

如果你希望留一点回滚空间,但不接受无限堆积:

define('WP_POST_REVISIONS', 2);

每篇内容最多保留最近 2 个修订,旧的自动清理。

对内容偶尔需要回退、但不高频编辑的网站非常合适。

方案三:通过过滤器控制(适合做成插件)

不方便改 wp-config.php,或者想把逻辑交付给客户,可以用过滤器:

add_filter( 'wp_revisions_to_keep', 'specs_wp_revisions_to_keep', 10, 2 );
function specs_wp_revisions_to_keep( $num, $post ) {
    return 0;
}

如果你想改成只保留 2 个版本:

function specs_wp_revisions_to_keep( $num, $post ) {
    return 2;
}

这种方式属于运行期控制,灵活,可封装,但优先级略低于系统配置。


方案四:已经跑多年的老站,顺手清一次历史垃圾

即使你现在禁用了新修订,旧的 revisions 依然会占空间。

在确认备份无误的前提下,可以清理一次:

DELETE FROM wp_posts WHERE post_type = 'revision';

这一步不会影响现有内容,只是把历史冗余数据清掉。


到底该选哪个?

一句话判断标准:

  • 外贸站 / 企业官网 / 产品站 → 方案一 或 二

  • 博客 / 内容站 / 多人协作编辑 → 方案二

  • 项目交付 / 无法动配置文件 → 方案三

不要纠结“哪种最专业”,

只要记住一条原则就够了:

修订版本必须有上限,否则迟早变成数据库负担。

默认配置不是最佳实践,只是“懒得替你做判断”。

搜索教程

建议直接搜你现在卡住的问题,比如: “产品详情页”,“谷歌收录”,“网站太慢”等。

不想自己折腾?

如果你看完几篇教程,发现还是没时间 / 没精力自己搞, 可以直接把参考站丢给我,我帮你用 WordPress 仿出一套可用的外贸官网。

滚动至顶部