リビジョンがどんどん増える

WordPressで記事を書き、「下書き保存」するとその状態が保存されます。また、自動的にも保存してくれます。それらはリビジョンとして管理されており、以前のものを見たり、ある時点の状態に復元することができます。

大変ありがたいのですが、一方で、リビジョンがたまりすぎてデータベースを消費してしまうという問題もあります。あまりにも古いものがあってもしょうがないですし。

ということで、古いリビジョンを整理するプラグインを探しました。

ちなみに、リビジョンは「投稿」だけでなく「固定ページ」も同様に保存されています。

プラグインを探す

検索してみると、こういう目的のプラグインはたくさんあるようです。試してみたのは次の二つです。

  • Advanced Database Cleaner
  • Optimize Database after Deleting Revisions

結果的には後者の方を採用したのですが、まずは、前者の方を止めた理由から。

Advanced Database Cleaner

管理画面から普通にインストールします。有効化して、このプラグインの設定画面を開きます。

一番上にRevisionsとあります。Keep lastで保存する日数の指定ができるようです。これでリビジョンの削除ができそうです。

が、しかし、これって、保存日数の指定はできますが、保存するリビジョン数の設定はできないようです。つまり、最新のもの以外はすべて消してしまうみたいです。これはこれでちょっと不安。直近のいくつかは保存しておきたいように思います(日数に関わらず)。

Optimize Database after Deleting Revisions

そう言うわけで、別のプラグインを探しました。

本当はこっちの方を先に見つけていました。名前もズバリ「リビジョンを消してデータベースを最適化する」ですしね。

躊躇したのは「使用中のWordPressバージョンで未検証」という点。どうやら、5.5での動作検証がなされていないようなのです。でも、きっと大丈夫だろうと思い、お試しでやってみることにしました。

インストール、有効化の手順は普通です。

設定

メニューの「設定」の中の「データベース最適化」がこのプラグインです。

設定を変更する」をクリックします。

どれを対象とするかを選ぶようになっています。もうちょっと下がるとリビジョン関連があります。

Delete revisions older than」は保存日数です。指定した日数よりも古いリビジョンは削除されます。

Maximum number of – most resent – revisions to keep per post / page」が保存する直近のリビジョン数です。こちらを使えば、日数によらず、指定したリビジョン数を保存できます。

とりあえず、「10」と設定してみました。

定期的に実行するようにもできるようです。ここでは、「予定なし」としておきます。つまり、手動で実行するということです。

これで「設定を保存」します。

最適化ページに戻る」で前の画面に戻ります。

確認

Analyzeで最適化対象を確認できます。まずは「Analyze (summery)」の方を試してみます。

68個のリビジョンが削除対象としてあるようです。

Analyze (detail)」も見てみます。

記事ごとにいくつのリビジョンがあるのかがわかります。今回は「10」を設定しているので、10より多いものがリストアップされています。

下に下がるとデータベースのテーブルの状態も表示されています。

実行

Optimizeを押せば最適化が実行されます。「Optimize (detail)」の方を押してみます。

データベースのサイズが約62MBから59MB弱まで削減できました。上手く行ったようです。

ところが…

期待通りに整理できたようなので、別の大きなブログでも実施してみました。

716MB程度だったデータベースが、最適化実施後には766MBと、逆に増えててしまいました。うーむ…。

正直なところ、今回は、この大きなブログで10000文字を超えるページを編集する際に下書き保存に時間がかかること、プレビューには数分かかることがことの始まりでした。リビジョンを減らしてデータベースを整理すれば速くなるかなと思ったのです。しかし、逆に使用量が増えてしまうとは想定外です。プレビュー時間も全然速くなりません。無駄だったんでしょうか…。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)