WordPressには、記事を保存するたびに、その時点の内容を残しておく「リビジョン」という機能があります。書き直す前の文章に戻したいとき、誰がいつ何を変えたかを確かめたいときに役立ちます。
便利な一方で、「リビジョンが増えるとサイトが重くなる」という話もよく聞きます。実際のところはどうなのか。Localで作ったテストサイトで、約9KBの記事を100回更新して確かめました。
WordPressのリビジョンとは
リビジョンは、記事や固定ページの編集履歴を保存する機能です。「下書き保存」「公開」「更新」を押したときに、その時点の内容が1件ずつ保存されます。
- 保存されるのは、タイトル、本文、抜粋
- 内容を変えずに「更新」を押しても、新しいリビジョンはできない
- カテゴリー、タグ、アイキャッチ画像、カスタムフィールドの変更は、リビジョンには残らない
個人で運営しているブログでも、書き直す前の文章に戻したいときに使えます。複数人で記事を書いているなら、誰がいつ何を変えたのかを確かめる記録にもなります。
リビジョンの使い方
1. リビジョンの数を確かめる
ブロックエディターでは、右側の「投稿」タブに「リビジョン」の数(①)が表示されます。数字を押すと、比較の画面が開きます。

クラシックエディターでは、右側の「公開」欄に「リビジョン」の数と「表示」のリンクがあります。
2. 比べて、元に戻す
比較の画面では、上のつまみ(①)を動かすか、「前へ」「次へ」で、保存した順にさかのぼれます。消した部分は赤、足した部分は緑で表示されます(③)。

戻したい時点が見つかったら、「このリビジョンを復元」(②)を押します。復元すると、その時点のタイトルと本文が今の記事に入り、復元したこと自体も新しいリビジョンとして残ります。
「2つのリビジョンを比較」にチェックを入れると、離れた2つの時点を並べて比べることもできます。
100回更新して確かめたこと
本文が約9KB(日本語でおよそ3,000文字)の記事を作り、WP-CLIで100回更新しました。
リビジョンは本文をまるごと保存している
100回の更新で、リビジョンは100件できました。リビジョンの本文を合計すると890KBです。リビジョンは変更した部分だけでなく、そのときの本文をまるごと1件ずつ保存しています。
長い記事を何度も書き直すほど、データベースの容量は増えていきます。
表示の速さはほとんど変わらなかった
記事ページの表示にかかった時間(サーバーが応答を返し始めるまで)を測ると、リビジョンが100件ある状態で0.093秒、全部消したあとで0.086秒でした。差は0.007秒で、誤差の範囲です。
| リビジョン100件 | リビジョン0件 | |
| リビジョンの本文の合計 | 890KB | 0KB |
| 記事ページの応答時間 | 0.093秒 | 0.086秒 |
サイトに表示する記事を探すとき、WordPressはリビジョンを対象にしません。そのため、リビジョンが多少増えても、表示の速さにはほとんど影響しません。
ただし、何年も運営して数千件たまると話は別です。以前、tcd-theme.comで約5,000件のリビジョンを削除したときは、PageSpeed Insightsの点数が12ポイント上がりました。データベースのバックアップや移行にかかる時間も、容量に比例して長くなります。
リビジョンの数を制限する
wp-config.php で制限する
wp-config.php の「/* 編集が必要なのはここまでです */」より上に、次の1行を追加します。
define( 'WP_POST_REVISIONS', 5 );
数字は、1つの記事に残すリビジョンの数です。テストサイトで5にして同じ記事を10回更新すると、残ったリビジョンは新しい5件だけでした。
数字の代わりに false を指定すると、リビジョンは保存されなくなります。ただ、書き直す前に戻す手段もなくなるので、5〜10件ほど残しておくのがおすすめです。
wp-config.php の編集方法は、こちらの記事で解説しています。
「wp-config.phpって何?」 「wp-config.phpって編集していいの?」 触るのが少し怖い気持ちも、よくわかります。WordPressの心臓部であるwp-config.phpは、データベース情報やサイトの動作を管理する重要なファイルです。 当記事では、初心者でも安心し...
プラグインで制限する
投稿や固定ページなど、種類ごとに数を変えたいときは、プラグイン「WP Revisions Control」が使えます。有効化すると、「設定」→「投稿設定」に、種類ごとのリビジョンの数を入れる欄が追加されます。
管理画面から「WP Revisions Control」を検索してインストールするか、下のボタンからもダウンロード可能です。プラグインファイルを wp-content/pluginsディレクトリにアップした後、管理画面から有効化してください。
たまったリビジョンを削除する
すでにたまっているリビジョンは、プラグインで一括削除できます。削除したリビジョンは元に戻せないので、先にバックアップを取っておきます。
テストサイトの記事を、102本すべて削除しました。ついでにサイト名も「壊れたサイト」に書き換えました。 そのうえで、直前に取っておいたバックアップから戻すと、1分もかからずに記事は102本に、サイト名も元どおりになりました。使ったのは、無料のバックアッププラグイン「UpdraftPlus」です。 ...
WP-OptimizeやWP-Sweepを使うと、管理画面からまとめて削除できます。
ウェブサイトを長く運営していると、画像が重くなってきたり、ゴミデータの蓄積によって、サイトの表示速度が重くなる原因になります。 WordPressプラグイン「WP-Optimize」は、WordPressサイトの軽量化を維持するためのメンテナンスをし、サイト表示速度を向上させる役割があります。...
WordPressでブログを運営していると知らず知らず内にリビジョンが溜まっていくことってありませんか? 下書きを更新したり、加筆する度に増えていくこれのことです。 上書き前の内容を確認したり、元に戻したい場合には便利な機能ですが、蓄積されるとデータベースを圧迫してサイトが重くなるこ...
WP-CLIが使える環境なら、次のコマンドでもすべてのリビジョンを削除できます。テストサイトでは、100件のリビジョンが一度に消えました。
wp post delete $(wp post list --post_type=revision --format=ids) --force
まとめ
リビジョンが少し増えたくらいで、サイトが重くなることはありません。100件あっても表示の速さは変わらず、増えたのはデータベースの容量でした。
気にするべきなのは、何年分もたまって数千件になったときです。wp-config.php に WP_POST_REVISIONS を1行入れて上限を決めておけば、書き直しの履歴は残しつつ、増えすぎることもなくなります。
リビジョンは記事の中身の履歴です。プラグインの設定変更やログインなど、サイトでの操作をまとめて記録したい場合は、こちらのプラグインも使えます。
複数のユーザーで1つのWordPressサイトを管理している場合、いつ誰がどんな変更を加えたかを記録に残しておきたいと思うことはありませんか? 特に企業で運営するWordPressサイト、個人情報を取り扱うECサイトを運営する場合は、多くのスタッフや関係者が管理画面にログインすることになるため...
WordPressテーマ集











コメント