Website Cache automatisch aufbauen lassen

Lesezeit: ca. 2 Minuten

Wie viele User mag ich performant laufende Websites. Daher nutze ich bei mir ein Cache Plugin (Cache Enabler), um die einzelnen Webpages auf meiner Website zu cachen.

Das funktioniert so, dass bei jedem erstmaligen Aufruf einer Webpage diese komplett gerendert und zusätzlich komprimiert wird. Der nächste Besucher erhält dann die fertige, komprimierte Version. Hierbei braucht WordPress die Webpage dann gar nicht mehr zu rendern, sondern liefert direkt die fertige Version aus dem Cache. Das spart enorm Bandbreite und Zeit.

Wenn sich auf der Website etwas ändert, wird der Cache gelöscht und baut sich nach und nach wieder auf. Eben jedes mal, wenn jemand eine bestimmte Webpage aufruft.

Der Nutzer, der das erste mal auf eine Seite zugreift, profitiert aber nicht von der schnellen Auslieferung, weswegen ich mir ein kleines Skript geschrieben habe, um den Aufbau des Website Cache zu automatisieren.

#!/bin/bash
### Cache Rebuild Script by Torsten Meyer
### knodderdachs.de

clear
wget https://knodderdachs.de -r -nd --delete-after -A htm,html -X /wp-json/,/author/ -nv -w 1

### End

Ich erkläre kurz, was die einzelnen Befehle und Parameter bedeuten:

  • clear löscht den Bildschirm
  • wget ist das Programm, um die einzelnen Webpages herunterzuladen
  • https://knodderdachs.de bezeichnet die Domain. Hier müsst ihr natürlich eure eigene Domain eintragen 🙂
  • -r bedeutet, dass wget die Verzeichnisse rekursiv abarbeiten soll
  • -nd bedeutet, dass wget keine Verzeichnisse auf eurer Festplatte anlegen soll
  • –delete-after bestimmt, dass alle heruntergeladenen Dateien wieder gelöscht werden sollen
  • -A bestimmt, welche Art von Dateien geladen werden. Hier sind nur HTML-Dateien wichtig.
  • -X bestimmt, welche Verzeichnisse ausgeschlossen werden sollen. Bei mir steht da /wp-json/,/author/ drin, da der Zugriff darauf von meiner Firewall geblockt wird und dieser Versuch jedes mal im Logfile vermerkt werden würde.
  • -nv gibt an, dass nur wichtige Infos auf dem Bildschirm angezeigt werden sollen
  • -w bestimmt die Zeit, die zwischen den einzelnen Abfragen gewartet werden soll. Das ist wichtig, falls eure Firewall zu viele Verbindungsanfragen aus Performance- und Sicherheitsgründen blocken sollte. Mit dem Wert müsst ihr experimentieren, da er von verschiedenen Faktoren abhängt. 1 bedeutet in meinem Skript, dass zwischen jeder Anfrage 1 Sekunde gewartet werden soll.

Das war’s auch schon. Ihr könnt das Skript manuell starten oder per Cronjob alle X Minuten bzw. Stunden ausführen lassen und euer Cache ist immer komplett aufgebaut.

Speichere in deinen Favoriten diesen permalink.

Hinterlasse einen Kommentar

avatar
  Abonnieren  
Benachrichtige mich bei