どっかの記事で「データベースを圧迫する!」というのを読んでから、自動保存・リビジョン機能を無効化するプラグイン「Disable Revisions and Autosave」を利用していました。
しかし最近、メインで使用しているChromeブラウザがよくフリーズし・・・途中まで書いた記事が消えるコトが多発。
Disable Revisions and Autosaveは完全に停止させてしまうので、自動保存をコントロールしつつリビジョンを停止するコトが出来ないかを調べてみました。
自動保存とリビジョンはどんな機能なの?
簡単に言えば編集中の投稿のバックアップです。WordPressはご丁寧にこのバックアップ機能を2つも用意してくれているんですね。
まず疑問に思ったのが「なぜ2つのバックアップ機能がある?違いは何なの?」という点です。自動保存・リビジョンは似ているけども厳密には違う役割を持っているんですよね。
それぞれが投稿画面とデータベースを見ながらどういう動きをしているのかをテストしてみました。
自動保存は意外と良いヤツだった!
自動保存がどんな動作をしていくのかをチェックしていきたいと思います!
データベース上ではIDが「13」のままで変化なし!post_contentは追加された文字が反映されています。IDが増えていないというコトは、上書き保存されたのが分かるでしょう。
このように自動保存は個別に保存されるワケではなく、常に上書き保存されていくのでデータベースを大きく圧迫させるようなコトはないようです。
[aside type=”boader”]
自動保存のポイント
- 投稿ごとに1つだけ下書きデータとして、データベースに保存される。
- 複製されるのではなく、上書き保存である。
- 保存される間隔はデフォルトで60秒毎。その間に文字を入力しなければ上書きはされない。
- データベースを肥大化させるコトはない。
[/aside]
ふえ~るリビジョン!制限が必要かも!?
データベース上でIDは「25」として、リビジョンが新しく保存されたのが分かると思います。
また、増えた・・・。
今度はIDが「26」になり、post_contentにも追加入力した文字が表示されています。
またまた、増えてる・・・。
またまたまた・・・IDが「28」のリビジョンが追加されました。もはやリビジョンを止めるのは無理なのか!?相変わらず良いヤツな自動保存くんは上書きしまくっています笑。
またまたまたまた・・・もうあかん。リビジョンIDが「29」が追加されました・・・。
[aside type=”boader”]
リビジョンのポイント
- 編集途中の内容を個別に保存出来るので、リビジョン同士を比較するコトが出来る。容易に前リビジョンに戻れる。
- 投稿中に「下書きとして保存」をクリックするコトでリビジョンが作成される。(「下書きとして保存」をクリックしなければ、リビジョンは作成されない。)
- WordPress上ではPost IDの変更はないが、データベース上では新たにPost IDが割り振られて保存される。(元の投稿がID1000であれば、リビジョンは作成される毎にID1001、1002…1010と増えていく。)
- 投稿を公開した時・ゴミ箱に入れた投稿を復元した時にリビジョンは作成される。
[/aside]
自動保存・リビジョンの制御の方法!
テストの結果、自動保存は上書きでそこまで心配するコトもないけどリビジョンは制御または停止してあげた方が良いのかなと思います。
プラグインで制御せよ!
リビジョンを制御する方法の1つにプラグイン使う方法があります。有名どこのプラグインは2つ!
Revision Control
インストール方法
- 上記リンクからダウンロードし「wp-content/plugins」内にアップロード。
- WordPressダッシュボード内「プラグイン→新規追加」でRevision Controlで検索し、インストールして有効化。
設定方法
設定方法も非常に簡単で、WordPressダッシュボード内「設定→リビジョン」から保存数を選択するだけです。また投稿ごとに保存数を選ぶコトも出来ます。
WordPress Disable Revisions and Autosave plugins
[aside type=”boader”]
- Diable-Autosave
- 自動保存のみ無効
- Disable-Revisions
- リビジョンのみ無効
- Disable Revisions and Autosave
- 両方無効
[/aside]
3つのプラグインが用意されているので、好みのモノをダウンロードします。そして「wp-content/plugins」内にアップロードします。
このプラグインは有効化してあげるだけで動作するので設定はありません。元々これを使用していましたが、自動保存をコントロールしたいので他の方法を探してたんですよね。そこで見つかったのが、次の方法です。
プラグインを使わないリビジョン制御方法と自動保存の秒数を変更するには?
/*リビジョン停止*/
define('WP_POST_REVISIONS', false);
/*リビジョン制限*/
define('WP_POST_REVISIONS', 10);
/*自動保存の秒数*/
define('AUTOSAVE_INTERVAL', 1800);
記述する箇所はリビジョンの停止・制限と同じで、秒単位で記入します。1800秒なら1時間に1回自動保存します。
wordpressのリビジョンと自動保存を停止、回数制限する方法 | ITTI labo
過去のリビジョンを削除するならこのプラグイン!
過去の投稿で溜まったリビジョンを削除するプラグインがあります。更新が止まっているようですが、最新版のVer3.8でも使用可能です。
Better Delete Revision
インストール方法
- 上記リンクからダウンロードし、「wp-content/plugins」内にアップロード。
- WordPressダッシュボード内「プラグイン→新規追加」でBetter Delete Revisionで検索し、インストールして有効化。
設定方法
「Optimize WordPress Database」をクリックして、データベースを最適化完了です。
あくろのまとめ!
自動保存とリビジョンの違いなどを自分でテストしてみるコトで、すっきりしました!
/*リビジョン停止*/
define('WP_POST_REVISIONS', false);
/*自動保存制限*/
define('AUTOSAVE_INTERVAL', 300);
自動保存は5分に1回!リビジョンは停止!これで試してみて、また調整していきたいと思っています。
コメント