WordPressには、記事を保存するたびに、その時点の内容を残しておく「リビジョン」という機能があります。書き直す前の文章に戻したいとき、誰がいつ何を変えたかを確かめたいときに役立ちます。

便利な一方で、「リビジョンが増えるとサイトが重くなる」という話もよく聞きます。実際のところはどうなのか。Localで作ったテストサイトで、約9KBの記事を100回更新して確かめました。


WordPressで記事販売ができる「YOMERU」
記事を、そのまま収益に。
WordPressサイトで記事の有料販売ができる
無料のプラグイン「YOMERU」。

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 Revisions Control」が使えます。有効化すると、「設定」→「投稿設定」に、種類ごとのリビジョンの数を入れる欄が追加されます。

管理画面から「WP Revisions Control」を検索してインストールするか、下のボタンからもダウンロード可能です。プラグインファイルを wp-content/pluginsディレクトリにアップした後、管理画面から有効化してください。

WP Revisions Control

たまったリビジョンを削除する

すでにたまっているリビジョンは、プラグインで一括削除できます。削除したリビジョンは元に戻せないので、先にバックアップを取っておきます。

WP-OptimizeやWP-Sweepを使うと、管理画面からまとめて削除できます。

WP-CLIが使える環境なら、次のコマンドでもすべてのリビジョンを削除できます。テストサイトでは、100件のリビジョンが一度に消えました。

wp post delete $(wp post list --post_type=revision --format=ids) --force

まとめ

リビジョンが少し増えたくらいで、サイトが重くなることはありません。100件あっても表示の速さは変わらず、増えたのはデータベースの容量でした。

気にするべきなのは、何年分もたまって数千件になったときです。wp-config.php に WP_POST_REVISIONS を1行入れて上限を決めておけば、書き直しの履歴は残しつつ、増えすぎることもなくなります。

リビジョンは記事の中身の履歴です。プラグインの設定変更やログインなど、サイトでの操作をまとめて記録したい場合は、こちらのプラグインも使えます。

世界最高品質のデザインの
WordPressテーマ集
WordPressテーマ「ISSUE」
WordPressテーマ「ISSUE」
人材不足を解決する求人採用サイトを。
WordPressテーマ「SEEED」
WordPressテーマ「SEEED」
Webサービスを販売するLP型テーマ。
WordPressテーマ「GENESIS」
WordPressテーマ「GENESIS」
スタイリッシュな企業サイトの決定版。
WordPressテーマ「SOLARIS」
WordPressテーマ「SOLARIS」
一流の企業のための一流の企業サイトを。