WordPressの記事やテーマ・プラグインの設定情報などのほとんどはデータベースに保存されています。

そのため、たくさん記事を書いたりテーマやプラグインの設定・データが増えれば増えるほどデータベースを圧迫するとになります。

今回はWordPressで利用しているデータベースを最適化して使用中容量を小さくする方法を紹介します。

データベース容量はディスク容量よりもはるかに小さい

容量200GBのレンタルサーバーを利用しているから問題ないと思う方もいるでしょう。

ですが、ここで気をつけないことが一つあり「画像やテーマファイルなどを保存するディスク容量」と「記事データやWordpresss設定などを保存するデータベース容量」は別々ということです。

ディスク容量とデータベース容量が同じであるレンタルサーバーも少なからずありますが、一般的なレンタルサーバーはディスク容量とデータベース容量が分けられています。

そして何より重要なのがデータベース容量は多くて1GBしかありません。
少ないところでは100~300MB程度でしょう。

そのため、たくさん記事を書いているとあっという間にデータベースの容量が肥大化して容量が足りなくなるということが起きてしまいます。

データベースの使用済み容量が大きくなるデメリット

データベースの使用済み容量が大きくなると以下のようなデメリットが発生します。

  • サイトの動作が重くなる
  • 上限を超えると記事が書けなくなる

データベース容量が大きくなりすぎるとサイトのパフォーマンスの影響をします。

使用できるデータベース容量の上限を超えると保存することができなくなるので記事が書けなくなるというのは分かりやすいと思いますが、データベース容量が大きくなるとサイトのパフォーマンスの影響が出るので注意が必要です。

データベース容量が増えていく原因まとめ

WordPressで利用されるデータベース容量は、以下のことで増えやすいです。

  • 記事や固定ページの作成
  • リビジョンの増加
  • プラグインインストール数の増加(削除済み含む)
  • プラグインなどで追加されるカスタムフィールド情報の増加
  • キャッシュ機能を持つテーマやプラグインの使用(アクセス解析プラグインやリンクエラーチェックプラグインなど)

また、利用するテーマやプラグインによっては削除しても、データベースにデータが残ることがあります。

そういうものは再インストールする際にはデータベースに残っている情報を使って再設定されるので便利と言えば便利ですが、今後二度と再インストールしないプラグインやテーマに関してはデータベースを圧迫する邪魔なデータでしかありません。

不要なデータを削除する方法もあわせて紹介してるので参考にしてください。

データベースの最適化には「WP Optimize」を使おう!

WordPressで利用するデータベースを簡単に最適化するには「WP Optimize」というプラグインを使用するのが一番確実です。

間違ってもphpmyadminでSQLを発行して自動最適化するようなことはやめましょう。

インストール方法

WP OptimizeはWordPressダッシュボードの新規追加ページからインストールすることが可能です。

まずは新規追加ページで「WP Optimize」を検索し、インストール・有効化まで進めます。

利用するための初期設定はありませんので、有効化したらすぐに使い始めることができます。

使い方

WP Optimizeはインストールすると左メニューに項目が追加されています。

WP Optimizeをクリックすると最適化できる項目が一覧表示されます。

最適化項目の詳細は以下の通りです。

データベーステーブルの最適化 利用中のデータベースを最適化して使用容量を削減
すべての投稿リビジョンをクリーン 下書き保存・更新のたびに作成されるリビジョンを全て削除
Clean all auto-draft posts 自動保存される下書きを全て削除
Clean all trashed posts ゴミ箱にある投稿や固定ページを全て削除
Remove spam and trashed comments スパムコメントとゴミ箱に移動したコメントを削除
未承認コメントの削除 承認を行っていないコメントを一括で削除
期限切れのtransientオプションを削除 期限付きデータの中で期限切れで使えなくなったオプションデータのみ削除
ピンバックの削除 サイトに届いたピンバックを削除
トラックバックの削除 サイトに届いたトラックバックは削除
投稿メタデータのクリーン 投稿ごとに保存されているコマからメタデータの削除
コメントメタデータのクリーン コメントのメタデータの削除
孤立したデータのクリーン 使用されていない孤立したデータの削除

これらの項目をWP Optimize一つで最適化することができます。

最適化できる項目の中では青文字にしたものは複雑な処理が行われるため、万が一データベースの最適化中にエラーが起きると、データベースそのものが破壊されてWordPressが動作しなくなってしまう可能性があります。

バックアップを取っていないと復元することが不可能になってしまうのであまり実行しないようにしてください。

それ以外の項目、特に「データベーステーブルの最適化」と「すべての投稿リビジョンをクリーン」はかなり効果があるので、導入したら実行してみてください。

それぞれの最適化を実行するには、項目ごとの右にある[最適化を実行]をクリックしてください。

もしくは項目の左にあるチェックボックスにチェックを入れて青いボタン[Run all selected optimization]をクリックして一括最適化を行います。

使用していないデータを手動で削除する

使用していないデータを手動で削除するには、[Table]に移動します。

ここに現在データベースに保存されているテーブル情報が一覧表示されています。

この中の項目を見ていると[Remove]ボタンがあるものとないもの、「not installed」と書かれているものが残ってることがあります。

これらは以前使われていたテーマやプラグインを削除したあとに残っているデータであり、そのプラグインを今後一切インストールしない場合は削除しても問題ないデータということになります。

また、「not installed」の横に何のプラグインやテーマで使われていたのか表示されています。

データベースに残った不要にデータを削除したい場合は、各項目の一番右にある[Remove]をクリックします。

すると削除しても問題ないかどうかの確認メッセージが入るので[OK]をクリックします。

[OK]を押すとバックアップ開始し、バックアップ完了次第自動的にテーブルデータの削除の行われます。

しばらく待つとこのように「バックアップの実行が終了しました」と表示されます。

このポップアップが表示される頃にはデータベースの削除が完了しており、一定時間が経過するか[閉じる]をクリックすると、元の画面に戻り引き続きテーブルデータの削除を実行できます。

定期的に自動で最適化させる方法

WP Optimizeは手動で最適化処理を実行することができますが、スケジュールの設定を行うことで「毎日・毎週・半月・30日」いずれかの間隔で自動最適化を実行できるようになります。

スケジュール設定を行うには、ダッシュボード左メニューの[WP-Optimize]->[設定]に進みます。

[設定]に移ったら、少し下にスクロールして[Scheduled clean-up settings]の項目に移動します。

次に[Enable scheduled clean-up and optimization (Beta feature)]にチェックを入れます。

スケジュール間隔を変更したい場合は[毎週]となっている項目を編集します。

デフォルトでは以下の項目がスケジュール設定によって自動削除されるようになっています。

  • 投稿や固定ページのリビジョン
  • 自動的に保存された下書き
  • ゴミ箱にある投稿データ
  • スパムやゴミ箱に移動されているコメント

データベース全体の最適化も行いたい場合は[データベーステーブル最適化]にもチェックを入れるようにしてください。

自動削除する項目に[未承認コメント削除]がありますが、タイミングによってはコメントが書き込まれていたことに気づかないまま削除されてしまう可能性があるので、チェック非推奨です。

スケジュールの設定が完了したら一番下までスクロールし、[設定を保存]をクリックします。

保存が完了すると上の画像のように✔が表示されます。

最近生成されたデータを削除したくない場合

ディビジョンや自動下書きなどはいざという時に役立ちます。

そのため、最近作成されたリビジョンや自動下書きだけ残しておきたいという場合もあるでしょう。

そういう場合はWP Optimizeの「一般設定」を編集することで最適化処理が実行されても直近のデータを残せるようになりあます。

他の設定はデフォルトではチェックが入っておらず無効化されているため、有効化したい場合はチェックを入れた上で隣の数値を変更、保存してください。

デフォルトではリビジョンや自動下書きなどの2週間前のデータが残るようになっています。

データベースの取り扱いには要注意

データベースは記事のタイトルや本文情報など非常に重要なデータが格納されているところです。

むやみやたらに最適化しようとしてデータベースを破壊してしまうと元も子もありません。

記事内でも解説していますが、あまり触れるべきではない上級者向けの項目もあるので、不安な場合はWordPressに特化した専門業者に依頼するといいでしょう。

当サイトこと「WordPressのお医者さん」もWordpressのトラブル対応に特化しておりますので、気になる方は是非ご相談ください。

お問い合わせ