~/blog/2009/11/wordpress-muss-schneller-werden.md

WordPress muss schneller werden

3 min
Collage: WordPress-Logo, Cache und Tacho

Keine Zeit? Hier die Kurzversion in 30 Sekunden.

  • Viele Plugins machen WordPress spürbar langsamer, und eine langsame Seite verliert Besucher.
  • Mein Webhoster war nicht schuld: Auch nach einem Serverumzug blieb die Ladezeit schlecht.
  • Das Plugin IM Online fragte bei jedem Aufruf den Messenger-Status ab, die Seite brauchte teils bis zu 20 Sekunden.
  • SuperCache liefert fertige HTML-Seiten aus und soll laut Angabe bis zu 90 % schneller sein.
  • Am Ende half Ausmisten: Plugins testen, nur das Nötige behalten, IM Online ohne Ersatz entfernen.

Hinweis: Stand November 2009. Plugins, Versionen und Einstellungen können sich seitdem geändert haben.

Warum WordPress mit jedem Plugin langsamer wird

Habt ihr zahlreiche Plugins installiert, merkt ihr deutlich, wie die Geschwindigkeit von WordPress stetig abnimmt. Wer diesem Trend nicht entgegenwirkt, darf sich nicht wundern, wenn die Besucherzahlen analog zur Geschwindigkeit fallen. Jede Seite lebt von ihren Besuchern. Wozu soll man neue Inhalte online stellen, wenn sie sowieso keiner liest?

Der Grund: WordPress ist dynamisch. Bei jedem Aufruf startet PHP, fragt die MySQL-Datenbank nach Beiträgen, Kommentaren und Einstellungen und baut die Seite erst in diesem Moment zusammen. Plugins klinken sich in diesen Ablauf ein. Sie machen zusätzliche Datenbankabfragen, laden eigene CSS- und JavaScript-Dateien oder fragen fremde Server an. Und eine externe Anfrage blockiert die Seitenerzeugung, bis die Antwort da ist.

Ich bin mir sicher (das ist nur meine Vermutung!), dass bei 90 % der WordPress-Installationen Plugins laufen, die kaum benutzt werden oder den Blog durch ihre Funktion verlangsamen.

Ich habe selbst den Fehler gemacht, zuerst meinen Webhoster zu verdächtigen. Aber selbst nach einem Serverumzug blieb die Ladezeit schlecht. Es ist also an der Zeit, auch euren Blog zu überprüfen.

SuperCache: fertige Seiten statt Dauerarbeit

Wollt ihr auf eure Plugins nicht verzichten, dann empfehle ich euch SuperCache. Das Prinzip ist einfach: Das Plugin speichert die fertige Seite als HTML-Datei und liefert sie direkt aus. PHP und Datenbank werden übersprungen, und dort geht normalerweise die meiste Zeit drauf.

Optimal konfiguriert (die Einstellungen sind selbsterklärend) wird euer Blog laut Angabe um bis zu 90 % schneller. Das ist keine Messung von mir, es war eher ein Eindruck. Gerade bei problematischen Plugins und aufwendigen Seiten mit vielen Datenbankzugriffen spielt das Plugin seine Vorteile aus. Selbst ohne Plugins solltet ihr die Cache-Funktion benutzen. Eure Besucher werden es euch danken!

Zwei Dinge solltet ihr wissen: Angemeldete Nutzer und Kommentatoren bekommen oft keine Cache-Version, und bei neuen Beiträgen muss der Cache geleert werden, sonst sieht jemand die alte Fassung. Ein Cache wird in der wp-config.php über diese Zeile aktiviert, die das Plugin normalerweise selbst einträgt:

define('WP_CACHE', true);

Mein Fall: IM Online

Anfangs hatte ich auf dieser Seite das Plugin IM Online installiert. Es hat bei jedem Aufruf den Status meiner Messenger abgerufen. Leider waren die Server so langsam, dass eine inakzeptable Verzögerung eintrat. Teilweise brauchte die Seite bis zu 20 Sekunden, um vollständig zu laden!

Der SuperCache macht das Problem zwar akzeptabel, aber für mich ist das keine hinreichende Lösung. Das Plugin habe ich ohne Ersatz entfernt.

Euer Vorgehen: Deaktiviert Plugins nacheinander und testet, ob die Seite schneller wird. Behaltet nur, was ihr wirklich braucht. Vorsicht besonders bei Widgets und Statusabfragen, die Daten von fremden Servern holen.

Welche Plugins habt ihr schon rausgeworfen, und hat es etwas gebracht?

Nachtrag: WP Super Cache gibt es bis heute, und ich nutze es auf diesem Blog weiterhin. Dazu ist heute auch die Ladezeit für Suchmaschinen wichtiger geworden.

Beitragsbild: eigene Collage mit Logo von Wikimedia Commons (WordPress-Logo), gemeinfrei; die Marke gehört ihrem Inhaber.

$ whoami
Christian Ackermann

Softwareentwickler (C++, C, Java, C#) aus der Oberpfalz, bloggt seit 2001 über Linux, Technik und Kochen.