WordPress Cache-Purging auf cPanel EA4
Sofortige, automatische Cache-Invalidierung für WordPress—ohne den gesamten Cache zu leeren.
🎉 Kostenloser Zugang - Begrenzte Zeit!
Alle EA4-Module sind derzeit kostenlos — kein Abonnement erforderlich! Erfahren Sie mehr
-
Automatische Invalidierung
Der Cache wird automatisch geleert, wenn Sie Beiträge, Seiten oder Kommentare bearbeiten—keine manuelle Intervention erforderlich
-
Chirurgische Präzision
Nur die geänderte Seite wird geleert—Ihre gesamte Website bleibt im Cache und blitzschnell
-
Multi-Tenant-Sicher
Der Cache jedes cPanel-Benutzers ist isoliert—Benutzer können nicht die Inhalte anderer Benutzer leeren
-
Kein Coding erforderlich
Funktioniert sofort mit dem Proxy Cache Purge WordPress-Plugin
5-Minuten-Setup
Befolgen Sie diese Schritte, um intelligentes Cache-Purging auf Ihrem cPanel-Server zu aktivieren.
Schritt 1: Installieren Sie das Cache-Purge-Modul
# Installieren Sie das GetPageSpeed-Repository (aktiviert automatisch das ea4-Repo auf cPanel-Servern)
dnf -y install https://extras.getpagespeed.com/release-latest.rpm
# Installieren Sie das Cache-Purge-Modul
dnf -y install ea-nginx-cache-purge
Schritt 2: NGINX konfigurieren
Sie können das Cache-Purging global für alle Benutzer oder pro Benutzer aktivieren.
Erstellen Sie /etc/nginx/conf.d/server-includes/cache-purge.conf:
# Aktivieren Sie die PURGE-Methode für das Cache-Purging (alle Benutzer)
proxy_cache_purge PURGE from 127.0.0.1;
Diese Datei wird automatisch in alle cPanel-Benutzer-Serverblöcke aufgenommen.
Für den Benutzer username, erstellen Sie /etc/nginx/conf.d/users/username/cache-purge.conf:
# Aktivieren Sie die PURGE-Methode für das Cache-Purging
proxy_cache_purge PURGE from 127.0.0.1;
Nachdem Sie die Konfiguration erstellt haben, laden Sie NGINX neu:
nginx -t && systemctl reload nginx
Schritt 3: Installieren Sie das Proxy Cache Purge Plugin
- Gehen Sie zu Plugins → Neu hinzufügen
- Suchen Sie nach "Proxy Cache Purge" (Slug:
varnish-http-purge) - Klicken Sie auf Jetzt installieren, dann auf Aktivieren
wp plugin install varnish-http-purge --activate
Schritt 4: Konfigurieren Sie Proxy Cache Purge
Im WordPress-Admin:
- Gehen Sie zu Einstellungen → Proxy Cache Purge
- Setzen Sie "Benutzerdefinierte IP festlegen" auf:
127.0.0.1 - Klicken Sie auf Einstellungen speichern
Kritische Einstellung
Das Plugin muss PURGE-Anfragen an 127.0.0.1 (localhost) senden, nicht an Ihre öffentliche IP oder Domain.
Schritt 5: NGINX Cache-Backend konfigurieren
Beginnend mit Proxy Cache Purge 5.9.0 unterstützt das Plugin nativ das Wildcard-Purge-Format von NGINX. Konfigurieren Sie es, um das NGINX-Backend zu verwenden:
- Gehen Sie zu Proxy Cache Purge → Einstellungen
- Wählen Sie unter Cache-Backend NGINX
- Klicken Sie auf Einstellungen speichern
Fügen Sie zu Ihrer wp-config.php hinzu:
define( 'VHP_PURGE_BACKEND', 'nginx' );
Dies stellt sicher, dass beim Leeren einer Seite alle zwischengespeicherten Varianten (gzip, brotli, unkomprimiert) gelöscht werden.
Legacy: Plugin-Version < 5.9.0
Wenn Sie Proxy Cache Purge in einer Version älter als 5.9.0 verwenden, erstellen Sie
wp-content/mu-plugins/nginx-cache-purge-fix.php:
<?php
/**
* Plugin Name: NGINX Cache Purge Fix
* Description: Fügt Wildcard zu den zu löschenden URLs für die Kompatibilität mit dem Vary-Header hinzu
*/
add_filter("vhp_purgeme_path", function($purgeme, $schema, $host, $path, $pregex, $p) {
if (empty($pregex)) {
$purgeme .= "*";
}
return $purgeme;
}, 10, 6);
Testen Sie das Setup
# 1. Cachen Sie eine Seite (erste Anfrage = MISS, zweite = HIT)
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: MISS
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: HIT
# 2. Leeren Sie mit der PURGE-Methode und Wildcard
curl -sX PURGE 'http://127.0.0.1/sample-page/*' -H 'Host: yourdomain.com'
# <h1>Erfolgreiches Leeren</h1>
# 3. Überprüfen Sie, ob der Cache geleert wurde
curl -sI http://127.0.0.1/sample-page/ -H 'Host: yourdomain.com' -H 'Accept-Encoding: gzip' | grep X-Cache
# X-Cache-Status: MISS
Testen Sie dann über WordPress:
- Bearbeiten Sie einen veröffentlichten Beitrag
- Nehmen Sie eine Änderung vor und klicken Sie auf Aktualisieren
- Das Plugin leert automatisch den Cache
- Besuchen Sie die Seite—sie sollte frische Inhalte anzeigen
So funktioniert es
flowchart TD
subgraph WordPress["<b>WordPress</b>"]
A[📝 Beitrag aktualisiert] --> B["🔌 Proxy Cache Purge Plugin"]
B --> C["PURGE http://127.0.0.1/post-slug/*<br/>Host: yourdomain.com"]
end
C --> D
subgraph NGINX["<b>NGINX (ea-nginx)</b>"]
D["🔒 proxy_cache_purge PURGE from 127.0.0.1"] --> E["🗑️ ngx_cache_purge Modul"]
E --> F["✓ Wildcard entspricht allen Varianten<br/>(gzip, brotli, plain)"]
F --> G["✓ Löscht aus dem Festplattencache"]
G --> H["✅ Gibt 'Erfolgreiches Leeren' zurück"]
end
style WordPress fill:#4a90d9,stroke:#2d5986,color:#fff
style NGINX fill:#009639,stroke:#006325,color:#fff
style A fill:#5ba0e0
style B fill:#5ba0e0
style C fill:#5ba0e0
style D fill:#00a844
style E fill:#00a844
style F fill:#00a844
style G fill:#00a844
style H fill:#00a844
Was passiert
- Sie aktualisieren einen Beitrag in WordPress
- Das Plugin sendet eine
PURGE-Anfrage an localhost - Das NGINX-Modul entfernt nur diese URL aus dem Cache
- Der nächste Besucher erhält frische Inhalte, der Rest des Caches bleibt unberührt
Warum es schnell ist
- Kein vollständiges Cache-Leeren — andere Seiten bleiben im Cache
- Nur lokale Anfragen — keine Netzwerkverzögerung
- Wildcard-Unterstützung — löscht alle Kodierungsvarianten auf einmal
Fortgeschritten: Reduzieren Sie Cache-Varianten
Optionale Optimierung
Empfohlen für stark frequentierte Seiten, um die Cache-Trefferquote zu maximieren.
Der Header Vary: Accept-Encoding verursacht, dass NGINX separate Cache-Einträge für verschiedene
Accept-Encoding-Kombinationen erstellt. Browser senden diese in verschiedenen Reihenfolgen, was zu Cache-Bloat führt:
| Original Accept-Encoding | Problem |
|---|---|
gzip, br, deflate |
Separater Cache-Eintrag |
br, gzip |
Ein weiterer separater Eintrag |
gzip, deflate |
Noch ein weiterer Eintrag |
Die Lösung: Header normalisieren
Das Modul compression-normalize normalisiert Header auf konsistente Werte:
dnf -y install ea-nginx-compression-normalize
Erstellen Sie /etc/nginx/conf.d/compression-normalize.conf:
# Normalisieren Sie Accept-Encoding, um Cache-Varianten zu reduzieren
# Prioritätsreihenfolge: Bevorzugen Sie brotli, dann gzip
compression_normalize_accept_encoding br,gzip br gzip;
Ergebnis: Hunderte möglicher Varianten → nur 3 (br,gzip, br, gzip).
Sicherheit
Nur localhost-Zugriff
proxy_cache_purge PURGE from 127.0.0.1;
Externe PURGE-Anfragen werden als normale Anfragen verarbeitet, nicht als Leeren.
Benutzerisolation
Jeder cPanel-Benutzer hat seine eigene Cache-Zone. Benutzer alice kann den Cache von Benutzer bob nicht leeren—auch nicht mit denselben URL-Pfaden.
Fehlersuche
Cache wird nicht geleert
- Überprüfen Sie die Plugin-Einstellung:
- Gehen Sie zu Einstellungen → Proxy Cache Purge
-
Stellen Sie sicher, dass Benutzerdefinierte IP auf
127.0.0.1gesetzt ist -
Überprüfen Sie die Cache-Backend-Einstellung:
- Gehen Sie zu Proxy Cache Purge → Einstellungen und überprüfen Sie, ob Cache-Backend auf NGINX gesetzt ist
-
Oder überprüfen Sie, ob
wp-config.phpdefine( 'VHP_PURGE_BACKEND', 'nginx' );enthält -
Überprüfen Sie, ob die NGINX-Konfiguration geladen ist:
nginx -T | grep cache_purge
412 Precondition Failed
Das bedeutet, dass die URL nicht im Cache war. Kein Fehler—einfach nichts zu leeren.
Modul wird nicht geladen
# Überprüfen Sie, ob installiert
rpm -q ea-nginx-cache-purge
# Überprüfen Sie die Moduldatei
ls -la /etc/nginx/modules/ngx_http_cache_purge_module.so
Verwandt
-
cPanel EA4 Repository
Vollständige Einrichtungsanleitung für cPanels ea-nginx-Module
-
cache-purge Modul
Vollständige Direktivenreferenz und erweiterte Nutzung
-
Proxy Cache Purge Plugin
Offizielle WordPress-Plugin-Seite