「静的なアセットと効率的なキャッシュ ポリシーの配信」とは?意味と改善方法を解説【PageSpeed Insights】

PageSpeed Insightsでウェブサイトを計測すると「静的なアセットと効率的なキャッシュ ポリシーの配信」という改善提案が表示されることがあります。聞き慣れない用語が並んでいて何をすればいいかわかりにくいですが、対処法はシンプルです。この記事では意味・原因・具体的な改善手順を解説します。

「静的なアセットと効率的なキャッシュ ポリシーの配信」とは

静的ファイル(画像・CSS・JavaScriptなど)に対してブラウザキャッシュの保存期間が短すぎる、または設定されていない場合に表示される改善提案です。

静的アセットとは

「静的アセット」とは、画像・フォント・CSS・JavaScriptファイルなど、サーバー上で内容が変わらないリソースのことです。PHPで動的に生成されるHTMLとは異なり、ファイル本体を更新しない限り常に同じデータが返ってきます。

キャッシュポリシーとは

キャッシュはブラウザが一度ダウンロードしたファイルを手元に保存しておく仕組みです。2回目以降の訪問時にサーバーへ再取得しなくて済むため、ページの表示が速くなります。「キャッシュポリシー」はそのキャッシュの保存期間と条件をサーバーが指定するルールです。期間が未設定だったり短すぎたりすると、毎回サーバーにリクエストが発生してページが遅くなります。

この警告が出る主な原因

  • サーバー設定(.htaccess)でCache-ControlやExpiresヘッダーが未設定
  • Google広告・Analytics・Googleフォントなど外部サービスが配信するファイルのキャッシュ期間が短い

自サイトのファイルが原因なら設定で改善できます。一方、Google系サービスなど外部ドメインのファイルはこちらで制御できないため、警告が残っても無視して問題ありません。

改善方法

方法① .htaccessにキャッシュ設定を追記する

WordPressをApache環境(エックスサーバーなど)で運用している場合、.htaccessに以下のコードを追記するとキャッシュ期間を設定できます。

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType image/jpeg "access plus 1 year"
  ExpiresByType image/png "access plus 1 year"
  ExpiresByType image/webp "access plus 1 year"
  ExpiresByType image/gif "access plus 1 year"
  ExpiresByType image/svg+xml "access plus 1 year"
  ExpiresByType text/css "access plus 1 month"
  ExpiresByType application/javascript "access plus 1 month"
  ExpiresByType application/x-javascript "access plus 1 month"
  ExpiresByType text/javascript "access plus 1 month"
  ExpiresByType font/woff2 "access plus 1 year"
  ExpiresByType font/woff "access plus 1 year"
</IfModule>

<IfModule mod_headers.c>
  <FilesMatch ".(jpg|jpeg|png|webp|gif|svg|ico|css|js|woff|woff2)$">
    Header set Cache-Control "public, max-age=31536000"
  </FilesMatch>
</IfModule>

画像・フォントは1年(31536000秒)、CSS・JavaScriptは1ヶ月が一般的な目安です。.htaccessの編集はサイト全体に影響するため、必ずバックアップを取ったうえで作業してください。

方法② キャッシュ系プラグインを使う

.htaccessを直接編集することに不安がある場合は、WordPressのキャッシュプラグインを使う方法が手軽です。「LiteSpeed Cache」「WP Super Cache」「W3 Total Cache」などが代表的で、管理画面から設定するだけでキャッシュ期間を自動的に調整し、.htaccessへの記述も自動で行われます。

方法③ 外部ドメインのファイルは無視してよい

Google広告・Googleアナリティクス・Googleフォントなど外部ドメインから読み込むファイルのキャッシュ期間はこちらで変更できません。警告対象ファイルのドメインが「google.com」「googleapis.com」「gstatic.com」などになっている場合はそのまま放置してOKです。自サイトのドメインのファイルだけ対処すれば十分です。

エックスサーバーを使っている場合の追加設定

エックスサーバーはApache環境なので.htaccessでのキャッシュ設定が有効です。サーバーパネルの「.htaccess編集」からも操作できますが、FTPで直接編集するほうが確実です。

さらにエックスサーバーには「Xアクセラレータ」という高速化オプションがあります。サーバーパネル→「高速化」→「Xアクセラレータ」から有効にすると、CSSや画像のキャッシュが自動的に最適化され、PageSpeed Insightsのスコア改善にも効果があります。

設定後の確認方法

設定後はブラウザのキャッシュをクリアしてから、PageSpeed Insightsで再診断してください。警告の「詳細を展開」から表示される対象ファイルのリストを確認し、自サイトのドメインのファイルが減っていれば対処できています。

外部ドメインのファイルが残っていても問題ありません。自サイト分のファイルが警告から消えれば、スコアの改善が期待できます。

まとめ

  • この警告は静的ファイルのキャッシュ保存期間が短いまたは未設定のときに出る
  • 自サイトのファイルは.htaccessの編集またはキャッシュプラグインで対処できる
  • Googleサービスなどのファイルはキャッシュをこちらでコントロールできないため無視してよい
  • エックスサーバーはXアクセラレータを使うと簡単に設定できる

この警告の対処だけでなく、画像の圧縮やJavaScriptの遅延読み込みなど複数の改善をあわせて行うことで、PageSpeed Insightsのスコアはより大きく改善されます。ひとつずつ着実に取り組んでいきましょう。

このテーマの関連記事はこちら