【WordPress】自動保存・リビジョンを無効化する

リビジョンと自動保存の違い

リビジョン・自動保存とは何か

WordPressには記事の編集中に自動で保存してくれるオートセーブ機能がついていて、デフォルトのままだと60秒に1回下書き保存されるようになっています。
それから下書きの状態・公開後にかかわらず、記事を編集して保存する時にもやはりバックアップが自動で保存されます。これが「リビジョン」です。

リビジョン(投稿画面)
投稿画面に「リビジョン」という項目がありますが、ここにはオートセーブされたファイルとバックアップの両方が含まれています。

データベースを圧迫するのはリビジョンの方

この2つのシステムは別々に動いていて、厄介なのは自動保存の方ではなく、記事を下書き保存や更新した時に残されるバックアップの方。
自動保存は各記事に1つだけ作られて上書き保存されていきますが、バックアップの方はそれぞれ別の記事としてデータベース上に残されていくからです。記事IDがどんどん大きくなっていくのはこれのせいです。

記事を別のエディタで書く方でも、下書き保存、パーマリンクを直して公開で最低2つ。投稿画面で記事を書く方だと、リビジョンの数が20とか30になっていることも少なくないのではないでしょうか。

更に記事を修正して更新する度にリビジョンは増えていきますし(例え1文字でも容赦なく増えます)、それが記事の数だけあるのですから、記事数が100程度だとしても、多い人では何千個もの無駄なファイルがデータベース上に残されていることになります。

参考 リビジョン管理WordPress Codex 日本語版

リビジョンを制御する方法

ドメイン直下(またはWordPressをインストールしたサブディレクトリ内)にある「wp-config.php」に以下のどちらかを記述するだけです。

システムファイルを直接弄るので、編集前にバックアップを取ることをおすすめします。

注意

wp-config.php の一番最後にある
require_once(ABSPATH . 'wp-settings.php');
この行より前に記述しないと適用されません。

リビジョン機能を無効化する

wp-config.php
// リビジョンの無効化
define('WP_POST_REVISIONS', false);

リビジョンの回数を制限する

wp-config.php
// リビジョンの回数制限
define( 'WP_POST_REVISIONS', ここに任意の回数 );

自動保存を制御する

自動保存機能を無効化したい場合は「functions.php」、自動保存の間隔を変更したい場合はドメイン直下(またはWordPressをインストールしたサブディレクトリ内)にある「wp-config.php」に記述します。

自動保存機能を無効化する

WordPress管理画面の「外観>テーマの編集」から、子テーマの「function.php」に以下を追記します。

functions.php
// 自動保存の無効化
function disable_autosave() {
wp_deregister_script('autosave');
}
add_action('wp_print_scripts','disable_autosave');

自動保存の間隔を変更する

こちらもrequire_once(ABSPATH . 'wp-settings.php');より前に記述しないと適用されないのでご注意ください。

wp-config.php
// 自動保存の間隔変更
define('AUTOSAVE_INTERVAL', ここに任意の秒数 );

過去のリビジョンを削除する

リビジョン機能を無効化しても、過去のリビジョンはデータベース上に残ったまま。
これをキレイさっぱり消すためのおすすめプラグインを紹介します。

WP-Optimize

WP-Optimize - WordPress.org

サーバー引っ越し前まで使っていたのが「WP-Optimize」。
管理画面の大部分は日本語化されていて、シンプルで使いやすいプラグインです。

WP-Optimize 実行

データベースのクリーンアップと最適化処理を、定期的に実行してくれる機能もあります。

WP-Optimize スケジュールスキャン

LiteSpeed Cache

LiteSpeed Cache - WordPress.org

現在使っているのは「LiteSpeed Cache」。
LiteSpeedというウェブサーバーの公式キャッシュプラグインです。

キャッシュの設定や各種ファイルの圧縮、CSS・JSの結合などに加え、画像の圧縮からデータベースの最適化まで、WordPressの高速化に必要なことがこれ1つで全部できてしまいます。

LiteSpeed Cache データベース最適化

大変便利で高性能なプラグインなのですが、LiteSpeedウェブサーバー専用となっているため、使用できるのはLiteSpeedを採用しているサーバーで運営されているサイトのみとなります。
当サイトはカラフルボックスというレンタルサーバーを利用していますが、他にもMixHostやJetBoyなどで利用可能です。