無尽蔵に増えてしまうリビジョンデータを制限できる「WP Revisions Control」の代替プラグインの情報やプラグインを使わない方法をお伝えします。
「WP Revisions Control」はリビジョンデータを制限するプラグインとしては、最近は一番使われていたプラグインだと思います。
私も使っていましたが、更新がしばらくされておらず、エラーが出ていたため、代わりのプラグイン「WP-Optimize」を使っていました。
その後、「WP-Optimize」のリビジョンデータ制限機能が使えなくなり、現在は、コードを記載してリビジョンを制限しています。
WP Revisions Controlの代替プラグインを探した理由
WP Revisions Controlについて
リビジョンデータは、自動保存された投稿記事の古いバージョンを呼び出すことができるWordPressの便利な機能です。
しかし、放っておくと無尽蔵にデータ増えてしまい、データベースの肥大化につながってしまいます。
そのため、リビジョンデータを制限するプラグインとして有名な「WP Revisions Control」を導入したのですが、2年前から更新されておらず(2024年6月現在)、エラーが出たので使用をやめました。
エラーはSWELLテーマ使用時に、ブログパーツという機能で作成したコンテンツの保存の際に以下の画像の様なエラーが出ました。
「レンダリングできません」というエラーが表示されますが、保存はされていて、機能上は問題ないようですが、気持ち悪いので、他のプラグインを探しました。
WP-Optimizeについて
そこで、データベースを自動的に最適化できるプラグイン「WP-Optimize」にリビジョン制限の機能があるので、導入しました。
しかし、最近、プラグインの更新でリビジョン制限の機能がなくなったようで、こちらも使えなくなりました。
リビジョン数を5に制限していたはずなのに、投稿記事のリビジョン数が100を超えていたために気づきました。
Simple Revision Controlなど他のプラグインについて
WP-Optimizeが使えなくなったので、別のプラグインを探し、同様の機能がある「Simple Revision Control」を見つけました。
これは使えると思ったのですが、インストール数が少ない上、レビューに必要な投稿や画像が消えてしまったとの声が上がっていました。
少し怪しそうなので、導入はやめました。
他には、リビジョンを削除するだけのプラグインはいくつかありましたが、リビジョンの制限機能がある適当なプラグインは見つかりませんでした。
プラグインなしでリビジョンを制限
私は最終的には、wp-config.phpへの簡単なコード記載でリビジョンを制限する方法に落ち着きました。
wp-config.phpファイルは、エックスサーバーの場合は、/ドメイン名/public_html の「public_html」フォルダ内にあります。
FTPソフトやファイルマネージャーを使って、wp-config.phpに以下のコードを記載します。
以下のいずれかのコードを記載します
// リビジョン回数に制限なし
define(‘WP_POST_REVISIONS’, true);
// リビジョンを作成しない
define(‘WP_POST_REVISIONS’, false);
// リビジョンを作成できる数を指定する(下記では 3 個)
define(‘WP_POST_REVISIONS’, 3);
以下は、wp-config.phpファイルの一部です。
リビジョンの数を3に制限する場合は、ABSPATHの記載より上にdefine('WP_POST_REVISIONS', 3);
と記載します。
以下は実際に記載した例です。
define( 'WP_DEBUG', false );
/* 編集が必要なのはここまでです ! WordPress でのパブリッシングをお楽しみください。 */
/** Absolute path to the WordPress directory. */
define('WP_POST_REVISIONS', 3);
if ( ! defined( 'ABSPATH' ) ) {
define( 'ABSPATH', dirname(__FILE__) . '/' );
上とほぼ同じ内容の画像ですが、矢印で挿入位置を示しています。
リビジョンが制限されたかどうかを確認
コードを追加した後に、本当にリビジョンが制限されたかどうかを確認する手順です。
画像は固定ページの例ですが、投稿ページも同様です。
コードを追加してだけでは、既に保存されているリビジョンの数は変わりません。
何らかの更新をすると、制限した数になります。
以下の例では、558ものリビジョンが保存されています。
記事に何らかの更新を加えます。
例えば、1つの文字を削除して、元に戻すと、更新ボタンを押すことができます。
更新ボタンを押して、制限をかけた数になれば、OKです。
全てのリビジョンを削除する方法(プラグイン使用)
コードによってリビジョンの制限をかけても、既に保存されているリビジョンは元のままです。
投稿ページを更新すれば、リビジョンは制限した数になりますが、全てのページで行うのは大変です。
そこで、プラグイン「WP-Optimize」を使って全てのリビジョンを削除します。
全てのリビジョンを削除する手順
管理画面→外観→プラグイン→新規プラグインを追加
ここで、「WP-Optimize」を検索してインストール→有効化します。
管理画面→「WP-Optimize」
「すべての投稿リビジョンをクリーン」で「最適化を実行する」をクリック
これで、全てのリビジョンの削除完了です。
WP-Optimizeは、リビジョンをはじめ、様々なデータベースを自動的に最適化できるプラグインですが、使い方によっては不具合が起きるので、適切に使う必要があります。
リビジョンを削除した後、それ以外に使う必要がなければ削除しておきましょう。
まとめ
リビジョンを制限するため、プラグインを使う前提で色々調べるなどしましたが、簡単なコードの追加で実現できました。
様々な方法でリビジョンの制限をしている人が多いので。WordPressの標準機能でリビジョンの制限ができるようになるといいなと思います。