これまでプラグイン「WP Revisions Control」を使ってリビジョンの数を制限していましたが、長らく更新がないのでセキュリティ的に不安になり、どうしようか迷っていました。
いろいろ調べたところ、プラグインを使わなくてもリビジョンの数を制限できることがわかったので、設定変更をしてみました。
この記事では、「wp-config.php」ファイルを編集してリビジョンの数を制限する方法を紹介します。
WordPressのリビジョン機能について
制限方法を記載する前に、リビジョン機能についてざっくり説明します。
リビジョン機能とは
WordPressで編集した内容を元に戻せるよう、編集前の状態を保存しておいてくれる機能です。
リビジョンが作成されるのは、主に以下のタイミングです。
- 手動で「下書き保存」をクリックした時
- 下書き中や公開済の記事を変更してプレビューした時
- 記事を公開した時
- 公開済の記事を更新した時
…など
リビジョン機能の使い方・復元方法
画像の赤枠部分でリビジョンがどれだけ保存されているか確認できます。
また、数字の部分をクリックするとリビジョンの画面を表示することができます。
リビジョンがまだ作成されていない段階だと、「リビジョン」の項目自体が表示されないよ
例えば、本文を上の画像の状態から下の画像の状態に編集して「下書き保存」を押すと…
「リビジョンA」の文字を削除して「リビジョンD」の文字を追加したよ
リビジョンの数字をクリックすると以下のようにリビジョンを比較できる画面が表示されます。
変更前の状態に戻したい時は、復元したいものを右側に表示させた状態で「このリビジョンを復元」をクリックします。
「前へ」「次へ」をクリックまたは画面中央上にあるカーソルを動かすと記事を移動できるよ
左右の記事の比較で色がつくので、復元したい記事を右側に移動すると色の付き方が変わるよ
リビジョン機能のデメリット
一見便利に思えるリビジョン機能ですが、デフォルトの状態では保存数に制限がないので、無限に増えてしまいます。
わたしなんかは、ちょいちょいプレビューしながら記事を書くので、制限しないとリビジョンの数がすごいことになってしまいます。
記事数が少ないうちはあまり影響はないかもしれませんが、記事数が増えていくと、リビジョンデータも肥大化していき、データベースの容量を圧迫してしまいます。結果、ページの表示速度やWordPressの動作に影響が出てしまう場合もあります。
たまりすぎる前にリビジョンの数をなんとかしておきたいね
リビジョンの数を制限する設定方法
リビジョンの保存数を制限するには、プラグインを利用するか、「wp-config.php」ファイルを編集する方法があります。
わたしはファイルを編集しましたが、「wp-config.php」はとても重要なファイルです。
少しでも間違えるとWordPressが動作しなくなったり、サイトが表示されなくなる場合があるので、心配な場合はプラグインを利用するのが安全です。
ConoHa WINGファイルマネージャーでファイルを編集する
今回は、ConoHa WINGのファイルマネージャーを使って「wp-config.php」ファイルを編集します。
まずは、ConoHa WINGのコントロールパネルにログインして、「サイト管理」→「ファイルマネージャー」の順にクリック。
するとConoHa WINGのファイルマネージャー画面が表示されます。
左側に選択しているファイル、右側の白い部分に選択したファイルの中に入っているファイルが表示されます。
左側のファイルをクリックすることで展開したり閉じたりできます。
上の画像のように、まだ開いていない状態なら展開して、左側の「public_html」の下にあるサイトドメインをクリック。
すると画面の右側の白い部分に表示された複数のファイルのうちのひとつに、「wp-config.php」ファイルがあります。
「wp-config.php」を右クリックして「ファイル編集」を選択します。
違うファイルを編集しないように注意してね
「ファイル編集」を押すと編集用のエディターを選択できるので、お好みのものを選択。
今回は「ACE Editor」を使って編集しました。
リビジョンの数を制限するコードを追記します。
例えば、保存されるリビジョンの数を3つまでにしたい場合は以下のように記載します。
/* リビジョン数を指定 */
define('WP_POST_REVISIONS', 3);
追加するコードは、画像のように、以下の文字列の上に記載します。
/* That's all, stop editing! Happy publishing. */
見つからなければ、以下の文字列よりも上に追記しましょう。
require_once(ABSPATH . 'wp-settings.php');
エディターの文字コードが「UTF-8」になっていることを確認して「保存」を押せば設定は終了です。
これで、保存されるリビジョンは最新の3つまで、それより古いものは削除されるようになります。
コードの数字部分は自分の設定したい保存数に変更してね
数字を変更する時は必ず半角で入力ね
このブログでは、リビジョン機能は基本使わないですが、全く無いのも不安なので3つで設定しました。
なお、「/* リビジョン数を指定 */」の部分は、コメントアウトという部分で、後で見た時、自分がどこに何を追記したのかわかりやすいように記載したもの。なので、必要なければ記載しなくて大丈夫です。
ちなみに、リビジョン自体を無効にしたい場合は、数字の部分を「false」に変更して、以下のコードを追記します。
/* リビジョンを保存しない */
define('WP_POST_REVISIONS', false);
たまっていたリビジョンをプラグインで削除する
上で紹介した設定をすれば、これから編集をする記事については、保存されるリビジョンの数を制限できますが、完成済の記事にたまってしまったリビジョンは削除されません。
たまったリビジョンを削除する場合も、プラグインを利用する方法とファイル編集する方法があります。
削除については、ファイル編集はリスクが高そうだったので、プラグインでおこないました。
あまりたまってなかったけどスッキリするために削除してみました
「WP-Sweep」を利用して削除する
「WP-Sweep」をインストールして有効化します。
WordPress管理画面で「ツール」→「Sweep(データベース掃除)」の順にクリック。
「リビジョン」項目の右側にある「掃除」をクリックすれば、リビジョンがすべて削除されます。
終わったら、「WP-Sweep」は無効化してから削除してOKです。
まとめ:設定自体は簡単だけど編集の際は注意が必要
この記事では、プラグインなしでリビジョンの数を制限する方法を紹介しました。
設定自体は、「wp-config.php」に決められたコードを1つ追記するだけなのでとても簡単ですが、ミスった時の代償が大きいので、注意が必要です。
しつこいようですが、自己責任のもと、バックアップをとってからおこないましょう!
ファイル編集が不安な場合は、上で紹介した「WP-Sweep」で定期的にリビジョンを削除するのもひとつの方法かなと思います。
動作保証できるわけではないですが、このブログとテストブログで3回ほど「WP-Sweep」を利用しましたが、問題なく動作しました。
また、プラグイン「WP-Optimize」も、他のプラグインやテーマと干渉しないように設定する方法や使い方を説明してくれているサイトがたくさんあるので、参考にすれば快適に使えそうです。
「WP-Optimize」は「SWELL」や「EWWW Image Optimizer」を利用の場合、重複してしまう機能をOFFにする必要があります。
この記事が少しでもお役に立てると嬉しいです。