PAGETOP

【WordPress】データベースに負担がかかる「リビジョン」機能を制御する方法

【Wordpress】データベースに負担がかかる「リビジョン」機能を制御する方法

WordPressには、編集途中の記事や、編集の履歴を自動的に保存してくれる「リビジョン」という機能があります。WordPress 2.6から導入された機能で、記事を間違って修正してしまった時でも、編集前の状態に戻すことができるので安心です。

リビジョンは、投稿記事の編集画面から確認できます。

「表示」をクリックすると、最新のリビジョンが表示されます。
以前に保存されたリビジョンを復元したい場合は、上部のバーをスライドさせ、「このリビジョンを復元」をクリックするだけ。とても簡単で便利です。

しかしこのリビジョン、更新するたびに新規保存されるので、記事数が増えるにつれその数も膨大になり、データベースを圧迫していきます。そして徐々にサイトのレスポンスも遅くなるという事態に。
※混同しがちなのが「自動保存」の機能。これは、編集中の記事を自動で保存してくれる機能で、更新する前にブラウザがクラッシュしたり、間違えて画面を閉じてしまった場合にも、数分前の状態を復元することができます。
ただ、リビジョンのように新しいデータをどんどん作っていくのではなく、データを上書きしていくだけなので、データベースを圧迫する恐れはありません。

さて、問題の対策として、数を制御するコードをwp-config.phpに書くことで、リビジョンの肥大化を抑える方法があります。

設定ファイル:wp-config.php
コードを書く場所:require_once(ABSPATH . ‘wp-settings.php’);より上

◆リビジョン数を制限する

define(‘WP_POST_REVISIONS’, 10);

あまりオススメはしませんが、リビジョンを停止することもできます。

リビジョンを停止する

define(‘WP_POST_REVISIONS’, false);

ただ、一点注意すべきなのが、wp-config.phpがwordpressをバージョンアップするたびに初期化され、元に戻ってしまうという点です。また、数を制御する方法でデータベースの肥大化を遅らせることは可能ですが、データが増え続けることに変わりはありません。何年も運営してきたサイトになると、相当数のデータが蓄積されているはず。しかし、古い記事のバックアップデータを利用することはほとんどないので、データが蓄積されてきたら、一気に削除してしまいましょう。

ここでは、不要となったリビジョンを削除してデータベースを軽量化するプラグイン「Better Delete Revision」を利用します。

ダッシュボードのプラグイン>新規追加でプラグインのインストール画面を開き、検索ボックスでBetter Delete Revisionを検索。

今すぐインストールからインストール、プラグインを有効化します。

設定のメニューにBetter Delete Revisionが追加されます。

Check Revision Postsボタンをクリックすると、リビジョンの一覧が表示されます。「Yes, I would like to delete them!」をクリック。リビジョンが消去されます。

Better Delete Revision設定画面の「Optimize Your Database」から、データベースを最適化することも可能。ボタンをクリックするとデータベースのチェックが始まり、それぞれのステータスが表示されます。
全てが緑字のOKであれば最適化の必要はなく、いずれかが赤字で表示されていれば最適化をする必要があるとのこと。
最適化を行う場合は、データベースのバックアップをとってから行いましょう。

操作も簡単で短時間で終わるので、気になった時にやっておくといいですね。
また、このプラグインはリビジョンを削除する時にしか使わないので、段は「停止」しておくことをおススメします。