wordpressのリビジョン削除やデータベース最適化プラグイン「Optimize Database after Deleting Revisions」
リビジョンについて
リビジョンという機能
wordpressにはリビジョンという機能があります。
これは編集前のデータを保存しておくことによって復元が簡単にできるようになるというもの。
ここでリビジョンの数が確認できます。
リビジョンを表示させると、差分が色付きで表示され「このリビジョンを復元」を押すとその状態に戻ります。
こう書くと便利なんですが実際問題ほぼ使いません。
誤字脱字のバージョンを残されたところで意味ないし、間違いがあればその都度直していきますので。
で、このリビジョン。何が問題かというと
リビジョン1つが1つの記事としてデータベースに残る
ということ。
つまりリビジョンをそのままにしておくとデータベースが肥大化していき最終的にパフォーマンス低下を招くことになります。
wp_postsについて
投稿した記事データはデータベースの「wp_posts」に保存されますが、このテーブルには投稿以外に固定ページ・メディアのデータも含まれます。
get_posts()やquery_posts等で記事を引っ張る際にこのwp_postsを見に行っているわけで、数が多いと絞り込みに時間がかかります。
100件の中から1件見つけるのと10000件の中から1件見つけるのとでは違い出るのは当然ですよね。
普通のサイトではそこまで気にすることもないかもですが、最大のページ数が無限大のブログではこのテーブルをたまに最適化してやることがベターだと思います。
Optimize Database after Deleting Revisions
そこでお勧めなのがリビジョン削除を始め無駄なデータの削除、データベースの最適化まで1つの動作で行えるこのプラグイン。
プラグイン導入
プラグインサイトからDL
管理画面からインストール
インストールするとメニュー「設定」の中に「Optimize Database」という項目が出てきます。
プラグイン設定
設定は下記の通り
1) Maximum number of – most recent – revisions to keep per post / page
リビジョンをどれくらい残すかという設定です。
0にすれば全リビジョン削除。数字をいれればその数だけリビジョンを残します。
全部消してしまうのが不安な方は適当な数字をいれてその分だけ残す設定にしておいてください。
2) Delete trashed items
ゴミ箱に入っているデータを削除するかどうかの設定。
3) Delete spammed items
スパムに入っているデータを削除するかどうかの設定。
4) Delete unused tags
使われていないタグを削除するかどうかの設定。
5) Delete expired transients
期限切れのキャッシュを削除するかどうかの設定。
6) Delete pingbacks and trackbacks
ピンバック・トラックバックを削除するかどうかの設定。
7) Keep a log
ログを保存するかどうかの設定。
8) Scheduler
定期的に自動で処理させるかどうかの設定。
9) Show ‘1-click’ link in Admin Bar
メニューバーに1クリック処理のリンクを表示させるかどうか。
10) Show an icon in the Admin Menu
管理画面メニューにこのプラグインのメニューを別途追加するかどうか。
11) EXCLUDE DATABASE TABLES FROM OPTIMIZATION
最適化させないデータベーステーブルを選択肢ます。
以上です。
1は「0」に設定。2~7はチェック。8は「NOT SCHEDULED」で手動。
9,10はチェックなし。11もチェックなし。
で使用しています。
設定を変更した場合は「Save Setting」を押して保存しておいてください。
Go To Optimizerで実行!
結果はこちら。
55件のリビジョンが削除されました。
データベースは元々あまり汚れてなかったらしく結果は0。
余計なデータが有った場合BEFOREとAFTERの数字が違います。
使ってみた感想
リビジョンのみならず不要なデータやデータベースの最適化までやってくれるのは便利ですね。
細かい設定もできますし、これ一ついれて設定してスケジュールで定期的に動かすようにしておけばあとはポイーでいいんじゃないでしょうか?
運用がな長ければ長いほど不要なデータが増えていきますので一度これでリフレッシュしてみてください。