cloudflareでwordpressを高速化する
cloudflareというCDNサービスを使用してみました。このサイトは、wordpressというcmsを使用して作っています。そして、google site kitというプラグインを併せて使用しています。このgoogle site kitはサイトの読み込みにどの程度の時間を要したかを測定してくれます。このサイトは、google的には読み込みに時間がかかるようです。そのため、poorとかneeds improvementという警告が表示されます。
キャッシュを導入してみました
読み込み速度を改善するために、キャッシュや部分的なCDNも試してみました。そもそも、wordpressは、投稿データをデータベースに格納します。そして、参照の都度データベースからデータを読みこんで、ページを組み立てます。ですから、読み込みの都度ページを作るので、時間がかかるわけです。キャッシュはあらかじめページを作っておく仕組みです。
キャッシュにも欠点はあって、ページの組み立ての時間は節約できます。しかし、回線速度を速くするわけではありません。そのうえ、組み立て済のページを保持するため、サーバーのストレージも消費します。
そこで、出てくるのがCDNです。画像や動画などは、あらかじめ太い回線につながれた別サーバにコピーしておきます。そして、画像のリンク先をCDNのサーバーに書き換えておきます。すると、画像の読み込みが速くなります。
キャッシュの効果はそれほどでもなかった
実際に、hummingbirdを導入し、サーバー内にキャッシュを作ってみましたが、わずかな効果でした。また、jetpackを使用して、wordpress.comを画像のCDNサーバーとして使用してみました。しかし、効果はいま一つでした。
cloudflare登場
cloudflareはCDNサービスです。最初の参照で大元のサーバーからデータを引き出し、キャッシュします。そして、二度目以降はcloudflareに保管されたデータを送信します。つまり、大元のサーバーへのアクセスは最初の一回だけです。しかし、実際には大元のサーバーの更新状況をチェックします。したがって、二度目以降の参照でもわずかなトラフィックは発生します。
cloudeflareの導入には勇気が必要
cloudflareを導入するにはいくつかのやり方があるようです。しかし、無料での使用となるとできることは限られます。DNSごとcloudflareに預ける形になります。これは、結構勇気がいります。万一間違って登録すれば、アクセス不能となる可能性もあります。また、cloudflareの動作が怪しくなっても同じくです。また、DNSの伝搬が終わるまでは、アクセスは不安定になります。
![DNSをcloudflareに移管する必要があります。間違ったとしてもレジストラの設定を戻せばいいので、取り返しがつかなくなることはありません。ですが、DNSの移管ミスは発覚に時間がかかるので要注意です。](https://i0.wp.com/pooq.biz/wordpress/wp-content/uploads/2022/12/スクリーンショット_20221222_144011-644x358.png?resize=644%2C358&ssl=1)
cloudflareの動作がおかしい(備忘録)
DNSの移管は完了しました。しかし、数時間経ってDNSの伝搬が終わったと思われたころに事件が起きました。サイトへのアクセスができなくなりました。原因をたどっていくと、cloudflare側のDNSレコードに誤りがあることがわかりました。cloudflareのDNSレコードは、大元のDNSから自動的に引き継がれまず。しかし、ドメインルートpooq.bizが、cnameレコードに入っていました。同じく、www.pooq.bizもcnameレコードに入っていました。本来、pooq.bizはAレコードに入っていなければなりません。そして、www.pooq.bizをcnameで定義するのではなく、wwwを定義すべきです。つまり、”@ A TTL IP_ADDRESS”と”www. cname TTL pooq.biz”と書くべきです。
なぜ、cloudeflareがこのような誤った設定をしたのかは不明です。しかし、cnameレコードを二つ削除し、Aレコードとcnameレコードを追加して解消です。
![DNSのレコード設定は、cloudflareが自動的にやってくれます。でも、鵜呑みは禁物です。必ず確認しましょう。](https://i0.wp.com/pooq.biz/wordpress/wp-content/uploads/2022/12/スクリーンショット_20221222_170158-644x351.png?resize=644%2C351&ssl=1)
cloudflare導入の効果は?
まずは、google site kitの計測結果を見てみましょう。
![PCでの読み込み速度については、Largest contentful paintが極端に遅いようです。](https://i0.wp.com/pooq.biz/wordpress/wp-content/uploads/2022/12/スクリーンショット_20221222_150028-644x298.png?resize=644%2C298&ssl=1)
Total Blocking Timeはかなり良い数値です。そして、Cumlative Layout Shiftも優秀な数値です。しかし、Largest Contentful Paintが飛びぬけて悪い数値です。これは、恐らく十分なキャッシュがまだできていないためと思われます。したがって、しばらく様子を見たいと思います。
では、スマホを対象とした結果を見てみましょう。
![スマホを対象とした読み込み速度はひどい値です。全然だめです。](https://i0.wp.com/pooq.biz/wordpress/wp-content/uploads/2022/12/スクリーンショット_20221222_150123-644x299.png?resize=644%2C299&ssl=1)
ひどい値です。これは、cloudflare導入前とあまり変わりません。CDN導入でも効果が無いということは、使用しているテーマに問題がありそうです。PC向けとは別に、スマホ向けのテーマを導入すべきでしょう。
ちなみに、cloudflareでの統計情報はこんな感じです。
![cloudflareを通過したデータ量を見てみました。](https://i0.wp.com/pooq.biz/wordpress/wp-content/uploads/2022/12/スクリーンショット_20221222_163814-644x416.png?resize=644%2C416&ssl=1)
データ量はトータルで159,24MBでした、そのうち、キャッシュにヒットしたのは15.21MBです。またまだ、キャッシュが十分にできていないようです。したがって、まだcloudflareは十分に力を発揮できていない状況です。しばらく様子を見たいと思います。