「静的なアセットと効率的なキャッシュ ポリシーの配信」とは?改善方法も解説

PageSpeed Insightsで「静的なアセットと効率的なキャッシュ ポリシーの配信」という警告が出て、何をどう直せばいいか迷っていませんか?

この記事では、この警告の意味と原因、そしてWordPressやエックスサーバーで実際に対処する方法をわかりやすく解説します。

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

「静的なアセットと効率的なキャッシュ ポリシーの配信」とは、PageSpeed Insightsが表示する改善提案のひとつです。画像・CSS・JavaScriptといった静的ファイルに対して、ブラウザキャッシュの保存期間が短すぎる(または設定されていない)ときに表示されます。

静的アセットとは

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

キャッシュ ポリシーとは

キャッシュとは、一度ダウンロードしたファイルをブラウザ側に一時保存しておく仕組みです。次回以降の訪問時にサーバーから再取得せず、保存済みのファイルを使うことでページの読み込みを速くします。

「キャッシュ ポリシー」はそのキャッシュの保存期間や条件をサーバーが指定するルールです。保存期間が設定されていなかったり短すぎたりすると、ブラウザは毎回サーバーにリクエストを送るため、ページ表示が遅くなります。

この警告が出る原因

主な原因は次の2つです。

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

自分のサーバー上のファイルが原因であれば設定で改善できます。一方、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のキャッシュプラグインを使う方法もあります。「WP Super Cache」「W3 Total Cache」「LiteSpeed Cache」などが代表的です。これらのプラグインはキャッシュ設定を管理画面から操作でき、.htaccessへの記述も自動で行ってくれます。

方法③:外部ファイルの警告は無視してよい

Google広告(AdSense)・Google Analytics・Googleフォントなど、外部ドメインから読み込まれるファイルはキャッシュ期間をこちらで変更できません。PageSpeed Insightsで「google.com」「googleapis.com」などのドメインが警告対象になっている場合は、そのまま放置して問題ありません。スコア改善に集中するなら、自サイトのドメインのファイルを優先してください。

エックスサーバーでの設定方法

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

また、エックスサーバーには「高速化設定」としてブラウザキャッシュを有効にするオプションがサーバーパネルに用意されています。サーバーパネル →「高速化」→「Xアクセラレータ」から設定すると、CSSや画像のキャッシュが自動的に最適化されます。

WordPressサイトのパフォーマンス改善にはサーバー環境も重要です。表示速度を本格的に改善したい方は、高速なサーバーへの移行も選択肢のひとつです。

設定後の確認方法

設定後はブラウザのキャッシュをクリアしてから、再度PageSpeed Insightsで診断してください。対象ファイルのキャッシュ期間が延びていれば、警告の対象から外れてスコアが改善されます。

改善したかどうかはPageSpeed Insightsの「詳細を展開」から対象ファイルのリストを確認し、自サイトのドメインのファイルが減っているかどうかで判断できます。

まとめ

  • 「静的なアセットと効率的なキャッシュ ポリシーの配信」は、ファイルのキャッシュ保存期間が短いまたは未設定のときに出る警告
  • 自サイトのファイルは.htaccessまたはキャッシュプラグインで対処できる
  • Googleサービスなど外部ドメインのファイルは無視してよい
  • エックスサーバーはXアクセラレータを活用すると設定が簡単

PageSpeed Insightsのスコアを上げるには、この警告への対処だけでなく、画像の最適化やJavaScriptの遅延読み込みなど複数の改善を組み合わせることが重要です。一つひとつ対処して、快適なページ表示を目指しましょう。

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