WordPress には「リビジョン機能」があり、下書き保存・記事のリライト・定期的なオートセーブ(デフォルトでは60秒に1回)というタイミングで自動的に記事のバックアップを残すようになっています。
記事の保全という意味では便利な機能ではあるのですが、オートセーブ以外のリビジョンは全て別の記事として残されていくため、データベース上には実際の記事数の何倍ものデータが存在することになります。
何も対策をしていない状態だと、このリビジョンの他、ゴミ箱に移したデータやスパム(フォルダに移された)コメント、アンインストールしたプラグインやテーマの残骸など、データベース内にたくさんの不要なデータがあるはずです。
これらが蓄積してサイトが重くなったりするのを防ぐため、定期的にデータベースを掃除してあげる必要があります。
ここでは、不要データをすっきり削除してデータベースを最適化してくれるプラグイン「WP-Optimize」の使い方を紹介します。
もくじ
「WP-Optimize」の導入方法
インストール・有効化する
「プラグイン」→「新規追加」から、検索窓に「WP-Optimize」と入力して、インストール・有効化します。
有効化するとメニューの下の方に「WP-Optimize」という項目が増えるので、そこから設定画面へ飛んでください。
「WP-Optimize」の初期設定
一般設定
直近〇週間分のデータを保持する
削除対象のデータでも、ここで設定した期間は削除されずに残ります。(例えばここを2週間に設定した場合、「リビジョンを削除」を選択しても、2週間以内に作られたリビジョンは削除されずデータベースに残る)
クリーンアップの際には、手動・自動にかかわらずこの設定が適用されます。
2~99週まで選べますのでお好みで設定してください。
管理バーリンクを有効化
ここにチェックを入れると、画面最上部の管理バーに「WP-Optimize」へのショートカットが追加されます。
手動でクリーンアップを行う方はチェックしておくと良いと思います。
定期的なクリーンアップの設定(Scheduled clean-up settings)
「Enable scheduled clean-up and optimization (Beta feature)」と書いてある所のチェックボックスにチェックを入れると、クリーンアップを行う周期と項目の設定を行えるようになります。
自サイトの環境に合わせて、必要な項目にチェックを入れていきましょう。
手動でのクリーンアップのみしか行わない場合は、ここを設定する必要はありません。
スケジュールタイプを選択
自動でクリーンアップを行う周期を設定します。毎日・毎週・半月事・毎月(約30日毎)の4種類から選べます。
データベーステーブルの最適化
データベース内は各種データが種類ごとに分けて保存されており、この分けられた各保管場所をテーブルと呼びます。
データの追加・削除・移動などを繰り返していると、テーブル内に無駄な領域が確保されたまま残ってしまうため、これを解放してデータベースを整える作業が「データベースの最適化」です。(PC でいうデフラグのイメージに近いかもしれません)
デフォルトではチェックが入っていませんが、チェックしておくのがおすすめです。
自動リビジョンを削除
リビジョンを削除します。
Remove auto-draft posts
自動保存された投稿データ(自分で下書き保存したデータではありません)を削除します。
Remove trashed posts
ゴミ箱に移された投稿データを削除します。
Remove spam and trashed comments
スパムコメントとゴミ箱内のコメントを削除します。
未承認コメントの削除
未承認のコメントを削除します。
期限切れの transient オプションを削除
transient オプションというのは、プラグインなどが使用する簡単なキャッシュ機能で作られる期限付きのキャッシュのことです。
エラーメッセージやランキング、ランダムな表示など、内部で行われる処理を高速化するために使われる機能なので、期限が切れたものは削除して問題ありません。
ただし「WP-Optimize」内では「実行中にデータベースサーバーがクラッシュしたり、強制的に電源が切られたりするとデータが破損することがあります」という警告マークが出ている項目なので、心配な方は定期クリーンアップからは外しておきましょう。
ログの設定(Logging settings)
クリーンアップのログを残す場所の設定です。
PHPのエラーログ、メール、データベースの3種類選べますが、通常は特にここを設定する必要はないと思います。
トラックバックとコメントのアクション
サイト内のトラックバックやコメントを一括で有効化・無効化できます。
手動でデータベースのクリーンアップを行う場合
定期クリーンアップを行わない場合や、定期クリーンアップで設定していない項目も最適化したい場合など、手動でクリーンアップを行いたい場合は、画面右上の「Database」をクリックしてください。
最下部に出ている警告について
ここには先ほどの定期クリーンアップの設定では選べなかった項目も並んでいますが、それらを選択する場合の警告が最下部に表示されています。
ということなので、ビックリマークのアイコンがついた項目を最適化する場合は、事前にバックアップをとってください。
以前紹介した「UpdraftPlus」というバックアッププラグインを入れている場合は、クリーンアップの実行ボタン横にあるチェックボックスにチェックを入れれば、最適化前に自動でバックアップをとってくれます。
クリーンアップできる項目
前半部分は定期クリーンアップの項目と同じなので、後半部分を説明します。
ピンバックの削除・トラックバックの削除
サイト内の各記事に送られてきたピンバック(記事内に貼った外部リンク先に送られる)とトラックバック(任意の相手に送ることができる)を削除します。
投稿メタデータのクリーン
投稿メタデータというのは、その投稿の作成者・公開日・カテゴリーなど、投稿に関連付けられた設定や情報のことです。カスタムフィールドの値なども含まれます。
記事やプラグインを削除した場合などに残ってしまった、どこにも関連付けられていない投稿メタデータを削除できます。
コメントメタデータのクリーン
こちらも同じく、何らかの原因で使用されていないメタデータが残ってしまっている場合に削除することができます。
孤立したデータのクリーン
データベース内に残ってしまったゴミデータ(使用されていないデータ)を削除します。
クリーンアップ対象のデータ
各項目の下にはどれくらいの数の削除対象のデータがあるかが表示されていますので、クリーンアップを行うかどうかの目安にすると良いと思います。
また「Tables」タブをクリックすると、データベース内のどのテーブルにどの程度オーバーヘッド(確保されたまま残ったゴミ領域)があるかを確認することができます。赤字になっている部分のオーバーヘッドは「最適化」の項目をチェックして実行すればなくなります。
クリーンアップ・最適化を実行する
クリーンアップを行いたい項目にチェックを入れたら、実行ボタンをクリックします。
オーバーヘッドも(ほぼ)なくなりました。
これでデータベースの掃除と最適化は完了です。