Google Pagespeed fordert mich auf, das Browser-Caching zu nutzen, wenn das Caching bereits aktiviert ist


8

Google Pagespeed Insights sagt mir immer noch, dass ich das Browser-Caching aktivieren muss, aber ich verstehe nicht, was mir fehlt. Ich verwende Cloudflare mit aktivierten Optimierungen. Ich sehe diesen HTTP-Header in Chrome-Entwicklertools:

Cache-Kontrolle: öffentlich, maximales Alter = 86400

Caching scheint also bereits aktiviert zu sein! Ich habe auch hinzugefügt

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

in meiner web.config Datei.

Ich weiß nicht, was ich sonst tun soll. Hier ist der Fehler, den Google mir gibt:

Geben Sie hier die Bildbeschreibung ein


2
Sie müssen ~ 8 Tage für den Ablauf tun, um diese Regel zu erfüllen.
Dhaupin

Antworten:


6

24 Stunden sind zu wenig, um als Cache-Kontrolle zu genügen :) Theoretisch ändern sich Bilder nie, ohne dass sich auch ihr Name ändert. Sie können dies also einfach auf ein Jahr (oder einen Monat, wenn Sie sich damit wohler fühlen) einstellen.

Wenn Sie ein Bild durch ein neues Bild ersetzen, hat es einen neuen Namen. picture-of-cat-on-18th-birthday.jpgwird nicht plötzlich ein anderes Bild mit dem gleichen Dateinamen sein. Aus diesem Grund sollten Dateinamen inhaltlich etwas spezifisch sein.

Für andere Arten von Ressourcen wie CSS und JS möchten Sie möglicherweise eine andere Taktik wählen. Sie haben (oft) wechselnde Dateien und möchten sich nie / kaum ändern. Sie möchten die Caching-Länge aufteilen:

  • nie ändern -> sehr langer Cache
  • Ändern -> niedriger Cache

Dies ist nicht machbar. Sie können beide oder keine ausführen. Bei .htaccess wird ein Dateityp angezeigt.
Aus diesem Grund setzen Sie es auf den langen Cache und verwenden ein Postfix, um einen neuen Download zu erzwingen, wenn sich dies ändert:

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

Auf diese Weise muss der Benutzer es nur erneut herunterladen, wenn Sie tatsächlich eine Änderung vorgenommen haben.
Diese Technik funktioniert auf allen Ressourcen. Streben Sie immer die höchste Caching-Dauer an.


Vielen Dank! Problem gelöst. Ja, es war zu kurz, hat alles auf 8 Tage geputtet, damit ich keine Nachricht mehr bekomme. Problem sind die Widgets! Dinge wie Purechat und Kudobuzz, Facebook Plugin und Google +. Sie verlangsamen meine Website und werden nicht gut zwischengespeichert ...
euge9522

connect.facebook.net/en_US/all.js (20 Minuten) connect.facebook.net/it_IT/sdk.js (20 Minuten) apis.google.com/js/api.js (30 Minuten) oauth.googleusercontent.com … E: rpc: shindig.random: shindig.sha1.js? C = 2 (60 Minuten) google-analytics.com/analytics.js (2 Stunden)
euge9522

Sie können einen riesigen Cache für CSS- und JS-Dateien festlegen, solange Sie den Zeitstempel des src abfragen ... was Sie dynamisch tun können filemtime(). Wenn die Datei geändert wird, wird eine neue URL erstellt, die den erneuten Erwerb des Assets erzwingt, ohne Caches und andere Dinge zu löschen. Kann das gleiche mit Bildern machen oder was auch immer. Und ich denke, Google mag eine Cache-Zeit von mindestens 8 Tagen, um die Seitengeschwindigkeit zu überschreiten.
Dhaupin

4

Ich sehe, dass die vorherige Antwort besagt, dass 24 Stunden nicht genug sind. Wenn Sie sich jedoch das Google-Dokument ansehen : https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching#defining-optimal-cache-control-policy , heißt es, dass die Bilder für 1 zwischengespeichert werden Tag für optimales Caching.

Das Zwischenspeichern von Bildern für kurze Zeit ist sinnvoll, da es zur Verbesserung der Suchmaschinenoptimierung besser ist, die Bilder nicht mit einem Fingerabdruck zu versehen. Es ist also ein guter Kompromiss, wenn Sie das Bild ändern möchten.

Auch nicht, dass nach 24 Stunden Bilder erneut geladen werden (wenn Sie das Cache-Steuerelement auf 1 Tag einstellen), verwendet es dann das E-Tag und vergleicht die Bilder, indem es einen Server-Roundtrip durchführt und erneut speichert.

Es bleibt also die Frage, warum das Pagespeed Insight Tool die Empfehlung von Google nicht berücksichtigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.