Google Pagespeedは、キャッシュがすでに有効になっている場合にブラウザのキャッシュを利用するように指示します


8

Google Pagespeed Insightsはまだブラウザのキャッシュを有効にする必要があると教えてくれますが、何が欠けているのかわかりません。最適化を有効にしてcloudflareを使用しています。私はこのHTTPヘッダーをChrome開発者ツールに表示します:

cache-control:public、max-age = 86400

キャッシングはすでに有効になっているようです!私も追加しました

<staticContent>
    <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>

私のweb.configファイルで。

他に何をすべきか分かりません。ここにGoogleが私に与えるエラーがあります:

ここに画像の説明を入力してください


2
そのルールに合格するためには、有効期限までに最大8日かかる必要があります。
dhaupin

回答:


6

24時間はキャッシュ制御としては十分ではありません:)理論的には、画像も名前が変更されない限り変更されないため、簡単に1年(または、より快適であれば1か月)に設定できます。

画像を新しい画像に置き換えると、新しい名前が付けられます。picture-of-cat-on-18th-birthday.jpg突然同じファイル名を持つ別の画像になることはありません。このため、ファイル名はその内容にいくらか固有でなければなりません。

CSSやJSなどの他のタイプのリソースについては、別の戦術を選択することをお勧めします。(多くの場合)変更するファイルがあり、まったく/ほとんど変更しない場合は、それらのキャッシュの長さを分割します。

  • 変化しない->非常に長いキャッシュ
  • 変更->低キャッシュ

これは不可能です。両方を実行することも、何も実行しないこともできます。.htaccessはファイルタイプを参照します。
このため、それを長いキャッシュに設定し、Postfixを使用して、変更があった場合に新しいダウンロードを強制します。

<script src="static.js" />  
<script src="changing.js?last_update=150422" />

この方法では、ユーザーが実際に変更を加えた場合にのみ、ユーザーはそれを再ダウンロードする必要があります。
この手法はすべてのリソースで機能します。常に最高のキャッシュ期間を目指します。


ありがとうございました!問題を解決しました。ええ、それは短すぎたので、すべてを8日間にしたので、もうメッセージはありません。問題はウィジェットです!purechatとkudobuzz、facebookプラグイン、google +など。彼らは私のサイトを遅くし、うまくキャッシュしていません...
euge9522


srcにクエリ文字列のタイムスタンプを付ける限り、CSSファイルとJSファイルに巨大なキャッシュを設定できます。これは、で動的に実行できますfilemtime()。次に、ファイルが変更されると、新しいURIが作成され、キャッシュやものをクリアせずにアセットを強制的に再取得します。画像などでも同じことができます。そして、私はGoogleがページスピードを渡すために最低8日のようなもののキャッシュ時間を好むと思います。
ダウピン2015

4

前の回答では、24時間では不十分であることがわかりました。しかし、Googleドキュメントに探して:https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#defining-optimal-cache-control-policyそれは画像が1のためにキャッシュされることを言います最適なキャッシングの日。

SEOを向上させるには、画像をフィンガープリントしない方がよいため、画像を短時間キャッシュすることには意味があります。したがって、イメージを変更する場合は、適切なトレードオフになります。

また、24時間後に画像が再度読み込まれる(キャッシュ制御を1日に設定した場合)と、e-tagを使用してサーバーのラウンドトリップと再キャッシュを行い、画像を比較します。

それで、なぜpagespeed洞察ツールがGoogle自身の推奨を尊重しないのかという疑問が残ります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.