WordPressで記事を執筆していると、気づかないうちにデータベース(DB)が肥大化し、サイトの動作が重くなってしまうことがあります。その大きな原因の一つが「リビジョン」機能です。
この記事では、リビジョン機能のメリット・デメリットから、適切な保持数の目安、さらにはwp-config.phpやfunctions.phpを使ったカスタマイズ方法まで分かりやすく解説します。
WordPressのリビジョン機能とは?
機能の概要
WordPressのリビジョン(Revision)とは、記事(投稿や固定ページ)を保存・更新するたびに、過去のデータを自動的にバックアップとして保存しておく機能です。
- リビジョンの目的: 「編集前の状態に戻したい」「ブラウザが急に閉じてデータが消えた」という際、過去のセーブポイントからデータを復元できます。
- 初期状態の挙動:
wp-config.php等に設定がない場合、WordPressのデフォルトは「制限なし(無限保存)」です。1つの記事を100回更新すれば、100件分のデータがデータベース(wp_postsテーブル)にそのまま蓄積されます。
リビジョンへのアクセス方法
ブロックエディターの使用中、サイドバーに「リビジョン」の項目がある場合、そちらからアクセスいただけます(「2」などの数値をクリックくださいませ)。

その後、以下のような画面が現れます。画面上部のツマミを動かし、戻したい箇所で「このリビジョンを復元」を押下すれば、その時点でのリビジョンが復元されます(復元後に「保存」いただくことが必要です)。

リビジョン数を制限するメリット・デメリット
無限に増え続けるリビジョンを「最大〇個まで」と制限することには、以下のような一長一短があります。
メリット
- データベースの軽量化
不要な過去データが激減するため、データベースの容量肥大化をピンポイントで防げます。 - サイト動作・管理画面の高速化
データベースが軽くなることで、記事の読み込みや検索、管理画面の切り替えなどがスムーズになります。 - バックアップ効率の向上
サイト全体のバックアップデータが小さくなり、保存先のストレージ節約や実行時間の短縮につながります。
デメリット
- 古い履歴に遡れなくなる
例えば上限を「5個」にした場合、6回以上更新すると、一番古い(最初の頃の)編集データは自動的に消去され、復元できなくなります。 - 大幅なリライト(書き直し)時に不便
長文を何度も推敲しながら書き直す場合、「数日前のあの文章に戻したい」と思っても、上限を超えていると過去データが残っていません。
適切なリビジョン数の目安
一般的には、運用バランスが最も良い「3個 〜 10個」への制限が推奨されます。自身の運用スタイルに合わせて以下の目安を参考にしてください。
| 運用スタイル | 制限数の例 | 理由 |
| 一般的なブログ | 3 〜 5個 | 直前のミス(誤消去やバグ)をカバーするには5個あれば十分。 |
| 企業のコーポレートサイト | 5 〜 10個 | 複数人で確認しながら慎重に文言を修正することが多いため、少し多めが安心。 |
| 下書きは別ソフト | 0個(無効化)〜 3個 | NotionやWord等で原稿を完成させてから貼り付ける場合、リビジョンはほぼ不要。 |
リビジョン数を制限・カスタマイズする3つの方法
サイトの構成やスキルに合わせて、以下の3つの方法から選択して設定を行います。
方法①:サイト全体を一括制限する(wp-config.php)
サーバーへの負荷が最も少ない制限方法です。サイトのルートディレクトリにある wp-config.php を編集します。
ファイル内の /* 編集が必要なのはここまでです... */ という記述よりも上に、以下のいずれかのコードを追記します。
- 数を「5個」に制限したい場合:
define( 'WP_POST_REVISIONS', 5 ); - 機能を完全に「無効」にしたい場合:
define( 'WP_POST_REVISIONS', false );
// 記述例
define( 'WP_POST_REVISIONS', 5 );
/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */Code language: PHP (php)
方法②:投稿タイプごとに保存数を変える(functions.php)
「通常のブログ記事は10個でいいけれど、重要な固定ページは5個残したい」「カスタム投稿『ニュース』は3個にしたい」といった場合は、子テーマの functions.php にフィルターフックを記述します。
functions.php の末尾に以下のコードを追記してください。
/**
* 投稿タイプごとにリビジョンの保存数を変更する
*/
function custom_revisions_to_keep( $num, $post ) {
// 通常の「投稿 (post)」は 10個
if ( $post->post_type === 'post' ) {
return 10;
}
// 「固定ページ (page)」は 5個
if ( $post->post_type === 'page' ) {
return 5;
}
// カスタム投稿タイプ「お知らせ (news)」は 3個
if ( $post->post_type === 'news' ) {
return 3;
}
// カスタム投稿タイプ「制作実績 (portfolio)」はリビジョン無効
if ( $post->post_type === 'portfolio' ) {
return 0;
}
// 上記の条件に該当しないその他の投稿タイプは一律5個にする
// ※wp-config.php で設定したデフォルト数値にしたい場合は return $num; に変更してください。
// なお、wp-config.php で無設定の場合は「無限保存」となります。
return 5;
}
add_filter( 'wp_revisions_to_keep', 'custom_revisions_to_keep', 10, 2 );
Code language: PHP (php)
方法③:プラグインで手軽に管理する
コードを触るのが不安な場合や、「すでに溜まってしまった過去のリビジョンを掃除したい」という場合は、プラグインの導入が手軽です。
- WP Revisions Control
シンプル設計のプラグイン。管理画面の「設定」から、投稿タイプごとの保持数を数字で入力するだけで制限できます。余計な機能が要らない場合はこちらで十分です。 - WP-Optimize / LiteSpeed Cache
リビジョン数の制限だけでなく、データベース内にすでに溜まっている過去の大量のリビジョンを一括クリーンアップ(削除)する機能が備わっています。中級者・上級者向けのプラグインのため、触り始めのときに導入いただくことはおすすめしません。
特に LiteSpeed Cache は導入環境が限定されておりますので、注意が必要です。
まとめ
WordPressのリビジョンは強力で便利なバックアップ機能ですが、初期状態の「無限保存」のまま運用を続けると、サイトのパフォーマンス低下を招きます。
リビジョンの制限を事前に行っておくだけで、データベースが劇的に軽くなり、WordPressサイトを長期にわたって快適に維持できるようになります。ぜひご自身のサイトでも設定を見直してみてください。

