WordPress のリビジョンを設定変更する
WordPressのリビジョンって何?
リビジョンはデータベースの posts テーブルに保存されています。
リビジョンは元となる投稿の子投稿として保存されます (添付ファイルと同様)。これらには、inherit
という post_status、revision
という post_type が与えられます。そして post_name は通常のリビジョンでは {親投稿 ID}-revision(-#)
(例 119-revision-3)、自動保存では {parent ID}-autosave(例 119-autosave) になります。
デフォルトでは、WordPress はタイトル、投稿者、コンテンツ、抜粋の変更を保存します。
WordPress のリビジョンシステムは、各保存済み下書き、公開済み投稿の更新記録を保存します。
WordPressには自動保存する機能があり、最新のデータが60秒ごとに保存されます。自動保存は便利ですが、リビジョン機能には問題点もあります。それは、DBに自動保存されるため、(不要な)データのによるDBの肥大化につながります。
WordPressでリビジョンの設定を変更する方法の前に、まず各記事のリビジョンがどれくらいあるかを確認してみましょう。WordPress管理画面で投稿や固定ページの「編集」に移動します。ページ右側のメニューに「○○件のリビジョン」と記載があります。これが自動保存や、過去の記事の保存データです。1つの記事を書く間にも、時間経過ごとに、どんどん自動保存されていきます。わたしはこの機能が嫌いでWordPressはあまり好きじゃありません。
通常、WordPress のリビジョン機能はデフォルトで有効になっています。しかし、お使いのサーバーやWordPressのインストール方法によっては、この機能が無効になっている場合があります。つまり、無効にしてしまうとデータは少なくなるはずです。
WordPress のリビジョンが無効になっているか確認する
サイトのルートディレクトリにある「wp-oconfig.php
」ファイルを手動で編集して変更します。
対象のファイルを見つけて開いたら、次のコードを探します。
define('WP_POST_REVISIONS', false);
false
の値をtrue
に変更するとリビジョンが有効になります。
このようなコードが見つからない場合は、以下のコードを、“ABSPATH”
、“/* That's all, stop editing! Happy publishing. */”
の箇所の前に貼り付けます。
define('WP_POST_REVISIONS', true);
プラグインやテーマで書換られていなければ、最新のWordPressは上記の記載が無く、リビジョンは有効になっている状態です。
WordPressの自動保存「リビジョン機能」を無効にする方法
逆にWordPressのリビジョン機能を無効にしたい場合は、上記の値をtrue
ではなく「false」
に設定するだけです。
PHPファイルを変更することが難しいという人は、プラグインを使ってください。Disable Post Revisionなどの軽量プラグインを使って、WordPressのリビジョン機能を無効にすることもできます。ツールをインストールして有効化した後に 設定 の 投稿設定 からリビジョンを無効にしたい投稿タイプを選択して、変更を保存します。
WordPress がデータベースに保存するリビジョンの数を制限する
自動保存の他にも、「下書き」や「更新」のたびにリビジョンが保存されますす。
wp-config.php で次のコードを追加することで、リビジョン数の数を設定できます。
//------------------------------------------------
//リビジョン保存を3つまでに制限する
//--------------------------------------------------
define( 'WP_POST_REVISIONS', 3 );
詳しくは以下のWordPressサポートフォーラムを参照。
プラグインを使ってWordPressのリビジョンを一括削除する方法
プラグインを使ってWordPressのリビジョンを一括削除する方法としては、WP-Sweepがおすすめです。