FacetWP Cache – Optimierung für schnellere Filterlösungen
Die Performance von Webseiten ist heutzutage entscheidend für die Benutzererfahrung. Insbesondere auf Websites, die umfangreiche Filtermöglichkeiten wie FacetWP bieten, ist eine effiziente Cache-Lösung von größter Bedeutung. Die Caching-Erweiterung von FacetWP optimiert die Ladezeit von Seiten durch gezieltes Caching von AJAX-Anfragen. Dies führt dazu, dass wiederholte Seitenaufrufe mit denselben Filtereinstellungen erheblich schneller geladen werden können.
Funktionsweise des FacetWP Caches
Das Caching-Add-On für FacetWP funktioniert, indem es jede spezifische Facet-Kombination, die von den Nutzern ausgewählt wird, in der Datenbank speichert. Bei einem erneuten Zugriff auf diese spezifische Kombination wird die gespeicherte Daten aufgerufen, anstatt die Filteroptionen neu zu berechnen. Besonders auf stark frequentierten Seiten mit bewährten Facet-Kombinationen, wie z.B. Landing Pages, kann dies die Ladezeiten signifikant reduzieren.
Allerdings gilt es zu beachten, dass bei einer hohen Vielzahl an unterschiedlichen Kombinationen, die von Nutzern individuell ausgewählt werden (z.B. Standortauswahl oder verschiedene Filteranordnungen), das Caching weniger effektiv sein wird, da viele dieser Kombinationen womöglich nicht im Vorfeld gespeichert sind. Der FacetWP Cache wird daher vorrangig auf Seiten mit weniger, oft verwendeten Faceten und Kombinationen seine Stärke ausspielen.
Kompatibilität mit anderen Caching-Plugin
Ein herausragendes Merkmal des FacetWP Caches ist, dass er mit anderen Caching-Plugins wie WP Rocket zusammenarbeitet. Das Add-On speichert lediglich eigene AJAX-Anfragen und beeinträchtigt nicht andere Caching-Mechanismen, die möglicherweise bereits auf der Website aktiv sind. Dies ermöglicht eine nahtlose Integration in bestehende Website-Strukturen ohne Konflikte.
Installation und Konfiguration des Caches
Die Installation der Cache-Erweiterung erfolgt einfach durch das Hinzufügen des Plugins und dessen Aktivierung. Um sicherzustellen, dass das Caching tatsächlich funktioniert, kann überprüft werden, ob die Tabelle wp_facetwp_cache
in der Datenbank existiert und Einträge enthält.
Cache-Ablaufzeit einstellen
Eine der ersten Maßnahmen, die Administratoren ergreifen sollten, ist die Anpassung der Cache-Ablaufzeit. Diese wird standardmäßig auf eine Stunde (3600 Sekunden) eingestellt. Bei weniger häufigen Aktualisierungen der Inhalte, beispielsweise wöchentlich oder monatlich, kann eine längere Cache-Dauer von Vorteil sein. Dies reduziert die Häufigkeit, mit der der Cache manuell gelöscht werden muss. Für Websites mit stabilen Inhalten ist es sinnvoll, die Cache-Dauer auf einen längeren Zeitrahmen zu setzen.
Die Ablaufzeit kann durch das Einfügen eines spezifischen PHP-Codes in das functions.php
-Datei des (Kind-)Themas angepasst werden. Dazu könnte der folgende Code verwendet werden:
php
function my_cache_lifetime( $seconds ) {
return 86400; // Ein Tag. Standard: 3600 (eine Stunde)
}
add_filter( 'facetwp_cache_lifetime', 'my_cache_lifetime' );
Seiten-spezifische Ablaufzeiten
Zusätzlich zu einer globalen Cache-Dauer können spezifische Ablaufrichtlinien für bestimmte Seiten umgesetzt werden. Dies kann durch ein ähnliches Hinzufügen von PHP-Code erfolgen, wie im vorherigen Abschnitt erwähnt. Auf diese Weise ist es möglich, für Seiten wie Produktkataloge kürzere Cache-Zeiten einzustellen:
php
function my_cache_lifetime( $seconds, $params ) {
if ( 'products' == $params['uri'] ) {
$seconds = 1800; // 30 Minuten für die Produktseite
}
return $seconds;
}
add_filter( 'facetwp_cache_lifetime', 'my_cache_lifetime', 10, 2 );
Cache leeren
Die Verwaltung des Caches ist ebenso wichtig. Wenn Admins in ihrem Dashboard eingeloggt sind, finden sie unter dem FWP-Menü die Möglichkeit, den gesamten Cache oder den Cache für eine bestimmte Seite zu leeren. Dies ist besonders nützlich, wenn wichtige Änderungen an Inhalten vorgenommen wurden, die sich auf die angezeigten Filterergebnisse auswirken könnten.
Cache über Code löschen
Alternativ kann der Cache auch programmgesteuert über spezifische PHP-Befehle gelöscht werden:
php
FWP_Cache()->cleanup(); // Löscht abgelaufenen Cache
FWP_Cache()->cleanup( 'all' ); // Löscht alles
FWP_Cache()->cleanup( 'demo/cars' ); // Löscht die Seite "/demo/cars/"
Fehlerbehebung bei Caching-Problemen
Um sicherzustellen, dass das Caching ordentlich funktioniert, ist es ratsam, einige Facet-Auswahlen zu treffen und anschließend in phpMyAdmin die Existenz und den Inhalt der wp_facetwp_cache
-Tabelle zu überprüfen. Sollte die Tabelle nicht existieren oder leer sein, können verschiedene Faktoren die Ursache sein.
Ein häufiger Grund könnte ein Konflikt mit einem anderen Plugin sein, das ebenfalls eine db.php
-Symlink oder Datei im entsprechenden Verzeichnis anlegt.
Mögliche Konflikte mit Plugins
Plugins, die in die wp-content
-Direktive eingreifen, wie Query Monitor oder W3 Total Cache, können hierbei Konflikte erzeugen, weshalb sie manuell in ihrer Funktionalität angepasst werden müssen:
-
Query Monitor: Dieses Plugin benötigt eine eigene
db.php
. Ist es zuerst aktiviert, blockiert es die Aktivierung des FacetWP Caches. Hier muss der Cache deaktiviert werden, bevor Query Monitor aktiviert wird, oder umgekehrt. -
W3 Total Cache: Ähnlich wie bei Query Monitor ist auch hier eine manuelle Anpassung erforderlich. Die Inhalte der
facetwp-cache/db.php
müssen in diewp-content/db.php
eingefügt werden, wenn eine gleichzeitige Funktionsweise beider Plugins gewünscht ist.
Vorladen des Caches
Obwohl gelegentlich die Frage aufkommt, ob es möglich ist, den Cache für alle Facet-Kombinationen vorab zu laden, ist dies nicht praktikabel. FacetWP unterstützt diese Methode nicht, und der Versuch, alle Kombinationen vorzuladen, könnte die Serverkapazitäten überlasten. Anstatt alles vorab zu laden, empfiehlt es sich, den Fokus auf stark frequentierte Seiten und einige populäre Kombinationen zu legen.
Anpassung des Zugangs zu Einstellungen
In Situationen, in denen bestimmten Benutzerrollen der Zugriff auf die Cache-Einstellungen gewährt werden soll, kann der facetwp_admin_settings_capability
Hook verwendet werden. Es ist jedoch wichtig anzumerken, dass diese Anpassung auch den Zugriff auf die Haupt-FacetWP-Plugin-Einstellungen und das Conditional Logic-Add-On beeinflusst.
Changelog – Aktuelle Änderungen
Die kontinuierliche Pflege und Aktualisierung des Caching-Add-Ons sorgt dafür, dass alle Nutzer von den neuesten Verbesserungen profitieren können. Zu den wichtigen Änderungen in der letzten Version gehören:
- 1.7.1: Hinzufügung des
facetwp_admin_settings_capability
Hooks. - 1.7: Verbesserung mit einer neuen DB-Indizierung.
- 1.6.2: Verbesserung des Setzens des “Content-Type” Antwortheaders.
- 1.6.1: Behebung eines Problems bei der Cache-Löschfunktion im Adminbereich.
Das Verständnis dieser Aspekte zum Thema FacetWP Cache kann nicht nur dabei helfen, die Leistung einer Webseite zu steigern, sondern auch die Benutzerfreundlichkeit und das allgemeine Nutzungserlebnis zu optimieren. Ein richtig konfiguriertes Caching-System ermöglicht es, die Vorteile modernster Web-Technologien voll auszuschöpfen, während gleichzeitig Ressourcen geschont werden.
Bewertungen
Es gibt noch keine Bewertungen.