WordPressのデータベースをwp-optimizeで最適化しませんか?
WordPressのデータベースについて、個人的には「WordPressのデータベースの容量はできる限り小さく!」「WordPressのデータベースではできる限り必要最低限のデータのみにして、なるべく把握できる状態にする」と考えています。
データベースがページ表示速度に直接的に大きく関係するわけではありません(読み込む画像や動画ファイルの容量の方が直接的に大きく影響します)が、WordPressの仕組みは動的のため、ページにアクセスがある度にデータベースからデータを呼び出していることから、データベースの処理はなるべく重くならないように配慮することが大切です。
クリエイトアコードの記事かどうかは問わず、技術的な投稿を見るときは最終更新日をご確認いただくことを強く推奨しております。
最終更新日より1年以上経過している場合は非推奨なやり方または関数を利用している可能性がありますので、掲載情報を扱うときは必ず最新の情報をご確認いただいた上でご利用ください。
不安な方は、クリエイトアコードのSNSのDMまたはお問い合わせよりお問い合わせください。
どれくらい容量が減るの? wp-optimizeでWordPressのデータベースを実際に最適化した結果
ファイルの容量の減少値については「自分に合うプラグインを探したため、アンインストールしたプラグイン(またはアンインストール回数)が少なくない人」かそうじゃないかによっても変わってきます。
余計なデータが生じないようにしたり、リビジョンの作成数を調整している人、あまり更新していない人(リビジョンも少ない人)であれば、あまり差を感じることはないと思われます。プラグインで使うデータベースのテーブルの容量にも影響しますし。
投稿記事数が多い人はそれなりに容量も大きくなると思われますので、差を感じにくいのはあるかもしれません。
クリエイトアコードのサイトでは、ステージング環境構築用のプラグイン導入前に、色々な実験と共にやりたいことのためにプラグインの導入テストをすることもあったので、それなりに余計なデータがある状態でした。それでも投稿数は少ない方なので、データベースの最適化前は「34.2MB」でした。
データベース最適化結果はデータベース容量がかなり小さくなりました!
結果を表にすると……。
最適化前のデータベース容量 | 34.2MB |
最適化後のデータベース容量 | 3.63MB |
随分と小さくなった……!
wp-optimizeを使っている理由について
wp-optimizeはデータベース最適化の他にも画像やキャッシュ等の項目の最適化ができるのですが、永続オブジェクトキャッシュの設定やWebP形式の設定は他のプラグインの方が干渉せずに設定できたことから、クリエイトアコードの環境ならびに類似の環境では、wp-optimizeをデータベースの最適化に関する設定のみで利用しています。
正直なところ、wp-optimizeを使っている理由は他に多機能なプラグインを知らなかったからなのですが、今回の対応で最新の情報を収集していたときに知ったプラグイン「WP-Sweep」の方がシンプルで初心者向きではあったものの、後述の最適化方法2「テーブルタブで、削除できるテーブルを削除する(今回、対応したやり方)」は、wp-optimizeの方が個人的に分かりやすいと感じていることもあり、今後もwp-optimizeを使っていこうと考えています。
wp-optimizeを使ったWordPressのデータベースの最適化、具体的な対応方法について
実際に使って自分もWordPressのデータベースを最適化してみたい!
と思った方向けに、クリエイトアコードがいつも対応している方法と、今回対応したデータベース最適化方法について共有します。
参考になりましたら、幸いです。
対応する前に、必ずデータベースのバックアップを取得しましょう!
自分がリストア(復旧)できるやり方で取得してくださいね!
(クリエイトアコードが対応しているやり方を一応共有します。クリエイトアコードでは「BackWPup」というプラグインを使っています。ジョブで取得しているのではなくてダッシュボードの中にある「1クリックバックアップ」という機能を使ってバックアップを取得しています。ウェブデータについてはサーバーの自動バックアップ頼りです。容量が大きくなったらダウンロードしたりバックアップしたりするのは現実的じゃないので……。
データベースをバックアップした後で復旧するときは、phpMyAdminのデータベースを新しく用意または空にしてからインポートして対応しています。もし、データベースを新しく用意した場合、wp-config.phpのデータベース名は新しく用意したデータベース名に忘れずに変更してくださいね!)
最適化方法1「最適化タブを開いて最適化を実行する(日常的に対応しているやり方)」
この下に貼っている画像は、プラグインの新規追加から「wp-optimize」をインストール・有効した後、管理画面のメニュー「WP-Optimize」のデータベースを開いた後の画面です。デフォルトは「最適化」タブが表示されているはずです。
いつもは、ここで下記にチェックを入れて最適化を実施しています。
- データベーステーブルの最適化
- すべての投稿リビジョンをクリーン
- すべての自動下書き投稿をクリーンアップ
- すべてのゴミ箱内の投稿をクリーンアップ
今回を機に改めて他にも最適化できるものはないかと考え調べてみた結果、「期限切れの transient オプションを削除」も最適化の対象にしても良いのではと思い、チェックを入れるようになりました。
コメントを投稿できるようにしているのなら、コメントに関連するものも最適化の対象にしても良いと思います。ここは、自分の環境に合わせてチェックを付けたり外したりして調整してください。
自動下書き投稿やゴミ箱の投稿など、削除した後で困るかもしれないものもないとは言い切れないので、ここに書いてあるからとその通りにした結果で不都合があっても責任が取れません。必ず、自分の運用方針や環境に合わせて選びましょう。
最適化方法2「テーブルタブで、削除できるテーブルを削除する(今回、対応したやり方)」
この下に貼っている画像は、プラグインの新規追加から「wp-optimize」をインストール・有効した後、管理画面のメニュー「WP-Optimize」のデータベースを開いた後の画面です。画面では、テーブルタブを開いています。
既に最適化を終えたため、何も変化はありませんが、もし、「アンインストールした後も残り続けているプラグインのテーブル(データ)」など削除対象のテーブルがあった場合、「削除ボタン」が画面内項目の右側あたりに表示されます。
削除事故の可能性を少しでも低くするため、削除対象のテーブルについては可能であればphpMyAdminで中身を確認してから削除した方がいいのですが、操作に不安がある人はバックアップ・リストアができること前提ではありますが、実際にテーブル削除を試してみてください。
削除対象のテーブル項目、左側に「テーブルを使っているプラグイン名」と「インストールされていません」というようなメッセージが表示されるため、関連プラグインがなくて、インストールもされていない、使っていないことが明らかである場合は問題なく削除できるはずです。なお、関連のあるテーブル(同じく削除対象テーブル)が削除されていなかった場合は削除に失敗するので、そのときは他の削除対象テーブルを削除してから、再度お試しください。
余談:なんで今回、WordPressのデータベース最適化の記事を書いたの?
あまり積極的には触れたくない話題なんだけど、以前、表記ミスでやらかしたことがありまして。
データベース名も同じ感じでやらかしちゃってたのに、このサイトのトラブル対応時に「データベース上からもメールアドレスを変更する必要があるのでは?」と、たまたまデータベースを見ていて気づきました。
もっと早く気づくタイミングがあったと思うのだけれど、一度データベースを作成&WordPressをインストールした後は日々軽い最適化をするくらいだったから、ずっと気づきませんでした……。
気づいちゃったら、気になるじゃないですか。
せっかくなら整えたい。
「データベース名を変更、つまり新しいデータベースを作って、データベースを新しいものに入れ替えるのなら、不要なデータを色々消して軽くした方が良いじゃない!」ということに思い至りました。
それだけじゃなくて、メールフォームのシステムも乗り換えたかったので、「見た目はほぼ変わらない内部のフルリニューアルを行う」ことを決意。
今回、改めてきちんとデータベースを最適化しようと対応した内容についての備忘録や記録として残しておこうと思ったので書きました。
ご相談・お問い合わせ
ホームページ制作・リニューアル・運用・SEO・Web集客、Webマーケティング・Webサイト制作技術・タスク・スケジュール・プロジェクト管理や業務改善のお悩みなどを遠慮なくご相談ください。
資料ダウンロード
サービスのご利用を社内で検討したい方のために、実績やサービス概要、料金表などのクリエイトアコードの案内資料をPDFでダウンロードすることができます。ご自由にダウンロードください。