WordPressのキャッシュさせるべきページを改めて設定する

1 min read

こんにちは、無能です。

今まで管理画面とか本当に駄目なやつ以外は全てキャッシュさせていたのですが、maoちゃんにコメントもらった時に反映されないじゃないか!!!という問題があり、改めることにしました。

以下がnginxの設定です。

set $do_not_cache 0;
set $skip_reason "";
set $bypass 0;

# 静的コンテンツのみキャッシュする
if ($request_uri ~* "\.(jpg|jpeg|png|webp|gif|mp4|css|js|ico|woff2)$")  {
    set $do_not_cache 0;
}
 
if ($remote_addr ~ "^(127.0.0.1)$") {
 set $bypass $http_secret_header;
}
 
if ($http_cookie ~* "comment_author_|wordpress_(?!test_cookie)|wp-postpass_" ) {
 set $do_not_cache 1;
 set $skip_reason Cookie; 
}
 
if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml") {
 set $skip_cache 1;
 set $skip_reason URI; 
}

赤字が追加させた部分です。
これにより静的コンテンツのみキャッシュされる為にコメント等は除外されキャッシュが保持されます。

体感速度はこの構文追加する前と変わらないくらい早いので、ちゃんと設定したほうがいいですね。

おわり。