WordPress には「リビジョン」という、投稿の変更履歴を保存する機能があります。
この変更履歴はデータベースに上限なく保存されていくため、放置しておくと操作や表示速度に影響しかねません。
本記事ではリビジョンの削除・制御方法について解説しています。投稿編集画面の動作が不安定なときは一度チェックしてみてください。
リビジョンの仕様と確認方法
リビジョンは、投稿編集画面右側の「リビジョン」で確認できます。

数字の部分をクリックすると、今までの変更履歴が表示されます。
ここから過去のバージョンに戻すことができるので、「リライトして再公開したけど、やっぱり元に戻したい」という場合に便利ですね。

リビジョンは以下のタイミングで作成されます。
- 下書きを編集して「下書き保存」したとき
- 公開済みの記事に変更を加えて「保存」したとき
極端な話、1 行書くごとに下書き保存していたら、そのぶんだけリビジョンがたまっていきます(100 行なら 100 個のリビジョン)。
また、Elementor などのプラグインを使っていて、デザインを変更するたびに下書き保存してプレビューで確認…という作業を繰り返していたら、あっという間に数百のリビジョンがたまってしまいます。
もし編集画面の動作がやたらに重い場合、リビジョンも疑ってください。
過去にご相談をいただいたケースでは、数万のリビジョンが影響して Elementor の編集が保存できない(HTTP 500 エラーになる)不具合がいくつかありました。
リビジョンと自動保存の違い
WordPress には、リビジョンのほかに「自動保存」という機能もあります。
記事を書いているときに、右上で何か動いているな…と思ったことがあるかもしれません。それが自動保存です。

リビジョンと自動保存の違いは以下のとおり。

| リビジョン | 記事を保存するたびに、別バージョンとして無制限に作成される |
|---|---|
| 自動保存 | 自動的に 1 回分の過去バージョンが更新される |
自動保存は、以下のタイミングで実行されます。
- プレビュー(表示)をクリックしたとき
- 60 秒に 1 回
たとえば、編集途中で間違えてウィンドウを閉じてしまっても、編集画面に戻って「以下のバージョンよりも新しい自動保存された投稿があります。」と表示されればそこから復元できます。

自動保存は 1 つのデータを更新していくため、動作が重くなるようなことはありません。
いざというときのための保険として、そんな機能もあったな、と頭の片隅に入れておけば十分です。
リビジョン削除方法
リビジョンの削除は、プラグインでの作業が簡単でおすすめです。
とは言っても、何らかの不具合が生じる可能性もゼロではないため、必ず作業前にデータベースをバックアップしておいてください。
プラグインですべてのリビジョンを一括削除する
固定ページを含む全記事のリビジョンを一括削除するときは、プラグイン「WP-Sweep」がおすすめ。
リビジョン欄の「掃除」をクリックするだけで完了します。

「WP-Optimize」もよく使われているプラグインです。
UpdraftPlus ユーザーなら、開発元が同じであるこのプラグインのほうがよいかもしれません(作業前のバックアップ連携機能があるため)。

「UpdraftPlus WordPress Backup Plugin」の設定方法&復元方法
WP-Optimize には、データベースのお掃除のほかにも、キャッシュなど複数の機能があるのがメリットでもありデメリットでもあります。
「リビジョンの削除のみ」なら WP-Sweep のほうがシンプルで使いやすいと思います。
プラグインで特定のリビジョンのみ削除する
リビジョン機能を使っている投稿があり、一括削除されると困ってしまう場合は「Advanced Database Cleaner」をおすすめします。
特定のリビジョンを削除する場合は、表示アイコン をクリック。

削除したいリビジョンを選択して「削除」を実行すると、そのリビジョンだけ消してくれます。

一括削除もできるので、数万件のリビジョンがあるときは「クリーンアップを実行」をおすすめします。

SQL クエリで削除する
もし WordPress 全体に不具合が発生していて管理画面に入れず、その修復過程でリビジョンを削除したいなら SQL で操作できます。
全記事のリビジョンを一括削除
DELETE FROM wp_posts WHERE post_type = 'revision';特定の ID に紐づくリビジョンを削除
DELETE FROM wp_posts WHERE post_type = 'revision' AND post_parent = {投稿ID};作業前は phpMyAdmin などでデータをエクスポートしておきましょう。
WP-CLI で削除する
WP-CLI が使える環境なら、コマンドラインで削除したほうが簡単かもしれません。
全記事のリビジョンを一括削除
wp post delete $(wp post list --post_type='revision' --format=ids) --force特定の日付より古いリビジョンを削除
wp post delete $(wp post list --post_type='revision' --before='2026-01-01' --format=ids) --forceSQL や WP-CLI は上級者向けの操作方法です。
操作方法に不安がある場合は、プラグインの利用をおすすめします(どちらでも得られる結果は同じです)。
リビジョン制御方法
リビジョン機能をとくに使うことがなければ、定期的に掃除するのではなく、機能を制限するか止めてしまうほうがメンテナンスが楽になります。
なお、上限を設定した時点で過去のリビジョンがあったとき、記事を保存したタイミングで上限を超えたリビジョンは削除されます。
プラグイン WP Revisions Control で制御する
最も簡単なのは、プラグイン「WP Revisions Control」による制御です。
プラグインをインストール・有効化したあと、[設定]>[投稿設定]の下部に設定欄が表示されます。
投稿タイプごとに任意の数字を入れれば、それがリビジョンの上限数となります。

ただし、設定に少しクセがあるのでご注意ください。
- 0 または 1 に設定する:編集画面で「リビジョン」が表示されなくなる
- 2 以上に設定する:指定した回数が上限になる
完全に止めたいときは「0」にし、最低限保持しておきたい場合は「2」としておけば大丈夫です。
投稿・固定ページ以外の部分は空欄のままで問題ありません。
wp-config.php で制御する
wp-config.php の設定により、投稿タイプに関わらず、サイト全体で一律に止める or 制御できます。
リビジョン機能を完全に止める
define( 'WP_POST_REVISIONS', false );リビジョン上限を設定する(例:5 回)
define( 'WP_POST_REVISIONS', 5 );プラグインを使いたくない場合や、クライアントに触ってほしくない場合などはこの方法がおすすめです。
フィルターフックで制御する
wp-config.php よりもう少し柔軟に制御したい場合は、フィルターフックを使います(または併用する)。
投稿タイプ別の制御例
add_filter( 'wp_revisions_to_keep', function( $num, $post ) {
// 固定ページは3件
if ( 'page' === $post->post_type ) {
return 3;
}
// 特定のカスタム投稿タイプはリビジョン無効
if ( 'my_custom_post' === $post->post_type ) {
return 0;
}
return $num; // それ以外は wp-config.php の設定に従う
}, 10, 2 );リビジョン機能を止めてしまう場合
add_action( 'init', function() {
remove_post_type_support( 'post', 'revisions' ); // 投稿からリビジョン機能を削除
remove_post_type_support( 'page', 'revisions' ); // 固定ページからリビジョン機能を削除
});テーマの functions.php に書くか、Code Snippets などのプラグインに書いておけば機能します。
WordPress プラグイン Code Snippets の設定方法と使い方
自動保存機能の制御方法
自動保存機能を制限する必要はないと思いますが、保存のタイミングを変更したり、機能そのものを停止することはできます。
いつかどこかで使うことになるかもしれないので、予備知識として制御方法をご紹介しておきます。
自動保存の間隔を変更する
デフォルトの保存タイミングである 60 秒から任意の間隔に変更するには、wp-config.php に以下を追記します(例は 120 秒に変更)。
define( 'AUTOSAVE_INTERVAL', 120 );何秒が最適かは人それぞれですが、個人的にはデフォルトの 60 秒がちょうどよいのかなと思います。
アクションフックで自動保存を完全に停止する
自動保存機能を完全に停止する場合は、アクションフックを使います。
add_action( 'admin_enqueue_scripts', function() {
wp_deregister_script( 'autosave' );
});テーマの functions.php か、プラグインで設定してください。
まとめ
WordPress リビジョンの削除・制限は、プラグインで行うのが簡単です。
目的に応じて以下の 3 つをおさえておけば、そう困ることはないでしょう。
| プラグイン名 | 目的 |
|---|---|
| WP-Sweep | たまったリビジョンを一気に削除したいとき |
| Advanced Database Cleaner | 特定のリビジョンを削除したいとき |
| WP Revisions Control | リビジョン回数を制限したいとき |
リビジョンに関わらず、WordPress でエラーや不具合が生じているときは遠慮なくご相談ください。ご相談への回答・調査は無料で承っています。
