【WordPress】プラグインを使って自動でデータベースを最適化する方法と効果 ~不要なデータを自動でメンテナンス~

WordPressはご存じの通り、アクセスされる度にデータベースに保存された記事などのデータをPHPという言語を使って引っ張り出してインターネットブラウザで表示できるhtml形式に変換するタイプのホームページ作成ツールです。

そして記事を追加する、編集する、プラグインを追加する、プラグインの機能が動作する・・・といった動作をするたびにデータが変更・蓄積されていきます。

スポンサーリンク

おすすめメンテナンスプラグインと効果

当サイトでは【Optimize Database after Deleting Revisions】というプラグインを使用して週に1度自動でメンテナンスするように設定しています。

このプラグインで最適化できる項目などについては

長いことノーメンテナンスだった当サイト。さぞかしゴミファイルがたまっているんだろうなぁということで最適化系のプラグインを探しました。すると、群を抜いてインストール数の多いプラグインを発見。それが「Optimize Database after Deleting Revisions」。長い名前だけど、日本語にすると「履歴を削除した後でデータベースを掃除します」というプラグインです。

の紹介記事を読んでください。

実際にいろいろと試された方なら分かると思いますが、こうしたメンテナンス系のプラグインは「本当に効果があったの?」というのが示されないものが多いですし、よほど大規模でノーメンテナンスだった場合を除いて「サイトの速度がすごく速くなる」ということも体感できませんから過去には使ったけど今は使っていないという方も多いはずです。

今回紹介する【Optimize Database after Deleting Revisions】はどの程度最適化できたかを表示するログ機能があって、何をやったのか、どこがどう改善されたのかがいつでも確認できるようになっています。

画像は当サイトの直近のログです

・・・画像が小さくて申し訳ありません。でもこれがすべてなのでご容赦ください

左から

  1. リビジョンの削除・・・記事を下書き保存したり更新したりしたときに作られる変更履歴
  2. ゴミ箱のデータ・・・投稿一覧などからゴミ箱へ移動したデータ
  3. スパムデータ・・・コメントの一覧などからスパムとして移動したデータ
  4. 使用していないタグ・・・1つの記事にも関連付けされていないタグ
  5. 期限切れの一時データ・・・プラグインなどが作る一時的なデータ
  6. ピンバックとトラックバック
  7. 孤立データ・・・サイト内のどのデータにも属さないいわゆる「ゴミ」データ
  8. 最適化されたテーブル数・・・内容を整理したデータベーステーブル数

という「何をどうしたか」という作業内容と

  1. 最適化前のデータベースサイズ
  2. 最適化後のデータベースサイズ
  3. 最適化によって改善できたデータベースの量

という結果が表示されます。

見ていただくと分かる通り、週に1回の自動メンテナンスで1メガバイト~2メガバイトの不要データが溜まり、このプラグインによって最適化されていることが分かります。何もしなければこれがどんどんと溜まっていくわけですから、「そんなに記事数ないのに何でこんなにデータベースの量が多いんだ??」ということになってしまうのです。

前述した通りWordpressはキャッシュ系のプラグインを使わない場合にはアクセスされる度に1回1回データベースからデータを引っ張り出してページを作って表示するので、たくさんのアクセスがあるサイト、たくさんの記事があるサイトになればなるほどちょっとした時間のロスが大きなロスになっていきますから、こうしたプラグインで自動的にメンテナンスしておけば動作の遅延やサーバーの高負荷といったトラブルを未然に防げる可能性が高くなります。

特にプラグインをいろいろと試しては削除してという作業の頻発するサイトや1日の記事の投稿数の多いサイト、記事を編集することの多いサイトなどでは効果的だと思います(上のログでも記事のメンテナンス度合によってゴミデータの量が違うのがお分かりになると思います)。

こうしたメンテナンス系のプラグインは【Optimize Database after Deleting Revisions】の他にも本当にたくさんリリースされていますが、いろいろ試した中ではイチオシのプラグインですから、まだこうしたメンテナンスをしたことのない方はぜひ試してみてくださいね。



不要データ削除を目的としたプラグインでもできないことがある

ではこのプラグインを使ってメンテナンスしておけば十分なのかというとそうでもありません。

特にプラグインをインストールして有効にし、いろいろな設定をすると、新たにデータベーステーブルが作られたり、既存のテーブルにデータが追記されたりすることが多々あります。

そのプラグインを使わなくなったからといって削除してもこれらの追加データは基本的には残ります。試しに1度削除したプラグインを再度導入してみると設定していないのに以前の内容が復元されますから容易に確認できます。

使わなくなったデータも自動で削除してほしい!!というのが大きな希望ですが、中には削除することでサイトの動作に影響を与えるものがあり、下手をすると動かなくなってしまう(表示できない、管理画面に入れない、復旧不能なトラブルの発生など)可能性があるのでこうしたものは削除されないのです。

これはどのメンテナンスプラグインでも同じですから、より安全に、かつ、よりたくさんの不要データをメンテナンスできるものを探すということになります。

そしてメンテナンス系のプラグインでも最適化できないものをきれいにするには自分の目でデータベース内の掃除をするしかないのですが、1つの行を変更したり削除したりすることで2度と動作しなくなる致命的なエラーが出る可能性があるわけですから全くおすすめしません。

そこで絶対にやっておいた方がいいという方法を一つ紹介しておきます。

それは・・・プラグインの削除前には「設定」と「データ」を削除しておくことです

プラグインの中には設定項目がたくさんあったり、投稿とは別の記事の集まり(これを「カスタム投稿タイプ」といいます)を使うものが多く存在します。というか何かのコンテンツを作るプラグインのほとんどはカスタム投稿タイプへ通常の投稿とは別のコンテンツを追加していきます。

この「設定内容」と「作成したコンテンツ」はデータベースに格納されていきます。そしてそのプラグインを使う時にしか開かれないデータになります。

つまりこのデータを残したままプラグインを削除してしまえば半ば永遠にそのデータはゴミとなってしまうわけです。ですから、プラグインを削除する前(停止する前)に一度追加で行った設定をクリアして、何か追加したデータがあればすべて削除しておく、この2つをするだけで後々の不要データの量を削減することができます。

それからたくさんのプラグインを試す場合には実際に公開しているサイトとは別にテスト用のサイトを作ってそこでまずテストしてから導入するようにすればさらにデータベースの肥大化を防ぐことができます。これは私もやっている方法ですからかなりおすすめです。

快適に動作している間にぜひWordpressのデータメンテナンスを行うようにしましょう

トップへ戻る