HTACCESSのキャッシュ期間設定がGoogleページスピードテストの「効率的なキャッシュ保存期間を使用する」が効かない理由はワードプレスが各JSやCSSに付与する?ver=が原因となっている可能性があります。
キャッシュの保持期間をHTACCESSファイルに設定する
サイトの閲覧者がブラウザーにサイトのデータを一定期間キャッシュするその期間をHTACCESSファイルに記載して設定することが可能です。
<IfModule mod_expires.c> ExpiresActive On ExpiresByType text/css "access plus 1 year" ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/webp "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" ExpiresByType application/x-font-woff "access plus 1 year" ExpiresByType application/x-font-woff2 "access plus 1 year" </IfModule>
しかしこの記載を行っても、Googleページスピードテストで認識されない場合がございます。
この理由はワードプレスが?ver=という各CSSやJSのバージョン情報を付与するからで、このバージョン情報を出力しないようにすることでちゃんとGoogleページスピードテストで認識されるようになる場合がございます。
このバージョン情報は、脆弱性のあるプラグインの存在をハッカーに露見することもあり、WPドクターでは特別な理由がない限りセキュリティー上も出力しないようにすることをお勧めいたします。
テーマのfunctions.phpに記載
function remove_css_js_ver( $src ) { if ( strpos( $src, '?ver=' ) ) { $src = remove_query_arg( 'ver', $src ); } return $src; } add_filter( 'style_loader_src', 'remove_css_js_ver', 10, 1 ); add_filter( 'script_loader_src', 'remove_css_js_ver', 10, 1 );
ご参考になりましたら幸いです。
WordPress ワードプレスのコーディングや修正などのタスクを何でも依頼できます。WPドクターまでお気軽にご依頼・ご相談お送りください