重いWordPressサイトが10秒で高速に!原因はデータベースでした

今でも平均よりは速いはずだけど、なんかもっさりしてる気がするんだよなぁ。他に何をすればいいんだろう…?

WordPressサイトを運営してると、ついついこんなことで悩んじゃいますよね。

コンテンツ至上主義とは言え、そのコンテンツを見るまでの時間が長いと「あーもう、このサイト重いな…!別のサイト見に行こう」と離脱されてしまい、重大な機会損失になってしまうからです。

ただ、僕はテーマの開発者ということもあって、この「高速化」に関しては人一倍取り組んでいるんですが、同じテーマを使っているのに当サイトの表示速度が他の管理サイトよりも遅い気がしてたんですよね。

1番気になっていたのが初速で、「え、まだ表示されないの?」と思うことがたまにありました。

で、PHPの関数(特に正規表現周り)の見直しとかも進めていたんですが、なかなか効果を実感できず、他にどんなことができるんだろう?と思っていた時に見つけたのが「データベースのクリーンアップ」。

実はこのデータベースが原因でサイトが重くなっていたんです。



データベースが原因でWordPressサイトが重くなる理由

パソコンの動作が重くなると、

  • ゴミ箱を空にする
  • 不要なファイルの削除
  • ハードディスクの最適化(クリーンアップ)

といったことをすると改善しますよね?

WordPressサイトもこれと同じで、不要なファイルを削除したり最適化することで表示速度が改善します。

で、実は僕、記憶が正しければWordPressサイトの運営を初めてから一度もこのデータベースの最適化をやってないんですね。

このサイトに関してはかれこれ3年以上運営しているので、僕の想像以上にパフォーマンスが悪くなってたみたいです。

(なんでこんな基本中の基本のことを今までスルーしてたのか、ちょっと自分でも謎ですね。。笑)

WP-Optimizeでデータベースを最適化する

ということで早速データベースの最適化をしてみました。

使ったのは「WP-Optimize」というWordPressプラグイン。

  • 有名なバックアッププラグイン「UpdraftPlus」と開発元が同じ
  • 頻繁にバージョンアップしている
  • 評価がかなり高い
  • かなりの数インストールされている(使用者がたくさん)
  • 安全な方法で最適化している

と、控えめに言って最高のプラグインです。

最も魅力的なのは「一般的なMySQLコマンド」を使って最適化が行わている点ですね。

データベースを安全に最適化していますか ?
Yes; optimizing does not involve any “tricks” or poking around in dangerous ways. It involves running routine clean-up operations using well-defined, common MySQL commands. Nevertheless, we always recommend backups, which cover every possibility; not just database malfunctions, but hackers, human errors, etc. We recommend UpdraftPlus.

https://ja.wordpress.org/plugins/wp-optimize/

データベースは最も取り扱いに注意が必要な領域なので、こういった安全な手法で最適化してくれるのは非常に良いと思います。

最適化手順

では「WP-Optimize」を使ってデータベースを最適化してみましょう。

WARNING

いくら安全な手法での最適化とは言え、何があるかわからないので必ずバックアップはしてください!!開発元が同じで簡単に使える「UpdraftPlus」がおすすめです。

まず、プラグインの新規追加画面の検索ボックスに「WP-Optimize」と入力し、インストール後に有効化します。

有効化するとWP-Optimizeというメニューが追加されるので、それをクリック。

  1. 右上の「Database」タブをクリック
  2. 最適化するデータベースにチェックを入れる(わからなければ全部チェックを入れてもOK)
  3. 左上にある「Run all selected optimisations」というオレンジのボタンをクリック

これで最適化がスタートします。

データベースの量にもよりますが、このくらい肥大したデータベースでもボタンをクリックしてからトータル10秒ほどで終わったので、時間はまったくかかりません。

投稿リビジョンとか「15,610」ですからね…(苦笑)

後は、「最適化」タブの隣にある「Tables」タブをクリックすると、以前使っていたプラグインによる無駄なファイルなんかも削除できるので、一緒にやると良いかもしれません。

まとめ

新品のパソコンに最適化が必要ないのと同じように、運営したばかりのWordPressサイトではこういった対策は必要ありません。

記事の更新頻度にもよりますが、運営歴が半年以下であれば必要ないかなと。

また、このプラグインは定期的にデータベースを最適化してくれますが、僕は必要最低限のプラグインしか入れたくないので、気が向いた時にインストールして最適化していく予定です。(そんなに頻繁に最適化したところで効果は出ないですからね)

運営歴が長いほど効果を実感できますので、まだ最適化していない方はこの機会にぜひ。

さらに高速化するには

データベースの最適化も効果的ですが、より効果的な対策は「レンダリングブロックの排除」や「インライン化」なので、まだ取り組んでいない方はぜひ一緒に試してみてください。


カテゴリー:プラグイン

シェフ

このサイト「Fantastech」を運営している人。WordPressテーマ「4536」の開発中にインプットした情報などを発信中。お仕事のご依頼については「Shinobi Works」までどうぞ