Weil’s in diesem Beitrag um Geschwindigkeit geht, gibt’s gleich vorweg die Kernaussage für alle Eiligen:

Wenn du dein Blog mit einer Version von WordPress vor 3.0 aufgesetzt hast und “schöne” Permalinks verwendest, speichere jetzt die Permalink-Einstellungen noch einmal. Dein Blog wird dadurch schneller – sonst ändert sich nichts.

WordPress-Einstellungen "Permalinks"

Und nun das Ganze noch mal langsam zum Mitlesen1

Um schöne Permalinks nach dem Muster http://www.example.com/2010/12/hello-world an Stelle der “hässlichen” Variante http://www.example.com/?p=123 erzeugen zu können, benötigt WordPress das Apache-Modul mod_rewrite und einige Zeilen in der Datei .htaccess, die im Wurzelverzeichnis des Blogs am Webspace liegt. In diesen Zeilen definiert WordPress, wie der Webhost auf Anfragen nach diesen “schönen” Permalinks reagieren soll.

Das macht WordPress schon seit Urzeiten so. Aber erst am 9. Januar 2010 wurde bekannt, dass die bisher benutzen Regeln für mod_rewrite den Webserver dazu angeleitet hatten, diese Regeln häufig zwei Mal für jeden Seitenaufruf durchzuackern – mit der damit einhergehenden Geschwindigkeitseinbusse für jeden Besucher. Diese Scharte wurde am 11. März 2010 ausgewetzt und mit dem Release von WordPress 3.0 im allgemein genutzten Produkt beseitigt.

Bessere RewriteRules ab WordPress 3.0

Ab Version 3.0 schreibt WordPress also bessere Rewrite-Regeln in die .htaccess – aber nur auf Aufforderung: Beim automatischen Update werden zwar alle Programmdateien aktualisiert und auch Datenbankstrukturen angepasst, aber etwaige Verbesserungen in der Konfiguration des Webservers bleiben aus Stabilitätsgründen außen vor.

So sieht der Block mit Rewrite-Regeln in .htaccess auf einer Installation von WordPress vor Version 3.0 häufig aus:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Erst mit dem Klick auf “Speichern” in den Permalink-Einstellungen werden die Rewrite-Regeln aktualisiert und um die eine Zeile ergänzt, die den zweiten Durchlauf durch das Regelwerk verhindert:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Schnellere Seiten, zufriedene Besucher

Diese eine zusätzliche Zeile erhöht im Fall von Hosting auf einem günstigen Webspace die Geschwindigkeit, mit der Seiten an die Besucher und auch an Google ausgeliefert werden, um etwa 10 bis 20 Prozent. Das ist zwar nicht atemberaubend, aber sowas von “geschenkter Gaul” wie nur irgend möglich.

Wie schaut die Situation bei dir aus?

1 …für die G’studierten ;)

14. Dezember 2010, 13:08 − Abgelegt in

Kommentare

Danke für den Tipp! Je mehr dieser kleinen Veränderungen bekannt werden, desto besser. WordPress ist teilweise einfach zu sehr aufgebauscht. Besonders wenn viele Plugins aktiviert sind und zu viele Widgets in die Sidebar gepackt werden.

Yuki_Keylin · 14. Dezember 2010, 14:53 · #

Ich brech zusammen. So ein dummer Fehler, so unbekannt bislang und so easy zu beheben? argh
Danke!

— Frank · 14. Dezember 2010, 15:09 · #

WOW – das funktioniert ja wunderbar… :)

Danke für diesen wirklich sehr sinnvollen Tipp!!! :)

— Steve · 14. Dezember 2010, 15:13 · #

Wenigsten schreibt Wordpress die Regeln selbst in die Konfiguration des Webservers.

Meine Seite läuft mit Typo3, und das heißt, wir müssen solche Dinge für real_url selbst herausfinden und nach dem Versuch-und-Irrtum-Prinzip in die .htaccess stricken.

Alois · 14. Dezember 2010, 16:06 · #

“Nur” 10-20%?? Ich finde das ist schon eine ganze Menge! Wenn das auch nur halbwegs zutrifft, hat es sich trotzdem gelohnt. Wird ausprobiert, vielen Dank!

Gruß,
Andreas

Andreas · 14. Dezember 2010, 18:09 · #

Danke für diesen Tipp! Werde ich gleich, wenn ich zuhause bin, ausprobieren. Speed matters!

— Dieter · 14. Dezember 2010, 18:38 · #

Wie verhält sich das bei einer Multisite Installation?

Steffen · 15. Dezember 2010, 01:52 · #

Danke für den Tipp.

— ad · 15. Dezember 2010, 09:56 · #

Vielen Dank für den Hinweis.

Der gemessene Beitrag braucht statt 3.295s nur noch 2.737s zum laden. Die halbe Sekunde sollte sich jeder holen; zumal der Aufwand nicht der Rede wert ist.

— alohastone · 15. Dezember 2010, 14:48 · #

Danke für den Tipp. Hab ich gleich mal gemacht.
Ich hoffe auf eine kleine Leistungssteigerung. Mal sehen.
Henning

— Henning · 16. Dezember 2010, 21:57 · #

Super Tipp! Vielen Dank fürs sharen!

— Horst Graebner · 17. Dezember 2010, 23:08 · #

Eine andere “massive” Reduktion der Antwortzeiten bei sehr wenig Aufwand habe ich mit dem Plugin WP Super Cache erreicht.

Wieviel Potential brach liegt, habe ich an einem SEO-Vortrag erkannt, wo die 14 Optimierungsregeln präsentiert wurden: http://e-byz.ch/search-engine/website-performance-optimierung-wpo-martin-kliehm-namics.

— Walter Schärer · 27. Dezember 2010, 08:55 · #

Danke für den Tipp!

Übrigens hat Sergej Müller ein simples Wordpress-Chache-Plugin die Tage veröffentlicht. Cachify kann auch nochmals die Performance verbessern. Empfehlenswert.

— Martin · 13. Januar 2011, 11:32 · #

Danke Robert,
sehr hilfreich solch kleine Tipps. Schade nur, dass bei einem Update das nicht irgendwie automatisch angestoßen werden konnte.

— Robert Hartl · 17. Januar 2011, 19:36 · #

Kommentarfunktion für diesen Artikel geschlossen.