Blog

WordPress' Ladezeiten verbessern

Ich habe mich in letzter Zeit ein wenig mit der Ladezeit meines Blogs auseinandergesetzt – nicht zuletzt, weil Google mittlerweile auch “offiziell” die Ladezeit einer Seite mit in die Ranking-Bewertung einfliessen lässt. Dafür gibt es in den Google Webmaster Tools auch einen eigenen Bereich, der die Analyse der Ladezeiten ermöglicht.

Ein probates Mittel, die Ladezeiten zu verbessern, ist die Komprimierung des HTML-Codes. Vereinfacht ausgedrückt, werden die HTML-Seiten dabei einfach ZIP-komprimiert vom Server an den Browser/ Client übertragen, das heißt, dass sie in der Regel auch schneller geladen werden.

Für WordPress gibt es viele Plugins, die eine GZip-Komprimierung des Blogs ermöglichen sollen. Dabei bekommt man das auch ohne extra Plugin mit einer Zeile Code in der functions.php Datei im Theme-Ordner hin:

<?php
ob_start("ob_gzhandler");
?>

ob_gzhandler ist eine PHP-Funktion, die die Ausgabe von HTML-Code GZip-komprimiert.

Ich muss dazusagen, dass mein Hoster diese Funktion unterstützt – dazu ist nämlich die zlib extension von PHP notwendig, sonst funktioniert das Ganze nicht so einfach (über die functions.php-Datei).

Wer also mal ausprobieren will, ob die GZip-Komprimierung funktioniert, schreibt einfach die oben genannte Zeile Code an den Anfang der functions.php Datei. Erscheint danach im Browser keine Fehlermeldung, ist die zlib-extension vorhanden und die Komprimerung läuft. Gefühlt sollte sich die Ladezeit auch schon deutlich verbessert haben. Bei mir gab es eine Verbesserung um ca. 75% – ein stolzer Wert und sicherlich auch gut für Google.

Durch den Einbau der Funktion in die functions.php übersteht das Ganze auch ein Update auf eine neue WordPress-Version, da sich die Änderung/Ergänzung ja auf Theme-Ebene befindet.

Viel Spaß beim Ausprobieren! Wer noch andere Tipps zur Komprimierung oder Verbesserung der Ladezeiten von WordPress hat, kann wie immer die Kommentarfunktion verwenden.

Update: Falls nach der Implementierung im Admin-Bereich Fehlermeldungen auftauchen, kann alternativ auch mal das Plugin wpCompressor von Sergej Müller ausprobiert werden!

51 Kommentare

  1. tux. am 9. Dezember 2009 um 00:26

    Verdammt. Es ist so einfach. Danke für den Tipp, daran hatte ich ehrlich noch gar nicht gedacht!

  2. LexX Noel am 9. Dezember 2009 um 07:06

    Danke auch von Mir für diesen doch eigentlich recht simplen Tipp. :-D

    PS: Wie und mit welchen Code-Schnippsel lest ihr hier in der Sidebar die Daten von dem Feed-Statistik Plugin von Frank bueltge aus?

  3. Dirk am 9. Dezember 2009 um 09:45

    Danke für diesen eigentlich extrem simplen Trick. Ein weiterer Pluspunkt ist die Tatsache, dass kein extra Plugin geladen werden muss, denn wer viele Plugins nutzt, der merkt auch, das WordPress dadurch z.T. deutlich langsamer wird.

  4. Thomas Langel am 9. Dezember 2009 um 10:45

    @LexX Noel:
    Das steht hier unter “Zusatz”: http://bueltge.de/wp-feedstats-de-plugin/171/

  5. Sergej Müller am 9. Dezember 2009 um 10:57

    Das würde bedeuten, dass du seit WordPress 2.5 auf die GZIP-Komprimierung verzichtest? Hui ;)
    Als ich erfuhr, dass WordPress 2.5 keine zuschaltbare GZIP-Unterstützung mitbringt, hatte ich ein Plugin dafür geschrieben: http://playground.ebiene.de/16/plugin-fuer-gzip-komprimierung-der-beitraege-in-wordpress-25/

    Ich dachte, es kennt jeder ;)

  6. der zauberer am 9. Dezember 2009 um 14:06

    hm, ich habe auch nicht gezippt :) woran merke ich denn, wenn in der function eingebaut, ob mein server es unterstützt?

    @Thomas, danke für den Tipp mit den feedstats

    @segej, nein kennt nicht jeder, ich hab es doch tatsächlich immer überlesen, oder mir keine Gedanken darum gemacht :), aber dafür um seo:)

  7. Sergej Müller am 9. Dezember 2009 um 14:10

    @der zauberer
    Das merkst du schnell im Browser: In meinem Artikel (Link oben) hab ich in einem Screenshot gezeigt, wie Safari den GZIP-Stream erkennt und darstellt. Auch Firebug zeigt diese Information. Sonst hier, durch die Eingabe deiner Blog-URL: http://www.gidnetwork.com/tools/gzip-test.php

  8. Schnurpsel am 9. Dezember 2009 um 17:28

    Sofern der Hoster eine php.ini oder das Setzen von php-Optionen in der .htaccess zuläßt, reicht schon ein “zlib.output_compression=On”.

    Aber Achtung, die eigene php.ini (z.B. bei Strato) setzt dann möglicherweise auch andere Einstellungen des Hosters außer Kraft. Man sollte schon wissen, was man tut.

  9. Andreas am 9. Dezember 2009 um 22:11

    Vielen Dank für den Hinweis. Kleine Ursache und wirklich enorme Wirkung!

  10. Thomas D. am 10. Dezember 2009 um 06:53

    Wow, 71% Komprimierung. Endlich schaff ich Ladezeiten um die 4sek. Danke für diesen simplen und genialen Code.

  11. Sergej Müller am 10. Dezember 2009 um 09:16

    Bei all den viel versprechenden Zahlen darf man aber nicht vergessen, dass der Server die Webseiten immer wieder aufs Neue komprimiert – bei jedem Seitenaufruf. Das steigert die Serverauslastung – je nach Anzahl und Komplexität der Seiten – enorm. Nur so am Rande bemerkt. Eine glänzende Medaille hat halt auch ihre Schattenseite.

  12. Schnurpsel am 10. Dezember 2009 um 11:10

    Naja, vielleicht wird die höhere Serverlast wieder ein kleinwenig dadurch kompensiert, daß die Auslieferung der komprimierten Seite selbst etwas schneller geht und der Server sich dann schon eher den neuen Aufgaben zuwenden kann :-)

  13. Wordpress Ladezeiten verbessern: auch css-Dateien per GZip-Komprimierung verkleinern » markensysteme.de am 10. Dezember 2009 um 17:25

    [...] WordPress Magazin erschien vorgestern – mit dem Hinweis auf das neue Qualitäts- und Rankingkriterium in den [...]

  14. Dieter Gotzen am 10. Dezember 2009 um 20:26

    Hallo zusammen,

    bei mir erscheint folgende Fehlermeldung bei der Einbindung als RSS:

    “Warning: gzinflate() [function.gzinflate]: data error in /srv/www/htdocs/k1153/wwwroot/hueckwagazin/wp-includes/http.php on line 1787

    RSS-Fehler: XML error: Reserved XML Name at line 3, column 38″

    Fehlermeldung wird angezeigt im Backend, wo ich eigene Webseiten per RSS eingetragen habe. Wird der Code aus der function.php entfernt, funktioniert alles wieder. Wird die Seite direkt aufgerufen, kommt keine Fehlermeldung. Fehler tritt augenscheinlich nur in Verbindung mit RSS auf.

    LG Dieter

  15. Thomas D. am 11. Dezember 2009 um 07:36

    Nach dem einfügen des Schnipsel funzt alles soweit. Nur kann ich keine Artikel/Seiten mehr erstellen?

  16. Sergej Müller am 11. Dezember 2009 um 12:51

    @Thomas D.
    Ja, die oben vorgestellte Lösung verträgt sich nicht mit dem Beitragseditor (wenn du es meinst). Nimm mein Plugin, da hab ich mitgedacht und eine Abfrage implementiert ;)

  17. © custus.de - Wordpress Tuning #1 am 11. Dezember 2009 um 14:31

    [...] Mein Ziel war es WordPress zu beschleunigen ohne direkt auf Plugins zurück zu greifen, sondern mit einfachen Bordmitteln zu arbeiten. Eine Inspiration war unter Anderem ein Artikel im WordPress Magazin. [...]

  18. Sommer in Hamburg Magazin am 12. Dezember 2009 um 13:58

    Also, dieser Tipp hier zerstörte mir den Feed. Dies kann auch beim cachen passieren …

    Der Tipp und das Plugin von Sergej Müller aber ist toll! Funktioniert bestens. Und zusammen mit WP-CACHE ist meine Site wirklich schneller geworden!

    Dank an alle!

  19. Der Koerper am 12. Dezember 2009 um 21:43

    Es kann manchmal so einfach sein :) Vielen Dank! Ich wusste zwar, dass es eine solche Möglichkeit gibt aber ich habe nicht gewusst, dass es so einfach ist.

  20. Fred am 14. Dezember 2009 um 01:12

    @Sommer in Hamburg Magazin
    dann solltest du mal das really-static plugin probieren, das ist bei weitem schneller as WP-Cache :-)

  21. Nitro für dein Wordpress am 17. Dezember 2009 um 16:57

    [...] WordPress-Magazin [...]

  22. Stefan B. am 20. Dezember 2009 um 19:33

    @Sergej Müller: Ich kannte die GZIP Sache bisher auch nicht, ist wohl an mir vorbei gegangen. Das Plugin von dir habe ich gerade aktiviert und damit spare ich nun auf meiner Startseite 25,4k ein. Das ist mri aber doch zu wendig.

    Deswegen meine folgende Frage :

    @All:
    Ich habe auch häufig gelesen, das man GZIP oder Deflate direkt in der .htaccess auf dem Apache Webserver aktivieren kann. Leider geht das bei mir nicht, da mein Hoster mod_gzip und/oder mod_deflate nicht unterstützt und es dort laut Techniker auch nicht aktiviert werden kann.

    Nun meine Frage an alle, kennt jemand einen “günstigen” Hoster, der diese Module unterstützt?

  23. WP!nLof: WP 2.9 updaten, die Features, Ladezeiten, Themes, Mobile, .. | Wordpress, Carmen, Version, Mobile, Plugins, Frontend | Blokster.de am 21. Dezember 2009 um 19:44

    [...] wordpress-magazin.de: WordPress’ Ladezeiten verbessern [...]

  24. Webdesign Profi am 23. Dezember 2009 um 22:50

    Super, vielen Dank für den Tipp, auf die Idee bin ich noch garnicht gekommen. Werde ich gleich mal umsetzen.

  25. Ladezeiten der Webseiten unter WordPress optimieren – Teil 1 - TeraBlog - Brandt Aktuell am 30. Dezember 2009 um 13:24

    [...] durch einen Beitrag im WordPress Magazin habe ich mich in den letzen Tagen vermehrt mit der Verbesserung der Ladezeiten auf meinem Weblog [...]

  26. Toni am 30. Dezember 2009 um 17:53

    Vielen Dank für diesen wirklich sehr wichtigen Hinweis, habe den kleinen Codeschnipsel auch gerade einmal eingefügt und habe schon das Gefühl, das der Blog um einiges schneller Lädt. :)

    Liebe Grüße Toni

  27. Tim am 13. Januar 2010 um 15:11

    ich arbeite derzeit auch daran WordPress etwas feuer unterm hintern zu bereiten. Die hier vorgestellte Funktion ist ohne Caching eher kontraproduktiv da das ständige komprimieren der Seiten sehr auf die CPU stellt.

    So habe ich mir vorgenommen die Renderlast durch schlaues Caching auf ein minimum zu reduzieren.

    Ich werde die Tage mal einen Testblog mit dem Plugin aufsetzen und dabei vielleicht ein paar Benchmarkts präsentieren.

    tim [ä’t) ainfach [p’nI<t) de

  28. Bastelprofi am 21. Januar 2010 um 17:50

    Hallo,

    guter Tipp, gerade bei vielen Fotos. Leider funktioniert das bei mir nicht. Schade

  29. Alex Kempe am 26. Januar 2010 um 11:57

    Danke für den klasse Tipp. Funktioniert bei meinem Provider einwandfrei. Endlich laden meine Bildergalerien schneller und auch die Seiten an sich konnten kräftig zulegen. Durch den Tip bin ich von fast 20 Sekunden, bis unten im Browser “Fertig” angezeigt wurde auf unter 10 Sekunden gekommen. Einfach klasse.

    Viele Grüße

    Alex

  30. devisen-forex.de am 28. Januar 2010 um 20:20

    Ich habe auf meiner Seite auch das Problem, dass WordPress extrem lange Ladezeiten hat. Allerdings hilft ab und an auch mal ein Blick über den Tellerrand, denn in meinem Fall lag es nicht an fehlender Komprimierung sondern an 1-2 eingebundenen Tools bzw. Feeds, welche sehr träge reagierten.

  31. Bastelanleitungen am 9. Februar 2010 um 12:26

    Privat bin ich ein großer WordPress-Fan geworden (das ich dank des dazu erschienen Buches auch sehr gut verstehen konnte) und habe eben auch einmal probiert, mein Seite ein wenig schneller laden zu lassen…hätte man auch drauf kommen können ;-) war recht einfach, danke!

  32. Mano am 10. Februar 2010 um 23:08

    Toller Tipp. Habe alles gleich an meinem “Archief” zugefügt. Man kann ja nie genug wissen um den Kopf über Wasser halten zu können.

  33. Stefan am 11. Februar 2010 um 22:41

    Danke für den Tip, wenig Aufwand und super Ladezeiten.

  34. Frank am 14. Februar 2010 um 11:53

    Es darf dabei aber nicht vergessen werden, das die GZip-Komprimierung auch Rechenkapazität kostet.
    Gerade bei einem Blog muss bei einem Eintrag (Kommentar/Artikel) deswegen die Seite jedes mal neu GZipt werden.

  35. Dave am 15. Februar 2010 um 13:39

    Ich habe von einem Leser eine Mail bekommen, in dem er meint folgende Fehlermeldung bekommen zu haben…:

    Warning: ob_start() [ref.outcontrol]: output handler ‘ob_gzhandler’ cannot be used after ‘URL-Rewriter’ in /mnt/web6/30/61/5183661/htdocs/wordpress/wp-content/themes/channel/channel/functions.php on line 2

    Bei mir passiert so was nicht und ich kann die Warnung nicht rekonstruieren. Hat irgendjemand vielleicht eine Idee?

    Danke

    Dave

  36. Mandy am 18. Februar 2010 um 22:59

    Wow, das klingt ja viel zu einfach um wahr zu sein!! :)
    Funktioniert auch problemlos.
    In einem Blog verwende ich momentan das Plugin W3 Total Cache (http://wordpress.org/extend/plugins/w3-total-cache/) – kann ich dieses dann deaktivieren?

  37. Darf's ein Bit mehr sein? Oder warum unser Projektor fliegen lernte! am 22. Februar 2010 um 19:48

    [...] Wer mehr Informationen benötigt, findet den Artikel von Thomas Langel hier. [...]

  38. Daniel am 22. Februar 2010 um 20:27

    Gerade seit dem G. die Ladezeiten mit in Rankingberechnungen aufnimmt, sollte man solche Tricks zumindest mal ausprobieren. Ich habe allerdings mit dem WP super cache Plugin so gute Erfahrungen gemacht, dass ich es jetzt grundsätzlich einsetze. Oder gibt es da irgendwas, was dagegen spricht?

  39. KingOli am 22. Februar 2010 um 23:39

    In den meisten Fällen ist die serverseitige Komprimierung ein probates Mittel, um langsame Leitungen besser auszulasten. Mobile Geräte, die über ein Handynetz die Seite abrufen, profitieren enorm davon.

    Aber gerade für Google ist dies kontraproduktiv. Denn zum Einen hat Google beim Abrufen der Seite kein Bandbreitenproblem, zum Anderen bedeutet die Komprimierung mehr Serverlast und damit eine längere Zeit, bis die Seite beim Client, also Google, ankommt.

  40. Finetuning und Facebook – freeQnet am 1. März 2010 um 21:15

    [...] Das geht ganz simpel ohne Plugin, wenn der Webhoster die Kompression aktiviert hat und man diesen kleinen Tipp befolgt. Bei mir verkleinert’s das HTML, CSS und JS um etwa 75% – das macht schon ne [...]

  41. KOCHWERKSTATT Wo es so lecker ist! am 8. März 2010 um 20:02

    [...] WordPress Magazin wird ein Code-Schnipsel vorgestellt und erklärt, wie man die Ladezeiten von Seiten in Blogs, die von WordPress [...]

  42. kaiser am 10. März 2010 um 17:37

    Der von Sergej Müller angebotene Link ergibt bei Test meiner Seiten (WP 2.9.x+), dass GZip wohl wieder automatisch in WP drinnen ist. Sehr schön. Trotzdem danke für den Link.

  43. Ladezeit Verbessert? - czoczo.de am 22. März 2010 um 11:07

    [...] einen Kurzen php Eintrag sollte Laut WordPressMagazin der Ladezeit des Blog wesentlich sich verkürzen . Ich habe das Ausprobiert . Und wie es Aussieht [...]

  44. Farlif Sonnenschein am 5. April 2010 um 08:21

    Hallo,
    habe die Zeile gerade implementiert – es “fühlt” sich schneller an! Aber YSlow meint immer noch, dass ich die Dateien gzippen sollte. Ja, wie denn nun?
    Grüße!

  45. » Wordpress Geshwindigkeit optimieren! - Think23 – A Webworkers Diary am 20. April 2010 um 11:43

    [...] Einen sehr interessanten Artikel um die Geschwindigkeit von WordPress via Cache oder GZip zu optimieren findet Ihr hier. [...]

  46. Peter am 19. Mai 2010 um 14:51

    Hilfe,
    ich habe grade die drei Zeilen bei mir reinkopiert und jetzt geht garnichts mehr, weder meine Seite wird angezeigt noch der Admin Bereich ist aktiv, bin direkt nach dem Speichern rausgeflogen und konnte mich nicht mehr einloggen.

    Kann ich die functions.php über den FTP Zugang wieder richten oder ist jetzt mein 1 Jahres Projekt zerschossen?

  47. Thomas am 19. Mai 2010 um 14:59

    Hi Peter,

    genau – einfach die functions.php (ohne Erweiterung) wieder über FTP hochladen, dann sollte wieder alles funktionieren.

  48. Apps am 20. Mai 2010 um 11:20

    Hallo,

    ich haben den Code-Schnipsel auch hinzugefügt und die Komprimierung habe ich getestet. Es funktioniert, leider hat es mir aber die RSS-Feeds zerschossen.

    Darf zwischen dem Code-Schnipsel und den weiteren Code ein Abstand sein, etc.?

    Wie kann es verhindert werden, dass die Feeds betroffen werden?

    :o
    apps

  49. Apps am 20. Mai 2010 um 13:03

    Ich antworte mir mal selber. Ich habe den Code erneut ganz oben in die functions.php eingebunden und keine Leerzeile zum weiteren Code gelassen. Jetzt läuft es perfekt. Komprimierung 79%. Super!!!

    Vielen Dank an den hellen Kopf, der diese Lösung ohne zusätzliches Plugin ersonnen hat.

    :o
    apps

  50. Windows Phone 7 am 26. Juli 2010 um 10:58

    Mein Blog sagt danke!
    Das ist eine sehr spürbare und effektive Verbesserung.
    MERCI!

  51. Andreas am 16. August 2010 um 11:52

    Hallo,

    vielen Dank für den tollen Tipp. Ich habe die Ladezeiten mit einen Tool (vorher und nachher) gemessen und es hat sich sehr verbessert.

    Geniale Sache!

Kommentar schreiben




Newsletter & Updates

Trag' Dich ein, um die neuesten Artikel per E-Mail zu erhalten!

Die letzten Kommentare

  • dirk: Das ganze ist extremst praktisch muss ich sagen! Die Seiten die man damit aufbaut sind besser geordnet und es...
  • Chris: Hmmm… also ich hatte bisher immer den entgegengesetzten Effekt. Immer wenn ich Themes gesucht habe, fand...
  • Obertauern: Vielen Dank für diesen wirklich hilfreichen Artikel, ich habe schon oft versucht xammp zu installieren,...
  • Rhein Neckar Kreis: Ich sage mal Danke an die Wordprss Macher, je mehr “kleine” es nutzen und die Plugins...
  • Marcel: Es gibt dafür ein Plugin, nennt sich Page Link Manager. Einfacher gehts nun wirklich nicht mehr.

    Feedleser

    • Gesamt: 1150 (Letzten 31 Tage)
    • Maximum: 342 (6. March 2010)
    • Durchschnitt: 37