WordPressのページをCloudflareのCDNでキャッシュしてみる

このWordpressのサイトはスペックが低い格安VPSで動作しているためか、かなり重いので、CloudflareのCDNでキャッシュを有効活用しよう、と思い立ちました。

できるだけ手間かけずにやるため、最初にCloudflareというプラグインを試してみました。過去の記事で書いたように、もともと、Cloudflare Tunnel経由でアクセスするように設定していましたので、プラグインをインストールして有効化し、「Optimize Cloudflare for wordpress」のみをApplyする、という手順だけを行いました。「Automatic Platform Optimization for WordPress」は購入しないとダメそうだったので、こちらのボタンは押していません。

試しにトップページに何回かアクセスしてみたのですが効果を感じなかったため、サーバログをチェックしてみたところ、毎回アクセスが来ており、少なくとも全部はキャッシュされていないことがわかりました。こちらのページを参考に、このサイトのトップページ(PHP)のレスポンスヘッダを調べてみたところ、cf-edge-cacheには「cache, platform=wordpress」がセットされているのですが、cf-apo-viaがありませんでした。また、cf-cache-statusは「HIT」ではなく「DYNAMIC」になってました。PHPで生成したページもキャッシュされるのかと思っていたのですが、されないようです。もしかすると、「Automatic Platform Optimization for WordPress」という有料のオプション(Free Planの場合は毎月5ドル)を有効にしないとキャッシュされないのかもしれないです。気になったので調べてみたところ、「Optimize Cloudflare for wordpress」はこのページの設定を行うそうです。

仕方がないのでこちらを参考に、Cloudflareのダッシュボードで直接キャッシュの設定を行ったところ、ようやくPHPが返すページも含めてキャッシュされるようになりました。ただ、この設定だとページを更新してもパージしない限り、CDNのキャッシュが表示されてしまうので、すぐに記事を訂正したいような場合は気を付ける必要がありそうです。あと、この設定だと、管理ユーザーでログインしたままページを閲覧すると、管理ツールバーも含めてキャッシュされてしまいセキュリティ的にはよろしくないので、こちらの方法で記事を閲覧しているときには管理ツールバーを表示しないようにした方がよさそうです。

Comments

Copied title and URL