エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


Better Delete Revisionを使って WordPressのリビジョンを削除する方法

      2015/06/18

Better Delete Revisionを使って不要なリビジョンを削除しよう

 

WordPressのリビジョンとは?

 
WordPressのリビジョンとは、記事や固定ページを投稿する際、変更途中の情報を自動的に保存していく機能です。
 
WordPressのリビジョンは、WordPress 2.6から導入された機能で、編集中の記事や固定ページの内容を自動的に保存したり、変更して保存した時にその履歴を保存していく機能です。
間違って修正する箇所ではない箇所を修正してしまったり、更新途中でブラウザや PCがクラッシュしてしまったりした場合などに、前の状態に戻りたい、前の状態と比較したい、という場合に便利な機能です。
 
20140210_wp_4
 
ですが、記事数、ページ数が増えれば増えるほどリビジョンの数も多くなり、データベースの使用量もどんどん増えていき、ページを表示するときなどのレスポンスがだんだんと重くなっていくのです。
 
そして、リビジョンは、以前保存した内容や、自動保存した履歴を取っておくための機能ですが、サイトを公開しててしばらくすると以前のものは要らない、という状況も生まれてくるのです。
 
 

Better Delete Revisionとは?

 
その、どんどん増えていくリビジョンの問題を削除して解決しよう、というのが今回紹介する「Better Delete Revision」です。
 
もともとは、「Delete Revision」というプラグインでしたが、WordPress 3.xのバージョンに対応すべくバージョンアップしたものが「Better Delete Revision」ですので、今後は「Better Delete Revision」の方を利用していきましょう。
 
 

Better Delete Revisionのインストール方法

 
WordPressのプラグインのインストールの解説は「WordPressプラグインの3つのインストール方法解説」に記事を書いていますので参考にしてください。
 
 

Better Delete Revisionの設定方法、使い方

 
「設定」-「Better Delete Revision」を選択し、下記の画面を表示させます。
 
20140210_wp_1
 
「Check Revision Posts」をクリックすると、下記の画面が表示されます。(削除すべきリビジョンがない場合は、「Great! You have no revisions now!」のメッセージが表示されます。)
 
20140210_wp_2
 
「Yes, I would like to delete them! (A Total Of 62)」の青いボタンをクリックすることで不要なリビジョンがすべて削除されます。(「62」の数値の部分は、消されるリビジョンによって違います。)
簡単です。
キャンセルする場合は、隣の「No, I prefer to keep them!」を押します。
 
 
2つ上の画面で「Optimize Your Database」をクリックすると、下記の画面が表示されます。
ここで「Optimize WordPress Database」をクリックすることでデータベースの最適化が行われます。 
こちらも、それ以上の操作は特にありません。後は、表示側がちゃんと見られるかを確認する程度です。
 
20140210_wp_3
 
 

Better Delete Revisionでどれくらい軽量化されるのか

 
どれくらい軽量化されるかは、どれくらいのリビジョンが削除されるかによりますし、どれくらいの長さの記事を書いていたかにもよりますので、全く一概には言えませんが、私の実験環境で実験してみた感じでは、
 
 18記事から 62のリビジョンが削除されました。
 
 削除を実行する前は、phpMyAdminからエクスポートしたファイルでは、
  713kb でした。
 それが
  664kbに減りました。
 
削除されたリビジョン数は多いですが、テスト用の記事なので長い文章はなく、エクスポートしたファイルは wp_postsだけのデータではなく全テーブルのデータのファイルをエクスポートしたファイルになりますので、WordPressの基本情報として絶対的に必要な部分は減りようがないからかもしれませんね。
 
 
また、2年ほど運用されていた違うサイトのデータをもとに実験をしてみたところでは、
 
 109記事から 2355リビジョンが削除されました。
 
 元のファイルは  26,247kb
 それが
 対応後のファイル 4,740kb に減りました。
 
さすがにこれは驚きです!! 5分の 1以下です!
これを実行すれば、かなり DBは軽くなりますね。
長く運用しているサイトであるほど効果が実感できるプラグインですね。
 
 

2014.07.21 追記

 
Better Delete Revisionは、データベースのデータを直接削除しますので、万一に備えてバックアップを取っておきたい、という場合もあるでしょう。
 
そんな場合に備えて、WordPressのメジャーなバックアッププラグインである BackWPupとデータベースの管理プラグインである WP-DBMANAGERについてそれぞれ記事を書いていますので参考にしてください。
 
BackWPupでWordPressのDBもファイルもバックアップ
WordPress データベースを管理するための強い味方のプラグイン WP-DBMANAGER
 
また、WordPressの高速化施策としては「WordPressの高速化でSEO対策!広告費も削減!高速化の施策のまとめ」にまとめ記事を書いていますので、あわせて参考にしてみてください。

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

Export to Textで WordPressを csv出力

WordPressのデータを csv出力する Export to Textの使い方を解説しています。

WordPressで月極駐車場検索サイトを構築し無料公開・使ったプラグインの紹介も

月極駐車場を検索するシステムをWordPressで構築。そのアナウンスと構築するために利用したプラグインの紹介。構築にどれくらいの期間がかかるのかの紹介。

WordPressのサイトマップ生成ツールPS Auto Sitemapの使い方

サイトマップを PS Auto Sitemapで自動生成する方法を説明します。このプラグインは Google用のサイトマップではなく一般ユーザが見るためのサイトマップページを作ります。

WordPressのプラグイン WP-DBMANAGERを使って PHP、CakePHP、baserCMSなどで作った Webサービスのデータベースも自動バックアップ

WP-DBMANAGERを使って WordPress以外の PHP、CakePHP、baserCMSなどで作った Webサービスのデータベースも自動バックアップする方法を解説。

Advanced Custom Fieldsのカスタムフィールドの登録上限が max_input_varsに影響する問題の対処方法

Advanced custom Fieldsには登録できるフィールド数に上限があります。php.iniのmax_input_varsによる制限ですが、フィールドグループを分割することで解決できます。

WordPressのパーマリンク設定の考え方

基本設定の一つであるパーマリンクの設定について解説。パーマリンクはURLを決定づける重要な項目ですので、設定の意味を理解して希望するURLになるよう設定しましょう。

Contact Form 7の使い方・引数で情報を受け渡す方法

Contact Form 7で引数の情報をフォームに編集する方法を解説します。

WP Reviewを使ってWordPressのレビューサイトを構築

レビューサイトを構築するプラグインです。複数の評価者による評価点投稿やページごとに配色を変更する機能、機能満載なウィジェットなどレビューサイト構築に最適です。

WordPressのおすすめプラグイン記事のまとめ一覧

WordPressプラグインのまとめ。WordPressのプラグイン紹介記事も多くなってきたため紹介コメント付のプラグインまとめ記事を作成しました。

WordPressの送信メールが協定世界時(UTC・グリニッジ標準時)の問題対応

WordPressから送信されてくるメールが9時間ずれている。その不具合の解消方法と根本原因の解説です。date_default_timezone_set();の設定を変更で対応できます。