Last Updated 2017.03.16
WordPressのリビジョンを削除してデータベースを最適化するプラグイン
WordPressの特徴として投稿記事の下書きを保存した時に、リビジョンと言って保存した状態に戻せる機能があります。WordPressの管理画面で直接記事を書いて投稿している人はこのリビジョン機能は便利ではあるのですが、投稿する記事をテキストファイル等で下書きしてから投稿するような場合はこのリビジョン機能はほとんど使いません。
しかも、このリビジョン機能は記事全体を保存しますので、気がつかない間にデータベース容量を圧迫してデータベースのレスポンスが悪くなる要因にもなります。
今回はこのリビジョンを削除する他、データベース自体を掃除して最適化してくれるプラグインを紹介します。
Optimize Database after Deleting Revisionsプラグインのインストール
Optimize Database after Deleting RevisionsプラグインはWordPress公式ディレクトリに登録されていますので、WordPress管理画面からインストールできます。
WordPress管理画面から「プラグイン」→「新規追加」→「Optimize Database after Deleting Revisions」を検索してインストール・有効化しましょう。
データベース最適化の設定
プラグインをインストール・有効化したら「設定」→「Optimize Database」を選択して Optimize Database after Deleting Revisions の設定を行います。
設定項目 | 説明 | 設定 |
---|---|---|
Delete revisions older than | リビジョンの何日前のデータを削除するか設定 | チェックを入れて保存数を1日前にします |
Maximum number of – most recent revisions to keep per post / page |
リビジョンの最大で何個保存するか設定 | チェックを入れて1個にします。 理由は下書きプレビュー時に最低1個リビジョンを確保しないと不便になります |
Delete trashed items | ゴミ箱に移動した投稿記事を削除する設定 | チェックを入れる |
Delete spammed items | スパムデータを削除する設定 | チェックを入れる |
Delete unused tags | 使用されてないタグを削除する設定 | チェック無し |
Delete expired transients | 内部キャッシュを削除する設定 | チェックは任意で。 キャッシュがある方がレスポンスが良い場合もあります |
Delete pingbacks and trackbacks | ピンバックやトラックバックを削除する設定 | チェック無し |
Optimize InnoDB tables too | InnoDBを最適化する設定 | MySQLがInnoDBで運用されている時はチェックをいれます |
Keep a log | ログを保存する設定 | チェックを入れる |
Scheduler | 自動でデータベースを最適化する設定 | 最適化はある程度データベースに負荷をかけるので毎週程度の間隔をあけましょう |
Show ‘1-click’ link in Admin Bar | 管理画面にリンクを表示する設定 | チェックするかは任意 |
Show an icon in the Admin Menu | 管理画面にアイコンを表示 | チェックするかは任意 |
設定が終わったら設定を保存します。
上図ではWordPressのテーブル一覧があります。
チェックを入れると最適化から除外されます。
基本的には全テーブルを最適化するのでチェックはいれません。
データベースの最適化
WordPressの全テーブルを対象にして「Go To Optimizer」ボタンを押してデータベース最適化を行います。
設定内容が表示されます。
内容を確認したら「Start Optimization」ボタンを押してデータベースからリビジョンを削除してデータベースの最適化も行います。
データベース最適化の結果を確認する
上図のようにデータベースが最適化された結果とデータベースの容量がどのくらい削減されたか結果が表示されます。上図では既にデータベースの最適化を行っていましたので、データベース容量はほとんど減っていませんが、実際にリビジョンが溜まったデータベースを最適化すると人によっては半分くらいまでデータベースの容量を削減できます。
あとはスケジューリング設定をしておいて、一定期間でデータベースを最適化することでいつまでもデータベースの容量を抑えつつレスポンスを良くします。
参考になったらぜひシェアしてください。