Photo:Revision ... By:Smiling is the best cure . . .

どっかの記事で「データベースを圧迫する!」というのを読んでから、自動保存・リビジョン機能を無効化するプラグイン「Disable Revisions and Autosave」を利用していました。

しかし最近、メインで利用しているブラウザ(Chrome)がよくフリーズして途中まで書いた記事が消えるコトが多発・・・。

Disable Revisions and Autosaveは完全に停止させてしまうので、自動保存をコントロールしつつリビジョンを停止するコトが出来ないかを調べてみました。

Photo:Revision … By Smiling is the best cure . . .

自動保存とリビジョンはどんな機能なの?

簡単に言えば編集中の投稿のバックアップです。WordPressはご丁寧にこのバックアップ機能を2つも用意してくれているんですね。

まず疑問に思ったのが「なぜ2つのバックアップ機能がある?違いは何なの?」という点です。自動保存・リビジョンは似ているけども厳密には違う役割を持っているんですよね。

それぞれが投稿画面とデータベースを見ながらどういう動きをしているのかをテストしてみました。

 

自動保存は意外と良いヤツだった!

revision3

自動保存がどんな動作をしていくのかをチェックしていきたいと思います!

まず「新規追加」で投稿画面に入り、タイトルと「自動保存TEST1です。」と文字を入れてみました。Post IDは13になり、自動保存が発動します!

 

revision2

データベース上でもID13で保存されました。post_contentには先程入力した文字、そしてpost_statusは「draft」で下書きという意味ですね。

 

revision4

更に「自動保存TEST2です。」と文字を入力し、少々待つと自動保存されました。

 

revision5

データベース上ではID13のままで変化なし!post_contentは追加された文字が反映されています。IDが増えていないというコトは『上書き保存』されたのが分かるでしょう。

このように自動保存は個別に保存されるワケではなく、常に上書き保存されていくのでデータベースを大きく圧迫させるようなコトはないようです。

自動保存とリビジョンはセットで考えられるコトが多く「データベースを圧迫します!プラグインで無効に!」と書かれている記事が多いですが、実はそうでもないというコトが分かりました。

自動保存のポイント!

  • 投稿ごとに1つだけ下書きデータとして、データベースに保存される。
  • 複製されるのではなく、上書き保存である。
  • 保存される間隔はデフォルトで60秒毎。その間に文字を入力しなければ上書きはされない。
  • データベースを肥大化させるコトはない。

 

ふえ~るリビジョン!制限が必要かも!?

revision7

今度はリビジョンがどう動いてるかをチェックしてみます。「新規追加」でタイトルを入力しました。

先程と同じように、自動保存が発動しているのが分かりますね。

 

revision6

データベース上でも同じような結果となっています。IDは24です。

 

revision8

リビジョンは下書き保存をした時に作成されます。「リビジョン1」と入力して「下書きとして保存」をクリックします。

 

revision9

データベース上でID25として、リビジョンが新しく保存されたのが分かると思います。

post_statusは「inherit」となっています。inheritは継承といった意味合いです。今度は「リビジョン2」と入力して、「下書きとして保存」をクリック。

 

revision10

また・・・増えた(;´Д`)

今度はID26になり、post_contentにも追加入力した文字が表示されています。

ちなみにID24は自動保存として上書きされてるのが分かります。自動保存とリビジョンは別々に動いてるんですねぇ!!

 

revision11

今度は公開したらどうなるんだろう?という疑問が浮かんできたので・・・「リビジョン3公開」と入力して、「公開」をクリック。

 

revision12

Σ(´∀`;)・・・またまた増えてる。

今度はID27のリビジョンが追加されています。これで合計3つのリビジョンが作られたコトになります。

 

revision14

今度は公開後に記事を追加した想定で「リビジョン4更新」と入力し、「更新」をクリック。

 

revision13

またまたまた・・・ID28のリビジョンが追加されました。もはやリビジョンを止めるのは無理なのか!?

相変わらず良いヤツな自動保存くんは上書きしまくっています。笑

も、も、、もう一回だけぇ!!

 

revision15

「リビジョン5更新」と入力して、「更新」をクリック。

 

revision16

またまたまたまた・・・もうあかん(。゚ω゚)

リビジョンID29が追加されました・・・。

結論!リビジョンは制御せよ!!

 

リビジョンのポイント!

  • 編集途中の内容を個別に保存出来るので、リビジョン同士を比較するコトが出来る。容易に前リビジョンに戻れる。
  • 投稿中に「下書きとして保存」をクリックするコトでリビジョンが作成される。(「下書きとして保存」をクリックしなければ、リビジョンは作成されない。)
  • WordPress上ではPost IDの変更はないが、データベース上では新たにPost IDが割り振られて保存される。(元の投稿がID1000であれば、リビジョンは作成される毎にID1001、1002…1010と増えていく。)
  • 投稿を公開した時・ゴミ箱に入れた投稿を復元した時にリビジョンは作成される。

 

自動保存・リビジョンの制御の方法!

テストの結果、自動保存は上書きでそこまで心配するコトもないけどリビジョンは制御または停止してあげた方が良いのかなと思います。

記事数が少なければ、そこまで心配する必要はないのかもしれないが記事数が100、、500、、1000と増えていけば、結構負担きそうですよね。というコトでリビジョンを制御する方法を紹介します!

 

プラグインで制御せよ!

リビジョンを制御する方法の1つにプラグイン使う方法があります。有名どこのプラグインは2つ!

 

Revision Control

revision17
http://wordpress.org/plugins/revision-control/

インストール方法

  • 上記リンクからダウンロードし「wp-content/plugins」内にアップロード。
  • WordPressダッシュボード内「プラグイン→新規追加」でRevision Controlで検索し、インストールして有効化。

設定方法

revision19

設定方法も非常に簡単で、WordPressダッシュボード内「設定→リビジョン」から保存数を選択するだけです。また投稿ごとに保存数を選ぶコトも出来ます。

 

WordPress Disable Revisions and Autosave plugins

revision18
http://exper.3drecursions.com/2008/07/25/disable-revisions-and-autosave-plugin/

  • Diable-Autosave 自動保存のみ無効
  • Disable-Revisions リビジョンのみ無効
  • Disable Revisions and Autosave 両方無効

3つのプラグインが用意されているので、好みのモノをダウンロードします。そして「wp-content/plugins」内にアップロードします。

このプラグインは有効化してあげるだけで動作するので設定はありません。元々これを使用していましたが、

自動保存をコントロールしたいので他の方法を探してたんですよね。そこで見つかったのが、次の方法です。

 

プラグインを使わないリビジョン制御方法と自動保存の秒数を変更するには?

この方法はITTI laboさんの記事を参考にさせていただきました。

 

/*リビジョン停止*/
define('WP_POST_REVISIONS', false);

wp-cofig.php内の「require_once(ABSPATH . ‘wp-settings.php’);」よりも前に記述します。

 

/*リビジョン制限*/
define('WP_POST_REVISIONS', 10);

記述する箇所は停止の場合と同じで、10回まで保存するという制限にする時は「10」と記入します。

 

/*自動保存の秒数*/
define('AUTOSAVE_INTERVAL', 1800);

記述する箇所はリビジョンの停止・制限と同じで、秒単位で記入します。1800秒なら1時間に1回自動保存します。

 

参考記事

wordpressのリビジョンと自動保存を停止、回数制限する方法 | ITTI labo

 

過去のリビジョンを削除するならこのプラグイン!

過去の投稿で溜まったリビジョンを削除するプラグインがあります。更新が止まっているようですが、最新版のVer3.8でも使用可能です。

 

Better Delete Revision

revision20
http://wordpress.org/plugins/better-delete-revision/

インストール方法

  • 上記リンクからダウンロードし、「wp-content/plugins」内にアップロード。
  • WordPressダッシュボード内「プラグイン→新規追加」でBetter Delete Revisionで検索し、インストールして有効化。

 
設定方法

revision21

WordPressダッシュボード内「設定→Better Delete Revision」で「Check Revisions Posts」をクリック。

 

revision23

「Yes, I would like to delete them!」をクリックして削除完了。

 

revision22

削除後、データベースの最適化を行ってあげるので「Optimize Your Database」をクリック。

 

revision24

「Optimize WordPress Database」をクリックして、データベースを最適化完了です。

 

あくろのまとめ!

自動保存とリビジョンの違いなどを自分でテストしてみるコトで、すっきりしました!

参考記事だけを当てにするのではなく、自分でためしてみるのはとても大事ですね。非常に勉強になりました。ちなみにあくろの設定はこんな感じです。

 

/*リビジョン停止*/
define('WP_POST_REVISIONS', false);
/*自動保存制限*/
define('AUTOSAVE_INTERVAL', 300);

自動保存は5分に1回!リビジョンは停止!これで試してみて、また調整していきたいと思っています。

この記事が役に立ったらいいね!しよう

最新情報をお届けします

Twitterでアクロマニアをフォローしよう!