Cache-Warmup
Der Warmup ruft ausgewählte öffentliche URLs regulär per HTTP auf. Dadurch durchlaufen die Requests dieselben Cache- und BYPASS-Regeln wie normale Seitenaufrufe.
Welche URLs werden gesammelt?
Section titled “Welche URLs werden gesammelt?”Der vollständige Warmup berücksichtigt standardmäßig:
- die Startseite,
- eine konfigurierte Beitragsseite,
- veröffentlichte Inhalte öffentlicher und sichtbarer Post Types mit Ausnahme von Attachments,
- öffentliche Post-Type-Archive,
- befüllte öffentliche Taxonomiearchive mit Ausnahme von
post_format.
Bei erkanntem FG Multilang WP wird die interne Abfrage so erweitert, dass der Warmup nicht auf die aktuell aktive Sprache beschränkt wird. Die konkreten erzeugten Permalinks bleiben die maßgebliche URL-Liste.
Manueller Warmup
Section titled “Manueller Warmup”Der manuelle Warmup wird unter FG Cache → Warmup → Cache aufwärmen gestartet.
Ablauf:
- Ein Administrator startet den Vorgang.
- WordPress prüft Capability und Nonce.
- Die URL-Liste wird gesammelt und für den Benutzer in einem Transient gespeichert.
- JavaScript ruft nacheinander kleine AJAX-Batches ab.
- Pro URL erfolgt ein normaler
wp_remote_get(). - Die Oberfläche zeigt Fortschritt und Ergebnis an.
Der Standard-Batch enthält drei URLs. Über einen Filter kann die Größe angepasst werden; intern wird sie auf 1 bis 10 begrenzt.
Ergebnisse
Section titled “Ergebnisse”Der Warmup unterscheidet folgende Kategorien:
| Ergebnis | Bedeutung |
|---|---|
neu erzeugt |
Der Request war ein MISS und anschließend ist die Cache-Datei vorhanden. |
bereits HIT |
Die Cache-Datei war bereits vorhanden. |
BYPASS |
Eine reguläre FG-Cache-Regel hat das Caching verhindert. |
nicht gespeichert |
Der Request war ein MISS, die Antwort erfüllte aber die Speicherbedingungen nicht. |
OK ohne Cache-Datei |
HTTP war erfolgreich, ohne dass eine FG-Cache-Datei nachgewiesen wurde. |
Fehler |
HTTP- oder Request-Fehler. |
Automatischer Warmup
Section titled “Automatischer Warmup”Der automatische Warmup ist standardmäßig deaktiviert und wird unter Konfiguration aktiviert.
Nach einer gezielten Invalidierung werden nur tatsächlich entfernte Cache-URLs erneut aufgerufen. Nach einem vollständigen Purge wird die normale vollständige Warmup-Liste erzeugt.
Der automatische Ablauf verwendet keinen WordPress-Cronjob. Stattdessen startet FG Cache WP einen nicht blockierenden Loopback-POST an admin-ajax.php. Der Worker arbeitet sequentiell in kleinen Batches und stößt den nächsten Batch selbst an, bis der Auftrag abgeschlossen ist.
Der Worker ist sowohl für eingeloggte als auch nicht eingeloggte Requests registriert, akzeptiert einen Auftrag jedoch nur mit einem aktuell gespeicherten, zufällig erzeugten Token. Gespeichert wird serverseitig nur der Hash des aktiven Tokens.
Laufzeitdaten
Section titled “Laufzeitdaten”Manuelle Warmup-Sitzungen werden als WordPress-Transient mit einer Laufzeit von einer Stunde gespeichert. Der automatische Warmup verwendet ebenfalls einen einstündigen Transient und speichert zusätzlich den letzten Status in WordPress-Optionen.
Bei der Deaktivierung des Plugins wird ein laufender automatischer Warmup abgebrochen.
HTTP-Verhalten
Section titled “HTTP-Verhalten”Warmup-Requests:
- akzeptieren HTML/XHTML,
- senden den Header
X-FG-Cache-Warmup: 1, - verwenden bei normalen Warmup-GETs einen User-Agent mit FG-Cache-Version und Home-URL,
- folgen beim manuellen/normalen Warmup bis zu drei Redirects,
- verwenden
reject_unsafe_urls, - übernehmen einen vorhandenen Basic-Authorization-Header des aktuellen Requests in die eigenen Loopback-/Warmup-Requests.
Query-Varianten
Section titled “Query-Varianten”Der Standard-Warmup erzeugt keine zusätzlichen Query-Varianten. Sollen VARY-URLs gezielt vorgewärmt werden, kann die URL-Liste über fg_cache_warmup_urls erweitert werden.