WordPressのリビジョンと自動保存をプラグインを使わずに制御する方法

Sponsored Link

WordPressロゴblue-mWordPressはエントリを書いていると、定期的に書きかけの内容を自動保存してくれます。
同様に定期的にリビジョン(書きかけの途中の版)も保存してくれます。

しかし、リビジョン自体もデータベースに保存される内容なのでデータベースの容量を食い、あまりに多ければパフォーマンスにも影響があります。

自動保存やリビジョンの設定をできるプラグインはありますが(使っていました)、一回設定すればいいことにプラグインを使うのもなんだか・・・という気もしたので、直接にWordPressのソースをいじって設定を変更しました。

Sponsored Link

デフォルトのリビジョン設定はリソース食い

リビジョンのデフォルト設定はすべてのリビジョンを無制限に保存するようになっています。
各投稿にどれだけのリビジョンが保存されているかは、「投稿の編集」画面の下の表示で確認できますね。
表示されていない場合は、「投稿の編集」画面上部の表示オプションから「リビジョン」にチェックを入れると表示されます。

また、リビジョンは投稿と同様に投稿ID(投稿の保存順に自動採番される)で管理されるので、投稿IDの値が投稿の数に比べてやたらと多くなったりします。

パーマリンク設定でURLに投稿IDを使っている方は気がつきやすいのですが、そうでない方も投稿画面のURLの「post=xx」で分かります。

IDと同様にデータベースの容量も一つの投稿と同様に消費するので、投稿・アクセスの多いサイトではデータベースのパフォーマンスも気になります。

自動保存が消費するリソース

自動保存は一つの投稿に対して一つだけ作られ、保存の度に上書きされるので、IDも容量も消費は少ないです(リビジョンは別データになります)。

エントリを書いていて「ブラウザ落ちた!!」ということもありえるので(最近の環境では滅多にないですが)、ありがたい機能と思います。

リビジョンと自動保存の設定方法

自分はこれまでリビジョンのメリットを感じたことがないので、リビジョン機能は無効化させます(版管理が必要な長文を書くなら、それに適したエディタを使うべきでしょう)。
そして自動保存があればリビジョン機能は自分の環境では不要と思います。
自動保存は保存のタイミングだけ調整(デフォルトの60秒から5分へ)します。

ということで、こんなコードをwp-config.phpのデバッグモード設定の記述の直前に挿入しました。
パラメータなどはCodexをご参考にどうぞ。

define('WP_POST_REVISIONS', false );
define('AUTOSAVE_INTERVAL', 300);

こういうのは投稿設定画面で設定できるといいのですけどね。

投稿IDの増え過ぎイヤ!リビジョン要らないよ!という方、お試しあれ。

Sponsored Link

コメントを残す