Ein schlankes System hat seine Vorteile. Durch weniger Datenbankabfragen an den MySQL Server kann ein System wie WordPress stark entlastet werden. Gerade schwächere Server sind gerne mal überfordert, wenn viele oder schwere Plugins (wie zum Beispiel Buddypress) in WordPress verwendet werden und die Besucherzahl steigt. Abhilfe bei schwächelnden WordPress-Installationen verspricht zum Beispiel das Plugin WP Widget Cache.
Inhaltsverzeichnis:
WordPress cachen
WordPress sollte generell gecacht werden. Schnellere Ladezeiten sind ein Vorteil im Kampf um gute Rankings bei Google. Die User-Erfahrung verbessert sich zudem, was für weniger Abbrüche auf der eigenen Webseite sorgt. Für das Caching setzt man normalerweise Plugins wie WP Rocket, W3 Total Cache oder WP Super Cache ein. Diese Plugins verrichten ihre Arbeit hervorragend und sorgen für ein Grundcaching. Nur eines können sie leider nicht: das ausschließliche Caching der Widgets.
Wozu brauche ich Widget Caching?
Nutzt man Caching Tools, schließt man häufig Teilbereiche der Webseite vom Caching aus. Zum Beispiel ein Forum oder Mitglieder-Bereiche in Community Plugins wie Buddypress. Caching behindert schlichtweg das eine oder andere Plugin in seiner Tätigkeit. Somit wird gerade auf Communityseiten ein Großteil des Traffics gar nicht aus gecachten Seiten bedient. Oft werden auch eingeloggten Usern immer die aktuellen Inhalte gezeigt. WP Widget Cache geht nun den Weg, dass alle für das Caching definierten Widgets gecached werden. So wird beispielsweise eine aus Widgets bestehende Sidebar auch auf Seiten, die vom normalen Caching ausgeschlossen sind, von der lokalen Server-Festplatte geladen.
Was bringt Widget Caching?
Ich selbst war sehr erstaunt, wie viele Datenbankabfragen durch Widgets entstehen können. Viele achten bei der Optimierung nur darauf, dass nicht zu viele Plugins verwendet werden. Das die Nutzung von einigen Widgets einen Großteil aller Queries ausmachen kann, haben wenige auf dem Schirm. Bei einer meiner betreuten Webseiten konnte auf der Startseite die Anzahl Queries von 220 auf 125 pro Seitenaufruf gesenkt werden. Ich gebe zu, dass ich auf dieser Seite sehr exzessiv mit Widgets und Plugins arbeite. Aber eine Reduktion der Datenbankabfragen um mehr als 40% freut den MySQL-Server.
Wie sehe ich die Anzahl an Queries/Datenbankabfragen in WordPress?
Fügen Sie einfach in der footer.php Ihres Themes den folgenden Code hinzu
<!-- <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. -->
Im Quelltext der Webseite sollte nun eine Ausgabe mit der Anzahl Queries zu sehen sein.
Gibt es Einschränkungen beim Widget Caching?
Login-Widgets zum Beispiel sollten nicht gecached werden. Ansonsten kann es passieren, dass Usern angezeigt wird, dass sie schon eingeloggt sind, obwohl sie das gar nicht sind. Auch der Logout kann dann eventuell nicht funktionieren.
Wie baue ich WP Widget Cache ein?
Das Plugin wird, wie jedes andere Plugin, entweder über das Backend installiert oder per FTP in den Pluginordner geschoben und dann im Backend aktiviert. Unter Einstellungen->WP Widget Cache kann man dann diverse Einstellungen vornehmen, wie zum Beispiel, ob der Cache geleert werden soll, wenn neue Inhalte gespeichert werden. Zudem muss dort das Caching aktiviert werden.
Das war allerdings noch nicht alles: Um tatsächlich zu cachen, muss bei jedem verwendeten Widget noch die Cachingdauer angegeben werden (siehe Screenshot). Hier muss man nicht übertreiben. Da nur eine einzige beliebige Seite geladen werden muss, um die Widgets zu cachen, reicht eine Cache-Dauer von ein paar Minuten bis ein paar Stunden völlig aus. Fazit: Widget Caching ist eine feine Sache, die den MySQL- Server einer WordPress-Installation entlasten kann. Das Plugin greift da ein, wo normale Caching Tools nicht genutzt werden können.
Marcus
Ich finde nur das Plugin Voce Widget Cache.
Das scheint aber nicht das zu sein, worüber geschrieben wurde.
Wo kann man das Plugin finden??
René Dasbeck Post author
Ja, das scheint nicht mehr weiterentwickelt zu werden. Hier findet sich ein Link zu Github…ein Versuch ist es wert, wenn auch veraltet. https://github.com/rooseve/wp-widget-cache
Hansjörg
Wo finde ich dieses Plugin?
Daniel Burkhardt
Danke für den Hinweis auf dieses Plugin.
Ich nutze auf einigen Seiten Cache Plugins, hatte aber noch nie das Bedürfnis, nur Widgets zu cachen. Aber es ist jetzt in meiner Merkliste gespeichert, falls ich es doch mal brauchen sollte…
Robert
Ich nutze keine Widgets auf einem meiner Blogs, welchen Cache Plugin empfiehlst du um normale Seiten zu cachen? Oder geht das auch mit dem Widget Cache Plugin?
René Dasbeck Post author
Ich verwende Quick Cache und auf einem anderen Auftritt Hyper Cache Extended. Funktionieren beide soweit ganz gut.