消極的なWordPress向けのCloudFrontキャッシュ設定
個人情報流出の過去事例による悪印象
設定ミスで個人情報を含むページをキャッシュして、意図しないユーザーにレスポンス
その他、無限にある
本体やテーマ、プラグインを更新したときに障害が起きるんじゃないかという不安
過去によかれと思って導入した"最適化プラグイン"のキャッシュの挙動で痛い目にあっている
エンドユーザーのブラウザキャッシュなども含めると、もはや非エンジニアには制御不可能
というわけで、最低限の静的ファイルだけキャッシュさせてくださいという提案をすることを考える
table: cache
優先順位 パスパターン キャッシュポリシー名 オリジンリクエストポリシー名
0 /wp-content/* CachingOptimized-QueryStrings Managed-AllViewer
1 /wp-includes/* CachingOptimized-QueryStrings Managed-AllViewer
2 デフォルト(*) Managed-CachingDisabled Managed-AllViewer
/wp-content/*と/wp-includes/*は静的ファイルに対するリクエストなのでキャッシュ
ファイルの種類
画像、js、cssなど
キャッシュポリシー
CachingOptimized-QueryStrings
自分で作ったカスタムポリシー
CachingOptimized + キャッシュキーにクエリ文字列を含める
WordPressでは慣習的に、更新される可能性のある静的ファイルにはクエリ文字列でバージョンを付与する 例)style.css?ver=6.5.5
本体やテーマ、プラグインを更新するとクエリ文字列で指定するバージョンが変わるので、キャッシュが破棄されて新しいファイルがレスポンスされる
マネージドキャッシュポリシーのCachingOptimizedは一見よさそうだが、クエリ文字列をキャッシュキーに含めないのでダメ
本体やテーマ、プラグインを更新したとき、PHPの処理は新しいのに古い静的ファイルが読み込まれて障害の原因になる
それ以外はキャッシュしない
攻めた設定で情報流出するぐらいだったら、負荷を見ながら適宜設定するほうがいい