
WordPress はデフォルトで投稿を更新する際、その修正前のバージョンを「リビジョン(投稿履歴)」として保存します。この機能は、投稿を更新前の内容の確認や前の状態に戻すことができる便利なものです。
初期状態ではリビジョン数を制御できるようにはなっていません。増え過ぎていくと思わぬ弊害が出てしまうこともあるので、リビジョンの上限設定を行ったり定期的に不要なリビジョンを削除したりと、その数をコントロールできるようにしておきたいものです。
この記事では、リビジョンの使い方や管理方法について記していきます。
リビジョンとは?
リビジョンは、公開・更新した内容や下書き保存、自動保存されたときのバージョンのこと、また投稿を更新した時にその前のデータを保存する機能をいいます。
WordPressのリビジョン機能を有効にしておくと、以下のようなことができます。
- 編集履歴がチェックできる
- 編集履歴にある記事を見比べてどこを変えたか確認できる
- 履歴にある記事の状態へワンクリックで戻せる
誤って別の内容を保存してしまった、やはり以前に書いた内容に戻したい、と言った場合に修正前の内容に戻すことができます。どこを変更したかということを確認する上でも便利です。
記事の復元方法
その投稿にリビジョンがあれば、エディターの右側の投稿パネルに表示されます。

ここに表示される数字をクリックすると、リビジョンの比較画面が表示されます。
上部にあるスライド式のボタンで過去の記事を探すことができます。左に行くほど過去の記事。左右にある「前へ」「次へ」のボタンでも切り替わります。

この画面では2つの記事内容が表示され、違いがあるところに背景色がつきます。
「右側」が復元される内容です。
復元したい記事を見つけて、「このリビジョンを復元」ボタンをクリックすれば、その内容が反映されて編集画面に切り替わります。
「このリビジョンを復元」ボタンをクリックするのは「更新」ボタンをクリックすることと同じです。復元ボタンを押した時点で、その内容に書き変えられて公開されます。
復元した後でも、その内容はまたリビジョンとして残ります。気が変わってやっぱりまた戻したいという時は再度復元できます。
一部だけを修正したいときはコピペで対応
簡単にできるリビジョンの復元ですが、注意しておきたいのは「その時の投稿全部が復元される」ということを理解しておくこと。
「一部分の文章は復元したいけど、その後に書き換えた部分は変更したくない」といった場合にまで「このリビジョンの復元」で復元しようとすると、変更したくない部分も削除されてしまいます。
その場合は手動でコピペするしかありません。該当の部分をコピーして編集中のコンテンツにペーストして対応しましょう。
指定した2つのリビジョンで比較
1つ前の記事と現在の記事の他に、比較対象を変更することができます。
「2つのリビジョンを比較」にチェックを入れます。
上部のスライドボタンが2つになるので、それぞれ比較したい記事に合わせることで見比べることができます。

リビジョンが表示されない
リビジョンが表示される条件は、記事の内容を変更して下書き保存か更新ボタンが2回以上押されていることです。まずこの条件に当てはまらなければ表示されません。
自動保存は何度もされているけど更新ボタンは一度しか押していない、という時はリビジョンが作られないので表示されません。
カスタム投稿タイプでリビジョンが表示されない
カスタム投稿タイプにリビジョンが表示されない場合は、エディター機能のサポート設定にリビジョンが含まれていないかもしれません。
【自作コードの場合】
supportsプロパティに 'revisions' が含まれていなければ追加します。
$supports = [
// 他の設定項目は省略
'revisions',
];
$args = [
// 他の設定項目は省略
'supports' => $supports,
];【プラグイン(Custom Post Type UI)の場合】
設定項目に「サポート」というものがあります。ここにある「リビジョン」にチェックを入れます。

クラシックエディターを使っている場合にチェックすること
クラシックエディターを使っていて入力フィールドの下にリビジョンが表示されない場合、表示オプションにチェックが入っているか確認してみてください。


プラグインを無効化してみる
プラグインによってうまく表示されないこともあります。
一つずつプラグインを無効化しながらリビジョンが表示されるか確認していきましょう。無効化した後に表示されればそのプラグインが原因と考えられます。
削除せずとも一旦無効化し、再度有効化することで解消された事例もありました。
【参照】WordPressの投稿リビジョンが表示されなくなった話
remove_post_type_support でリビジョンを設定している
テーマ側でリビジョン機能をOFFに可能性もあります。使用しているテーマがリビジョン機能を使えるものなのか確認してみてください。
functions.php に以下のような記述がある場合、投稿編集画面にリビジョンが表示されません。
remove_post_type_support('post', 'revisions');'post' の部分は'page' (固定ページ)やカスタム投稿タイプなど、他の投稿タイプ名が記載されている場合もあります。
自分で設定していない場合や、以前はいらなかったけど必要になった、という時に見落としやすいのでチェックしてみてください。
wp-config.phpの記述もチェック
こちらも自分でサイトを作っていない場合や、以前設定して忘れてしまった場合にチェックしておきたい箇所です。
wp-config.php に以下のようなコードが記述されていれば、リビジョン機能が停止されます。
define('WP_POST_REVISIONS', false);コードを削除するか、false の部分を true に修正す
リビジョンの制限設定が必要?
以前の状態を復元したり変更内容を確認するために、そのデータを残しておきたい場合もあるでしょう。しかし、そのデータが増えすぎるとデメリットが発生することも覚えておきたいところです。
WordPressのデフォルトはリビジョン機能がONになっており、またリビジョン数の制限はありません。設定を初期状態のままにしていると、サイトの表示速度に影響を与える可能性があります。
何もしないと増え続けるリビジョン
リビジョンは記事を更新するときに、修正前のコピーを作って保存したデータです。そのためリビジョン機能を有効にしている場合、更新の際に公開用と保存用の2つのデータを保存していることになります。

このコピーデータは回数制限をしていないと無制限に増えるため、更新(書き直し)頻度が多いほどデータも多くなります。
10件の記事しか公開していなくても、その10件の記事それぞれに5件ずつリビジョンがあると50件もの投稿がデータベース保存されることになります。一文字修正やスペースを一つ追加、といった微修正でも更新ボタンを押せば新たな投稿データが保存されてしまいます。
そのため運用期間が長かったり、頻繁に投稿・リライトを繰り返すと、数十件~数百件と膨大なリビジョンデータが蓄積されていきます。
データが多いとサイト全体が重くなる – パフォーマンスへの影響
不要なリビジョンが多すぎると、
- データベースが肥大化
- 表示速度やバックアップに悪影響
- 管理画面での処理も遅くなる
といったリスクが生じます。
私たち人間が紙の資料を探すとき、10枚の資料の中からと100枚の資料の中では、探し当てる時間が変わります。探しものをするなら全体の量が少ない方が早く見つけられます。
それはコンピュータも同じ。データが多いと探し出すのに時間がかかってしまいます。

処理速度を上げるためにも、不要なデータは極力減らしたいもの。適切な数だけ残し、残りは整理するようにしていきましょう。
リビジョンの上限を設定する or リビジョン機能のOFF
便利なリビジョン機能ですが、以前の状態を確認・復元することがなければ不要な記事内容が保存されるだけです。この機能を使わなくても問題なければ停止することもできます。
機能を残しておきたい場合は、リビジョンの上限を設定します。過去の履歴を一定数確保しつつ、データの肥大化を防ぎます。
上限を設定することで、一定数以上になったら古いリビジョンは自動的に削除されます。
リライト量や頻度にもよりますが、上限数は3〜5くらいが目安。保存数は3以上にした方がいいようです。
【参照】 WP_POST_REVISIONS を 1 に設定した場合の注意点 | MaryCore
リビジョンに回数制限を設けても、それ以上にならなければどんなに古いデータでも残ります。使用することのないリビジョンでも、投稿がある限りそのデータも残り続けます。
記事数が多い場合などは特に、不要なデータは減らしてデータベースの容量を空けておくようにしましょう。
上限数を多めにして、「上限設定+定期削除」で、効率と安全性を両立するという方法もありです。
wp-config.phpで上限を設定・停止
WordPress の基本設定ファイル「wp-confing.php」で、リビジョンの停止と保存数を設定できます。
以下のコードを記述します。どちらも「wp-confing.php」にデフォルトで記載されている /* That's all, stop editing! Happy publishing. */ より上の行に追加してください。
リビジョンを停止する
リビジョン機能を完全にオフにするという場合は以下のコードを追加します。
define('WP_POST_REVISIONS', false);これでリビジョンデータは一切作られません。投稿編集画面からリビジョン項目が表示されなくなります。
ただし既存のリビジョンの削除はされません。既に記事をいくつか書いていて、リビジョンデータを削除したい場合は、別途プラグインを使って削除します。
phpファイルを触りたくないという人は、リビジョンを停止するためのプラグインもあります。
Disable Post Revision – WordPress plugin | WordPress.org
このプラグインを有効化して、投稿表示画面からリビジョンを無効にしたい投稿タイプを選ぶだけでOK。簡単に設定できます。
リビジョンの保存数を制限する
リビジョンの上限を設定するときは以下のコードを追加します。
define('WP_POST_REVISIONS', 3);数字のところに保存上限数を入れてください。指定した数字以上は保存されず、古いデータが削除され、新しいデータが追加されます。
投稿タイプごとに停止(functions.php)
「wp-confing.php」での設定は投稿関連全てのリビジョン機能を停止させるものですが、「functions.php」では、特定の投稿タイプに限定してリビジョンを停止させることができます。
function my_remove_supports() {
// 投稿
remove_post_type_support('post', 'revisions');
// 固定ページ
remove_post_type_support('page', 'revisions');
// カスタム投稿タイプ
remove_post_type_support('custom_post', 'revisions');
}
add_action('init', 'my_remove_supports');'post' の部分に投稿タイプを指定します。(custom_post はサイトに設定されている投稿タイプの名前を記述します)
プラグインで投稿タイプごとに制御【WP Revisions Control】
「WP Revisions Control」は、投稿タイプごとに残しておくリビジョン数を設定できるプラグインです。投稿タイプ(投稿・固定ページなど)ごとに保存数を指定でき、各ページごとに保存数を変更することもできます。
【使い方】
- WP Revisions Control をインストール・有効化。
- 管理画面で「設定」 →「投稿設定」を選択。
- 「WP Revisions Control」の項目で、該当の投稿タイプのところに残すリビジョン数を設定。
全てのリビジョンを残す場合は空に、リビジョンを残したくない場合は「0」を入力。

設定後は、上限数を超えるリビジョン数になった場合、古いものから自動的に削除されます。
各投稿での設定
投稿タイプごとで設定した数より増減させたい場合、各編集画面でリビジョン数を変更することもできます。こちらで設定した数値が優先されます。
右側のドキュメントパネルに「WP Revisions Control」の項目が追加されており、ここで「残すリビジョンの数:」をページ単位で設定できます。

ここに入力した数字よりリビジョン数が多ければ、「超過したリビジョンを削除」というボタンが表示されます。

ボタンをクリック→

本文は変更せず、「残すリビジョン数」だけ変更したい場合、このボタンで入力した数より超過している分のリビジョンを削除することができます。
右上の「保存」ボタンをクリックすれば同じようにリビジョンの数は変更されますが、リビジョンの数だけ減らしたいという場合には使えそうです。
動作確認環境
- WordPressバージョン : 6.8.2
- プラグインバージョン : 1.4.4
- 動作確認日 : 2025/09/26
WP-Optimize プラグインで不要なリビジョンを削除
私がリビジョンを削除するために、使用しているプラグインは「WP-optimize」です。
WP-optimize はデータベースの最適化を簡単にできるプラグインで、さまざまな機能のうちの1つにリビジョン削除があります。
【使い方】
- WP-Optimize をインストール・有効化
- 管理画面で「WP-Optimize」 →「投稿リビジョンをクリーン」を選択
- 「最適化を実行する」ボタンを押して最適化実行 → 古いリビジョンが削除されます

ゴミ箱や自動下書き、スパムコメントなどのデータを削除することもできるので、リビジョンに限らず不要なデータがあれば実行していきましょう。
また WP-Optimize では、スケジュールを設定して自動で定期的に削除するよう設定することもできます。
リビジョンの制限をしない場合は特に、こちらで定期的にリビジョンの整理を行う方がいいと思います。
定期的に実行されるよう設定はせず、使用しないプラグインは入れておきたくない場合、クリーンアップできたら、無効化・削除して大丈夫です。(削除したものが元に戻ることはありません)
関連記事
WP-Optimizeで最適化できるその他の項目についてなど、詳しい使い方はこちらにまとめています。
サイトのデータを整理する WP-Optimize の使い方
WP-Optimize以外のリビジョン削除・データベース最適化プラグイン
Optimize Database after Deleting Revisions でサイトデータを整理
データベースからSQLコマンドで削除
データベース操作に慣れていない方はプラグインを使った方が無難ですが、プラグインを使わない方が良い/使えない場合、SQL で直接操作する手があります。
実行前にはバックアップ必須です。もし消したくないものが消されてしまった場合でも戻せるようにしておきましょう。
データベースから一括で投稿のリビジョンを削除する場合、以下のコマンドを入力して実行します。
DELETE FROM wp_posts WHERE post_status = 'inherit' AND post_type = 'revision';
「wp_posts テーブルから投稿タイプが revision のものを削除する」という命令です。テーブルの中の「revision(リビジョン)」投稿が一括削除されます。
また以下のコードでは、テーブルにどのくらいリビジョンがあるかを確認することができます。データ量が多ければ削除する、必要なリビジョンが含まれていないかといった確認に使えます。
SELECT * FROM wp_posts WHERE post_status = 'inherit' AND post_type = 'revision';
※「wp_」の部分はサイト構築時に変更している場合もあります。その場合サイトで使用しているテーブル接頭辞に変更してください。
SQLコマンドメモ : 【WP】投稿ステータスの「inherit(継承)」ってなに? – wp-note
【おまけ】自動保存の最適化(保存時間の間隔設定と停止方法)
リビジョン設定と併せて設定しておきたいものに「自動保存」があります。名前の通り、自動的に投稿内容を保存します。間違えてブラウザを閉じてしまったり、意図せずクラッシュしてしまった時に役立つ機能です。
この機能は、自動保存時の間隔変更や停止を設定することができます。
自動保存のデータは更新の際に上書きするされるものなので増えることはありませんが、変更したい場合は参考にしてください。
自動保存の「間隔」を設定
デフォルトでは1分間隔で自動保存されるので、間隔をもう少しあけたいという方は設定変更してみてください。
コードは「wp-config.php」に記述します。
define('AUTOSAVE_INTERVAL', 3600);間隔は秒数で指定します。この例では、1 時間(3600 秒)ごとに自動保存が行われる設定です。
2時間ごとに設定したい場合「60秒 × 120分 = 7200」となります。
自動保存を「停止」する
自動保存を停止したい場合は、以下のコードを「functions.php」に記述します。自動保存の間隔時間の設定とはファイルが異なるので要注意です。
function disable_autosave() {
wp_deregister_script('autosave');
}
add_action('wp_print_scripts', 'disable_autosave');自動保存を停止すると投稿中にブラウザがクラッシュしたときの復旧ができない可能性も出てくるため、よく検討してください。
必要な分だけのリビジョンを設定しておく
リビジョン機能の有無・保存数はサイトの運用体制によってまちまちだと思います。はじめに上限を多くしておき、運営しながら増減や停止するかどうかを決めていくのも良いかなと思います。
- リビジョン機能を残しつつ、上限設定+定期削除
- 上限設定は 3~5 件程度から始めて、運用状況を見ながら調整
- リビジョン機能を停止しても問題なければ設定
このサイトは個人で運用しており、リビジョンが必要だと感じる場面はあまりなかったため、パフォーマンス重視でリビジョン機能自体オフにしています。ですが、時々リビジョンがあったらよかったな…と思うことは正直あります。
個人で運用するサイトは要不要は自分で決めていいと思いますが、複数人で記事の投稿・編集を行うならあった方がいいと思います。
何人かで同じ記事をリライトする場合は特に、誰が何を変更したかわかるようにしておく、指示通りに変更されているかを見返すなど、リビジョンが役に立つことが多いと思います。
関連記事
カテゴリー : WordPress
タグ :