BlogTrainer

WordPress-Seminare

Wie ich mit Widget Caching mein WordPress-Blog dreimal schneller machte

WP Widget Cache

WP Widget Cache

Haben Sie die Sidebars Ihres WordPress mit nützlichen, informativen und manchmal auch nur dekorativen Widgets ausgestattet? Dann kennen Sie das Problem: Bei jedem Seitenaufruf vergehen endlos lange Millisekunden, bis der Inhalt der Sidebars angezeigt wird. Fast alle Widgets führen einen oder mehrere Datenbankaufrufe aus. Als mir dies erstmals dramatisch bewusst wurde, hatten sich bei meinem Blog für jeden Seitenaufbau bereits 64 Datenbankanfragen angehäuft, die 1,231 Sekunden brauchten! Das ist endlos lang für DSL-verwöhnte Blogleser. Es führt dazu, dass die Leser wegklicken, bevor die Seite komplett geladen ist.

Es gibt natürlich komplexe Caching-Plugins wie WP Super Cache. Um diese kommen Sie nicht herum, wenn Sie richtig viel Traffic auf dem Blog haben. Bei meiner Installation wurden aber zwei Drittel der Datenbankabfragen von den Widgets erzeugt. Deshalb konnte ich allein durch Caching der Widget-Inhalte zwei Drittel der Zeit sparen, die WordPress zum Aufbau der Seite benötigte.

WP Widget Cache für schnelle Sidebars

Mit dem Plugin WP Widget Cache können Sie für jedes Sidebar-Widget individuell einstellen, nach wieviel Sekunden das Widgets sich frühestens wieder aus der Datenbank bedienen darf. Beispiel: Das Widget „Neue Kommentare“ könnten Sie so einstellen, dass neue Kommentare nach drei Minuten in der Sidebar gezeigt werden, indem Sie in das Feld „Expire“ 180 Sekunden eintragen.

Einstellungen von Widget Cache: Auto-Expire

Einstellungen von Widget Cache: Auto-Expire

Zusätzlich können Sie die Auto-Expire Funktion aktivieren. Dies bedeutet, dass die Ausgabe des Widgets sofort neu erzeugt wird, sobald ein neuer Kommentar (bzw. ein neuer Artikel, eine neue Kategorie, ein neues Tag oder ein neuer Link in der Linkliste) hinzukommt. Durch die Auto-Expire-Funktion können Sie bei den meisten Widgets ruhig eine sehr lange Verfallszeit für den Cache-Inhalt angeben. Im Screenshot oben stehen 100.000 Sekunden, also mehr als 24 Stunden. Dennoch geht kein neuer Kommentar verloren.

Besonders sinnvoll ist WP Widget Cache für selten geänderte Inhalte der Sidebars, wie Texte oder HTML-Code in Textfeldern. Auch diese würde ohne Caching bei jedem Seitenaufruf wieder aus der Datenbank geholt werden. Einige Widgets mit dynamischen Inhalten können Sie nicht sinnvoll cachen, da der Benutzer mit Ihnen interagiert. Dazu gehört das Meta-Widget, dass je nach Status (eingeloggt/ausgeloggt) einen anderen Inhalt zeigen muss. Auch Polls, die Sie für zufällig angezeigte Umfragen benutzen wollen, kommen mit Caching nicht klar.

Wie schnell ist Ihr Blog?

Woher erfahren Sie, ob bei Ihrem Blog Handlungsbedarf besteht? Die Datenbankaufrufe und die benötigte Zeit werden bei vielen Themes im Quelltext angezeigt. Das Standard-Theme Kubrick zeigt zum Beispiel als Kommentar im Footer:

<!-- 20 Datenbankanfragen. 0.308 Sekunden. --> <!-- 20 queries. 0.308 seconds. -->

Manche Themes bieten die Option, die Anzeige der Queries und Zeiten ein- und auszuschalten. Falls beides bei Ihnen nicht vorhanden ist, müssen Sie für den Test die Zeile

<!-- <?php echo get_num_queries(); ?> queries. <?php timer_stop(1); ?> seconds. -->

in der footer.php eintragen. Am besten unmittelbar vor dem </body> Tag.

workshop-wordpress-bloggingWenn die angezeigten Werte bei Ihrem Blog über 50 Abfragen oder 0,5 Sekunden liegen, sollten Sie WP Widget Cache auf jeden Fall einmal ausprobieren. Ich konnte damit meine Datenbankabfragen um zwei Drittel reduzieren. Das Caching mit WP Widget Cache läuft absolut wartungsfrei. Nur wenn Sie an der Konfiguration Ihrer Sidebar-Plugins schrauben, müssen Sie gelegentlich auf den Button „Clear All Widget Cache“ klicken, um die Sidebar zu aktualisieren.

Das könnte Sie auch interessieren: