WordPress Caching im Jahr 2019

10. Oktober 2019
2 Minuten Lesezeit

2019 – Seit WordPress mit dem Gutenberg Editor ausgestattet wurde, gibt es in regelmäßigen Abständen immer neue Möglichkeiten für User und Entwickler. Ich hatte nach der großen DSGVO-Verordnung lang nichts mehr bei WordPress an Plugins und den theme-functions verändert. Es war also mal wieder Zeit, ein bisschen auszumisten.

Nicht nur beim Theme war noch nicht komplett in das Deutsche übersetzt worden, es war auch mal wieder Zeit meinen Google PageSpeed Score zu optimieren. Meine Datenbank optimierte ich mit WP-Optimize. Die CSS & JS Dateien verkleinerte ich mit Autoptimize, was sich auch nicht geändert hat. Bald wird hier nämlich font-display auf swap verstellbar sein, was sich zusätzlich sehr positiv auf einen PageSpeed Score auswirken wird. Mein Cache Plugin war immer Cachify. Ein Plugin was für seine minimalistische Auswahl der Einstellungen, gut bis sehr gut arbeitete. Selbst auf einem Shared-Hosting Server von All-Inkl. Nachdem aber ein paar Jahre ins Land gegangen sind und neben W3 Total Cache und WP Fastest Cache viele neue Plugins ziemlich schnell gut geworden sind entschied ich mich für WP Rocket.

Alles in einem Plugin

Das ist WP Rocket aber leider für 49$ im Jahr. Jeder sollte in sich gehen und wirklich überlegen ob das Plugin das Geld wert ist. Mir war es das, weil ich dadurch zwei Plugins rausschmeißen konnte und es das beste Cache Plugin auf dem Markt ist. Die Einstellungsmöglichkeiten sind übersichtlich gestaltet und werden ausreichend dokumentiert, der Support soll angeblich schnell und zuverlässig sein.

Es gibt noch mehr zutun

Danach war mein Google PageSpeed Score Mobil bei 70 und in der Desktop Variante mal bei 96. Statify, das Datenschutz Konforme Statistik Plugin nahm über eine Sekunde an Zugriffszeit und flog direkt raus. Google Analytics benutzte ich auch nicht mehr. Fahre mit Jetpack Stats und einem zusätzlichen Absatz in der Datenschutzerklärung ziemlich gut. Ein paar Tricks habe ich auf anderen Blog noch gefunden. In der .htaccess Datei ergänzte ich also noch folgende Zeilen für die gzip-Komprimierung:

<IfModule mod_expires.c>
      ExpiresActive On
      ExpiresDefault "access plus 1 days"
      ExpiresByType text/html "access plus 5 minutes"
      ExpiresByType text/xml "access plus 6 hours"
      ExpiresByType text/css "access plus 1 weeks"
      ExpiresByType text/javascript "access plus 1 weeks"
      ExpiresByType application/javascript "access plus 1 weeks"
      ExpiresByType application/x-javascript "access plus 1 weeks"
      ExpiresByType text/ecmascript "access plus 1 weeks"
      ExpiresByType image/gif "access plus 1 years"
      ExpiresByType image/png "access plus 1 years"
      ExpiresByType image/jpeg "access plus 1 years"
      ExpiresByType image/ico "access plus 1 years"
      ExpiresByType image/icon "access plus 1 years"
      ExpiresByType image/x-icon "access plus 1 years"
      ExpiresByType video/x-flv "access plus 1 years"
      ExpiresByType video/quicktime "access plus 1 years"
      ExpiresByType application/x-shockwave-flash "access plus 1 years"
      ExpiresByType application/pdf "access plus 1 years"
    </IfModule>

    # gzip Compression if availiable
AddEncoding gzip .gzip
<IfModule mod_deflate.c>
 AddOutputFilterByType DEFLATE text/plain
 AddOutputFilterByType DEFLATE text/html
 AddOutputFilterByType DEFLATE text/xml
 AddOutputFilterByType DEFLATE text/css
 AddOutputFilterByType DEFLATE text/javascript
 AddOutputFilterByType DEFLATE application/xml
 AddOutputFilterByType DEFLATE application/xhtml+xml
 AddOutputFilterByType DEFLATE application/rss+xml
 AddOutputFilterByType DEFLATE application/javascript
 AddOutputFilterByType DEFLATE application/x-javascript
 AddOutputFilterByType DEFLATE application/x-shockwave-flash
</IfModule>

Danach noch kam noch eine Anpassung in der wp-config.php, die ich erstmal als logisch sah aber im Auge behalten werde. Es wird empfholen den Cronjob unter WordPress zu deaktivieren und diesen beim Hoster einzutragen und auszuführen. Also folgende Zeile ergänzen:

define('DISABLE_WP_CRON', true);

Und dann einen Cronjob auf 15 Minuten auf https://www.Blog-Adresse.de/wp-cron.php setzen. In der Theorie soll der Cronjob bei Seitenaufrufen nicht mehr ausgeführt werden, sondern vom Server selber, was zu schnelleren Zugriffszeiten resultieren soll. Nun habe ich einen Mobilen PageSpeed Score von 94 und beim Desktop-Test 100 Punkte. Mit einem schlankeren Theme würde man es auch mit weniger Aufwand schaffen aber ich wollte bei meinem Theme bleiben.

Nils Hünerfürst

Männlich - 1991 geboren - Mediengestalter für Bild und Ton - und Hünerfürst ist mein Nachname.

1 Comment Schreibe einen Kommentar

Schreibe einen Kommentar

Your email address will not be published.

Über Hünerfürst.de

Einer der bekanntesten deutschen Netzkultur Blogs seit 2009. Nils Hünerfürst und seine Familie schreiben hier auf Hünerfürst.de über Technik, Kultur, Essen und Videospiele.

Über den Autor

Nils Hünerfürst

Männlich - 1991 geboren - Mediengestalter für Bild und Ton - und Hünerfürst ist mein Nachname.