
Browser-Caching ist etwas feines. Webseiten, die man schon mal besucht hat muss der Browser nicht erneut herunterladen, sondern kann die auf der Festplatte gespeicherte Version nutzen. Die Seite lädt schneller. Dumm nur wenn man an seinem Blog rumschraubt und Scripte und Stylesheets ändert und sich das ganze dann im Browser anschauen möchte. Das klappt nicht!
Firefox und Chrome weigern sich beharrlich die Änderungen anzuzeigen. Erst nach Löschen des Caches sieht man das neue. Das liegt in meinem Fall zum Teil auch an der von mir genutzten .htaccess
. Frank Bültge hat vor ein paar Jahren auf GitHub etwas zu dem Thema veröffentlicht und ich habe es in meiner .htaccess
übernommen. Dort wird die „Lebensdauer“ von Dateien auf 1 Jahr festgelegt. Das macht sich jetzt bemerkbar.
.htaccess (engl. hypertext access) ist eine Konfigurationsdatei auf NCSA-kompatiblen Webservern wie Apache, in der verzeichnisbezogene Regeln aufgestellt werden können.
Wikipedia
Für mich selbst ist das nur ärgerlich. Für die Besucher meiner Seite eine Katastrophe. Ich denke mal viele werden meinen Blog nach solchen Änderungen verstümmelt gesehen haben. Ich habe jetzt mit Hilfe eines Code-Snippets von Tobias Scheible das Caching deaktiviert.
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Mon, 1 Jan 2010 01:00:00 GMT"
</ifModule>
Die Ladezeit dieses Blogs ist jetzt etwas größer. Dafür bekommt ihr die aktuelle, unverstümmelte Version angezeigt.
Foto: Pixabay
Häng doch einfach im Header noch eine Versionsnummer an die jeweilige css- oder js-Datei.
Also statt
http://www.deineseite.de/style.css
haust du in den CSS-Link
http://www.deineseite.de/style.css?v=1
Bei jeder Änderung der Nummer ist das für den Browser dann ersichtlich eine neue / andere Datei und es wird nicht auf die alte, gecachte Version zurückgegriffen. Vorteil dieser Methode: die neu versionierte Datei wird als neue Datei erkannt UND dann auch entsprechend wieder gecached. Besucher müssen die neue Datei nicht jedes Mal neu laden, sondern nur dann, wenn sich tatsächlich etwas geändert hat und du die Versionsnummer geändert hast.
Funktioniert genauso gut auch bei Javascript-Dateien.
Viele Grüße
Sascha
Geht das? Das wäre dann auch eine Möglichkeit. Jedenfalls kann es, wegen meiner vielen Bastelarbeiten, so wie vorher nicht bleiben.
Das funktioniert definitiv. Mach ich schon lange so. Probier es einfach mal aus.
Ich habe es getestet. Aber habe Probleme damit. Die
functions.php
des Parent-Themes ist so geschrieben dass sie das CSS des Child-Themes lädt. Auch gibt der Theme-Macher eine Versionsnummer mit. Die erhält logischerweise das CSS des Eltern-Themes. Ich lade perfunctions.php
des Child-Themes das CSS des Eltern-Themes. Im Netz gibts viele Ansätze das zu korrigieren. Keines funktioniert.