結論から言えば、動的ページのキャッシュは可能です。

Cloudflareは、静的か動的かを区別してキャッシュする・しないという動作はありません。
またデフォルトではHTMLはキャッシュしませんが、キャッシュするように指定をすることはできます。

しかし、動的なページではほとんどの場合、何らかの問題が発生します。

Cloudflareのキャッシュの挙動

Cloudflareは、URL単位でコンテンツをキャッシュします。

デフォルトでキャッシュするのは、画像などの静的なファイルのみです。
キャッシュする拡張子はこちら

▽デフォルトではキャッシュしない例(HTMLなど)
https://www.domore.co.jp/

▽デフォルトではキャッシュする例(HTMLが読み込んでいる画像)
https://www.domore.co.jp/images/top.jpg

CloudflareはデフォルトではHTMLをキャッシュしないので、キャッシュするようにしたい場合は、Cloudflareの設定を追加する必要があります。

それでは、なぜ動的なページでは問題が発生するのでしょうか?

動的なページをキャッシュすることで起きる問題

動的ページとは、ページに表示する情報がなんらかの条件によって変化するページです。

動的ページの例

①自分の名前や購入履歴など、個人に合わせた情報が表示されるページ

②商品の在庫数が表示されるページ

③CMSに管理者ログインした状態で画面上に黒いバー(管理バー)が出てくるページ

このような表示上の処理はCloudflareがキャッシュするときに失われます。

たとえば①の場合、Aさんのアクセス時にキャッシュすると、次にBさんがアクセスしたときにBさんの名前が表示されている状態になります。

動的なページというのはこのように状況によって表示を変えるため、そもそもキャッシュに不向きであると言えます。
ただし、動的なページであっても、読み込んでいる画像はキャッシュしますので、Cloudflareの画像最適化による高速化は発揮します。

また、静的なページであればキャッシュは可能です。
Cache EverythingやCache Rulesで調整を行うことでHTMLもキャッシュ可能ですが、やや高度な設計が必要です。

Web表示スピード改善・セキュリティ対策のCloudflare

導入に関するご相談だけでなく、運用についてもお気軽にご相談ください。
DDoS攻撃対策を早急に行いたい方、WAFなどのセキュリティ機能やプランの詳細を知りたい方、
国内エンジニアによる運用サポートをご希望の方も、ぜひお問い合わせください。