parudou
※現在リダイレクトにて新サイトへ移行中です
parudou
parudou
更新日:2018/10/17

重いワードプレスサイトを2倍軽くする!実践した方法を紹介(上級者向け)

ワードプレスは適当に使うと、重い。
粗悪なレンサバではすぐ503エラーになるので、軽さを目指すべし。
粗悪なスマホでもサクっと表示させるのだ。

今回は手持ちのサイトで一番重く感じるサイトを軽くしてみることにした。

※計測は「Query Monitor」というプラグインを使用
※5回測定した数値の平均値

スタート状態

<記事ページ>
ページ生成時間 0.195秒
クエリー時間 0.071秒
メモリ使用量 14.26MB

これはワードプレスとしてもやや重たい数値です。
重いと有名なプラグインの「All In One SEO Pack」を使用。
記事のランダム表示も2回やってます。
記事数は約1000なので、ランダム表示が特に重たい処理になる。

参考として、当サイトの数値を貼ります。

<当サイトの記事ページ>
ページ生成時間 0.071秒
クエリー時間 0.017秒
メモリ使用量 7.00MB

重さに影響あるプラグインは「All In One WP Security」のみ。
セキュリティだけはプラグインに頼るしかない。

1、リビジョンを削除してみる

ググると「リビジョン削除で軽くなる!」と書いてあることが多かった。
MySQLのクエリー的にそれはないだろうと思っていましたが、やってみる。
(リビジョンは記事の過去ログとして保存されるデータ。4000ほどあった)

実施後 前回
ページ生成時間 0.185秒 0.195秒
クエリー時間 0.067秒 0.071秒
メモリ使用量 14.26MB 14.26MB

・・・誤差の範囲かな。。
ほぼ変化無しと判断します。

他にも「オーバーヘッドを無くすと軽くなる!(最適化)」と書いているサイトもありましたが、
そもそもオーバーヘッドが全く無いので、実践不可。

したがって、データベースをいじって軽くすることは難しいという結論に。

2、ランダム表示をキャッシュする

ランダム表示は「全記事」と「指定したカテゴリー」の二つをやっていました。
このうち、「全記事」のみをキャッシュ化します。

実施後 前回
ページ生成時間 0.095秒 0.185秒
クエリー時間 0.021秒 0.067秒
メモリ使用量 13.65MB 14.26MB

さすがにキャッシュをすると軽くなります。
これにて2倍以上軽くなりました。
カテゴリの方もキャッシュ化すると、もう少し軽くできる。

※やり方はこちらの記事参照

関連記事
ワードプレスのランダム表示の負荷を軽くする方法(キャッシュとか) ワードプレスのクエリーで重たい処理といえば「記事のランダム表示」。 「ORDER BY RAND」のクエリーはとにかく重い。 軽くするコツを2つ紹介します コツ1:ランダ

速度は十分なのですが、メモリ使用量が多すぎる。
もっと少なくするためには、プラグイン削除か。

3、All In One SEO Packを削除

利用していた機能は、タイトルの書き換え、カノニカル、noindexの3つ。
こんなもの、わざわざプラグインを使う必要はないのですが、手抜き。
したがって、手動で設定して削除した。

実施後 前回
ページ生成時間 0.085秒 0.095秒
クエリー時間 0.021秒 0.021秒
メモリ使用量 11.52MB 13.65MB

うん、なぜかこのプラグインはメモリを多く使っています。
2MBの削減は大きいので、できる限りは使わないのが良いだろう。

その他、サイトマップ作成プラグインなどいろいろ削除しましたが、ほぼ変わらず。
これにて検証打ち切り。

結果

結果 最初 減少率
ページ生成時間 0.085秒 0.195秒 56.5%
クエリー時間 0.021秒 0.071秒 70.4%
メモリ使用量 11.52MB 14.26MB 10.9%

2倍の高速化を達成!
ほぼランダム表示が原因ですが…

ちなみに、クエリー数は123個から39個になっています。
もう一つのランダム表示を減らせばあと10個くらい減るはず。

体感的にも表示がとても早くなったと感じます。
これ以上は求めないレベルに。

ランダム表示をされている方は是非キャッシュ化をしてみてください!

関連記事
ワードプレスのランダム表示の負荷を軽くする方法(キャッシュとか) ワードプレスのクエリーで重たい処理といえば「記事のランダム表示」。 「ORDER BY RAND」のクエリーはとにかく重い。 軽くするコツを2つ紹介します コツ1:ランダ

もちろん、ページ全体をキャッシュするのが一番ですが…

追記

気になるので、「現在のカテゴリの記事ランダム表示」を削除してみた。
結果は次の通り。

実施後 前回
ページ生成時間 0.064秒 0.085秒
クエリー時間 0.008秒 0.021秒
メモリ使用量 11.47MB 11.52MB

ランダム表示を全て無くすだけで、この速さ。
「WP_Query」を一切使わないと、とても軽いです。
クエリー数も22になった。

本当に速さを極める場合、全てキャッシュ化するのが良いだろう。
そこまでやるのならやはり、Nginxでページごとキャッシュしますが…

以上、「重いワードプレスサイトを2倍軽くする!実践した方法を紹介(上級者向け)」でした。

是非ご感想・ご指摘等をください。

プロフィール

管理人:parudou
単なるWEBサイト作成マニアです。
底辺法人アフィリエイター。
パルどうSEOブログ
パルどう.com マガジン

閲覧履歴
履歴なし
カテゴリー
Copyright (c) parudou All Rights Reserved.