WordPressには「リビジョン」という便利な機能がついています。

記事を下書き保存したときや新規で投稿したときに、変更前の記事を自動で保存してくれる便利な機能です。
ですがこのリビジョンは何も対策をしないで放っておくと、WordPressで記事を書くたび投稿する度に、どんどん増えます。
上記画像のようにリビジョンが509も作られていたり。。
ぼくは執筆するとき、手癖のようにちょいちょい保存するので、記事が完成するまでにこんな感じになっていることが、よくあります。
まさに雪だるま式(笑)
もしこれを放っておけば、知らず知らずのうちにサーバーの容量がどんどん圧迫され、不具合が出る、、、なんて可能性もあるようで。。。
たとえば「ブログの表示速度が遅くなる」とか。
でももしそんなことになってしまったら、
ブログの表示が遅い→すぐに離脱される→アクセス数減る→ブログを見てもらえない&検索結果の順位も落とされてしまう
みたいな可能性も。。。
これってブログ運営者にとって、かなり致命的ですよね?
WordPressでリビジョンを削除する方法
リビジョンを削除する方法は大きく分けて、以下2つ。
- プラグインをインストールして削除する
- wp-config.phpファイルを書き換えて削除する
この記事では、誰でも手軽に導入しやすい、、、
「プラグインをインストールして削除する方法」
を紹介します。
リビジョン削除のプラグインをインストール!
今回は「Optimize Database after Deleting Revisions」というプラグインをインストールします。
このプラグインは、こんなことができます。
- リビジョンの削除
- 保存するリビジョン数の設定
- 不要なデータの削除
- データベースの最適化
これらを細かく設定できます。
けっこう、多機能なんです!
しかもこのプラグインは長年アップデートされ続け、使い始めた当初(2018年頃)より、設定項目がどんどん増えたり、日本語への翻訳がどんどん進んでおります。
最初、全部英語だったんですよ(笑)
アップデートで気になる点や、改善される点などがあるときは、なるべく早く、この記事も更新しようと思ってます(・∀・)/
ではまず、WordPress管理画面の「プラグイン」→「新規追加」→「Optimize Database after Deleting Revisions」で検索し、このプラグインをインストール→有効化して下さい。
ここまで完了させましょう!
リビジョンを削除する前に、バックアップを取りましょう
このプラグインはデータベースをいじるので、
事前にデータベースのバックアップを取ることをおすすめします。
パソコンは、予期せぬことがふいに起こるものですから汗
バックアップの方法は様々ありますが、エックスサーバーなら標準機能で自動的にバックアップしてくれてるので、めちゃくちゃお手軽なんです!
<参照>
→自動バックアップとは?(参照:XSERVER)
パソジユ開設当初からサーバーはエックスサーバーを利用してますが、めちゃくちゃ安心感あります。
これが月々1,000円前後の低価格ですからね、嬉しい限り。
※エックスサーバーの導入方法・初期設定など気になる方は、こちらの記事を参考にしてください。
→【初心者でも簡単!】WordPressブログの始め方【エックスサーバー編】
バックアップをしっかりとって、リスクに備えましょう。
イマイチ意味のわからない「リビジョン」とは?
ちなみにリビジョンって、誤解を恐れずに平たく言えば、ほんとになんてことはない、、、
ずっと溜まっていく、下書き集のことです!!
執筆した投稿・固定記事の、、、
保存した今の状態、1つ前の状態、2つ前の状態、3つ前、4つ前、、、、一番最初の状態
ってことです。
下書き保存・新規投稿・更新などすると、それまでの状態が全部保存されていくという、夢のような機能!
ではありますが、、、放っておけば、ずっと増え続けます。
だから消してあげないと、いけないんです。
さぁ、お待たせしました。
『Optimize Database after Deleting Revisions』を実際に使って、リビジョン削除しましょう!
Optimize Database after Deleting Revisionsの使い方
この記事では、主に以下2つのページを参考にしてます。
前者はWORDPRESS.ORGのプラグイン紹介ページ、後者はプラグイン開発者の会社のサイトのプラグイン紹介ページです。
これらを元にして、解説していきます。
ではまず、WordPress管理画面(ダッシュボード)の「設定」→「データベース最適化」をクリックすると、下のような設定画面が出てきます。
ざっと解説も入れてみました。

まずこれらの設定項目は、大きく分けて4つに分類できます。
それぞれ色分けしました。
上から順に、
- 紫=【投稿、固定ページ、カスタム投稿のリビジョン削除の設定】
- 茶=【WordPressのその他項目の削除設定】
- 青=【データベース最適化に関する設定】
- 赤=【プラグインのリンクやアイコンの表示設定】
こんな感じ。
では、項目ごとに解説していきます。
【投稿、固定ページ、カスタム投稿のリビジョン削除の設定】
post | 投稿のリビジョン |
page | 固定ページのリビジョン |
user_request | カスタム投稿のリビジョン |
wp_block | wp_blockのリビジョン |
wp_template | wp_templateのリビジョン |
st_block_pattern | 有料テーマ『AFFINGER6』関係のリビジョン。 |
Delete revisions older than | 空欄に入力した日数より古いリビジョンを削除。 逆に言えば、入力した日数分のリビジョンが保持される。 |
Maximum number of - most recent - revisions to keep per post / page | 投稿&固定ページのリビジョンの保存数。 0にすると、全てのリビジョンが削除される。 |
wp_blockのリビジョンはWordPressのエディタ「Gutenberg(ブロックエディタ)」のリビジョンのようです。
また、ここに表示される項目は、人によって変化します。(st_block_patternなど)
なので、みんながみんな同じ表示になるわけではありません。
【WordPressのその他項目の削除設定】
ゴミ箱を空にする | ゴミ箱データを削除 |
スパムの項目を削除 | スパムデータを削除 |
使用されていないタグを削除 | 使っていないタグを削除 |
Delete transients | トランジェントを削除 |
ピンバックとトラックバックを削除 | ピンバックとトラックバックを削除 |
Clear oEmbed cache | oEmbedキャッシュを削除 |
Clear orphans | 孤立したpostmetaデータを削除 |
ちょっと説明不要な部分もありますが、英語も混じっているので一律で書き出してます。
とくに後半部分の項目が謎だと思うので、説明していきます。
トランジェントを削除
「Delete transients」のプルダウンを押すと

こんなメニューが出てきます。
それぞれ意味は、、、
- DO NOT DELETE TRANSIENTS=トランジェントを削除しない
- DELETE EXPIRED TRANSIENTS=期限の切れたトランジェントを削除
- DELETE ALL TRANSIENTS=全てのトランジェントを削除
ということです。
トランジェントとは、処理を高速化するためにデータベースに一時的に保存されるキャッシュファイルのこと。
これも放っておくと、データベースに蓄積されてどんどん溜まっていくようなんです。
またプラグインの作者によれば、「期限切れのトランジェントはかなり役に立たない古いトランジェントだ」とのこと。
なので期限の切れたトランジェントは削除して構わないのだろうと、ぼくは判断します。
oEmbedキャッシュを削除
oEmbed(オーエンブド)は規格を指したり様々な意味がありますが、ここでのoEmbedはデータベースで使われるキャッシュのことを指しています。
メディアファイルをブログ(サイト)に高速に読み込ませるためにデータベースに蓄積されるキャッシュです。
作者によれば、多くの場合oEmbedキャッシュは削除されたメディアファイルの残り物なので、ときどきこれらを削除することは有用とのこと。
孤立したpostmetaデータを削除
色々読んだのですが、ちょっといまいち理解し切れてません。(スマソ。。。)
作者の説明を見ると雰囲気的にはわかるのですが、人に説明するにはちょっとWordPressの知識が足りなく、ちゃんと説明できません汗汗
ぼくとしては、もはやいらないデータだろうという見解です。
【データベース最適化に関する設定】
Optimize InnoDB tables too | Innoデータベーステーブルも最適化する |
ログを保存 | データベース最適化のログを作成 |
定期的に実行 | 最適化をスケジュールで実行する |
ここは一番最初のものだけ、もう少し説明入れます。
Innoデータベーステーブルも最適化する
自分の使っているデータベースがMyISAMテーブルではなくInnoDBテーブルを使用している場合、この項目からInnoDBテーブルも最適化するかどうかを設定できる、とのこと。
なんのことか全然わからん(笑)
まずWordPressのデータベースはMySQL。そしてMySQLのストレージエンジンにMyISAMとInnoDBという種類があるようなんです。
で、自分のWordPressのMySQLのストレージエンジンは『my.ini』というファイルを見ればわかるようなんですが、これがどこにあるかわかんない汗汗
ただ、ずっと以前はMyISAMがデフォルトで使用されていたようなんですが、最近デフォルトで設定されているのはInnoDBのようなんです。
また、
Innoデータベーステーブルを最適化すると、データベースのサイズ自体は大きくなるようなんですが、処理速度は上がる
みたいなんです。
ぼくがリビジョン削除する一番の目的は『処理速度の向上』だから、これも最適化します。
【プラグインのリンクやアイコンの表示設定】
管理バーに「1クリック」リンクを表示 | 管理バーに『Optimize DB(1クリック)リンク』を表示する |
管理メニューにアイコンを表示 | 管理メニューに『データベース最適化アイコン』を表示 |
これは必要な方は設定してください。
ぼくはいらないかな。
最適化から除外する
それと実は今見ている画面「設定」の下の方を見ると、

こんなものがあります。
これらにチェックを入れると、データベースの最適化から除外することができます。
「このデータベースは最適化したくない」という人向けの設定。
色々調べたら「データベースのサイズを小さくしたい人はここにはチェック入れない方がいいよ」と言う声もありました。
ぼくは、ここにはチェック入れないでやってみます。
最適化の分析と実行【ぼくはいつもこんな感じに設定してます】
以上の設定項目、設定完了しました?
ぼくはこんな感じ。

この下にある『最適化から除外する』の項目には、一切チェック入れてません。
最適化の設定が終わったら、①「設定を保存」クリックで、設定を保存します。
それから②「最適化ページに戻る」をクリックすると、

「現在の設定」の画面が出てきます。
最適化を完了したい場合は、下の赤枠のどちらかの「Optimize」を押せば、すぐに最適化が完了します。
ですが実は、この赤枠内がなかなかアツいので説明入れます!
まず上の赤枠は、
設定を変更する | 設定画面に戻る |
View Log | これまでの最適化ログを確認する |
Clear Log | これまでの最適化ログを削除する |
続いて下の赤枠は、
Analyze(summary) | 削除する項目と数を表示(最適化は実行しない) |
Analyze(detail) | 削除する項目と数・名前・作成年月日なども表示(最適化は実行しない) |
Optimize(summary) | 最適化の実行+簡単な結果レポート表示 |
Optimize(detail) | 最適化の実行+詳細な結果レポート表示 |
こんな感じです。
とくに詳しい情報がいらない場合は、Analyze(summary)で簡単な分析内容を見てからOptimize(summary)で最適化で充分だと思います。
詳細なデータを確認したい人はAnalyze(detail)で詳細な分析内容見てからOptimize(detail)で最適化すればいいでしょう。
実際にAnalyze(summary)をクリックすると、

このようにかなり簡単な分析表示です。
Analyze(detail)をクリックした場合は、



Analyze(summary)をかなり詳細にした内容が出てきます。
Optimize(summary)を押した場合は、

かなり簡素な感じですが、個人的には必要充分です。
Optimize(detail)を押した場合は、





こんな感じにOptimize(summary)をかなり詳細にしたレポートが出ます。
<※engine=ストレージエンジン>
上記画像のようにOptimize(detail)で最適化+レポートを出すと、自分の使っているデータベースの(ストレージエンジンの)種類を確認できます。
この画面下の、

「View Log」をクリックすると

こんな感じでこれまで行った最適化のログが出てきます。
一番下の赤枠が今回の結果です。
この画面からこのログをCSVにエクスポートできるようなので、必要な方はご利用ください。
ぼくの最適化のログから言えること
ちなみに過去のぼくのログを見ると

初回最適化時はサイズむしろ増えてました汗
ですが、今回のようにデータベースサイズが10MB以上ある場合はガッツリ減ってます。
なのでデータベースの容量がそもそも1MBくらいしかない人が最適化すると、逆にサイズがすこーし大きくなることもありますが、気にしなくて大丈夫です。
こうなる理由は(素人が知ってる限りでの知識のつなぎ合わせの憶測なので、正しいかどうか分かりませんが)おそらくリビジョン+その他のデータ量は消去されて確実にサイズは減っているが、初回最適化を行ったときに、InnoDBが高速に処理をするためのキャッシュを作成しているために全体的なサイズが増えたのではないかと考えます。
実際サイズは増えてもデータベースの処理は高速になっているはずなので、問題ないはずです。
サイズが10MB以上のときに最適化したら、ほとんど半分に減ったし。
リビジョンの管理方法
管理と言ってもやることはシンプルで、WordPressリビジョンの場合、ここまでに紹介した方法で、、、
- 手動でリビジョンを削除する
- スケジュール機能で、リビジョンを定期的に削除するようにする
ただこれだけです。
ぼくは手動でやってますが、月末に自動で削除するようにスケジュールしてもいいなって思ってます。
その方が、手間かからないですからね(^o^)/
まとめ:リビジョンをサクッと削除して、WordPressを快適に使おう!
長年進化し続ける&手軽にリビジョン削除できるこのプラグイン、
『Optimize Database after Deleting Revisions』
6年間ずっと使ってますが、けっこうアップデートされますし、最初の頃から比べて、かなり設定項目も増えました。
ちょっと色々できてマニアックなので、最初は戸惑うかもしれませんが、慣れればとても便利なプラグイン!
安心して使っていきましょう!