Thema werden auf der Webseite zum Webmaster Friday gesammelt. So kann sich jeder über die Meinung anderer Blogger informieren und sich unter Umständen austauschen.
Das heutige Thema hat zwar nichts mit dem Thema Heimwerken zu tun aber eventuell ist es trotzdem für den ein oder anderen meiner Leser interessant. Wordpress-Blogs beschleunigen ist kein Hexenwerk!
Das heutige Thema: Wordpress-Blogs beschleunigen
Da ich beruflich in der Software-Entwicklung heimisch bin ist das ein Thema zu welchem ich mich mit gutem Gewissen äußern kann. Ich werde in diesem Artikel darauf eingehen wie ich vorgegangen bin um dieses Blog auf die Geschwindigkeit zu bringen unter welcher sie momentan erreichbar ist.
Warum sollte man Wordpress-Blogs beschleunigen?
Die Ladegeschwindigkeit von Webseiten ist aktuell wichtiger denn je, zu Zeiten schneller Internetverbindungen über DSL oder das Kabelnetz erwarten Besucher einer Webseite einfach das Internetseiten und Wordpress Blogs so schnell laden wie es die eigene Internetverbindung hergibt. Darüber hinaus wird es für Suchmaschinen wie beispielsweise Google immer wichtiger beim crawlen auf schnelle Webseiten zu stoßen. Da die meisten Besucher ihre Recherche im Internet über Suchmaschinen starten werden die Suchergebnisseiten als Empfehlung angesehen. Google & Co versucht diesem Gedanken folge zu leisten indem sie schnelle Webseiten in den Suchergebnissen bevorzugen. Wer empfiehlt schon gerne langsame Webseiten?
Geschwindigkeit eines Wordpress-Blogs messen
Bevor man mit der Optimierung der Ladezeiten einer Webseite beginnt, ist es wichtig sich im Vorfeld ein Bild der aktuellen Geschwindigkeit seines Blogs zu machen. Hierfür gibt es mehre Möglichkeiten, neben den in den meisten Browsern integrierten Developer Tools existieren diverse Online-Tools zur Geschwindigkeitsmessung. Mein Lieblingswerkzeug ist in diesem Fall Google Pagespeed Insights von Google. Nach der Eingabe der Domain oder einer einzelnen Domain erhalt man diverse Optimierungs-Tipps um Wordpress-Blogs beschleunigen. Um einen greifbaren Wert zu haben werden hierfür Punkte zwischen 0 und 100 vergeben. Man muss allerdings nicht unbedingt den Wert 100 erreichen, sobald der aktuelle Wert grün hinterlegt ist, sollte es fürs erste reichen. Wie auf dem folgenden Bild, vom Artikel über den Bosch Quigo 2, zu erkennen ist, habe ich mich mit der mobilen Ansicht noch nicht sonderlich beschäftigt, da ich mich aktuell eher auf Desktop Rechner konzentriere. Neben Google Pagespeed Inights gibt es natürlich noch einige weitere kostenlose und etliche kostenpflichtige Werkzeuge.
Meine Tipps zum Wordpress-Blogs beschleunigen
Wie bereits geschrieben stelle ich hier sämtliche Dinge vor die ich hier im Blog zur Optimierung der Geschwindigkeit vorgenommen habe. Ich unterteile die Maßnahmen zur besseren Übersicht in einzelne Kategorien.
Wordpress Plugins
Als einziges Plugin zum beschleunigen der Ladezeit meines Blogs nutze ich das Wordpress Plugin Cachify von Sergej Müller, dem Autor des in der SEO Szene bekannten Plugins wpSEO. Das Plugin speichert die serverseitig generierten PHP Dateien im Dateisystem oder wahlweise im Arbeitsspeicher der Servers ab und liefert innerhalb einer frei definierbaren Zeit diese statischen Dateien aus. Dieser Cache erspart dem Server das neu erzeugen eben dieser Dateien und spart somit, durch weniger notwendige Zugriffe auf die Datenbank, Ressourcen auf dem Server und Ladezeit beim Besucher. Der cache wird invalidiert sobald ein neuer Kommentar freigegeben wird, ein neuer Artikel erstellt oder die definierbare Cache Lifetime abgelaufen ist. Doch nicht nur installierte Plugins, sondern auch nicht installierte Plugins helfen beim reduzieren der Ladezeit. Daher sollte man sich bei jedem Plugin welches man interessant findet überlegen ob es wirklich sein muss. Jedes installierte Plugin frisst Ressourcen! Auch auf deaktivierte Plugins im plugins Verzeichnis der Wordpress Installation sollte man Verzichten. Wordpress überprüft jedes Plugin, egal ob aktiv oder nicht, auf seine Gültigkeit und seinen Status. Auch das kostet Performance!
.htaccess Tweaks zum Wordpress-Blogs beschleunigen
In der .htaccess Datei im Hauptverzeichnis der Webseite steckt viel Potential zur Steigerung der Performance eures Blogs. Hier lassen sich diverse Apache Module konfigurieren.
Caching mit mod_expires
Mittels des Apache Moduls mod_expires legt man fest wie lange einzelne Dateitypen im Cache des Browsers clientseitig gespeichert werden. Meine Konfiguration welche sich bislang bewährt hat sieht wie folgt aus:
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 7 days" </IfModule>
Wie man erkennen kann, werden die meisten Dateien für 1 Jahr, beginnend ab dem ersten Zugriff auf das Blog, im lokalen Cache des Browsers abgelegt. Sobald eine Datei auf dem Webserver geändert wird, beginnt das Spiel von vorn.
Komprimierung mit mod_deflate
Mittels dem Apache Modul mod_deflate werden die konfigurierten Dateitypen vor der Auslieferung an den Client komprimiert. Das spart Zeit bei der Übertragung der Website. Das ist mitunter eine der wichtigsten Einstellung um Wordpress-Blogs beschleunigen. Denn schneller ist einfach besser!
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf AddOutputFilterByType DEFLATE font/truetype font/opentype </IfModule>
Asyncrones laden externer Scripte
Um Wordpress-Blogs beschleunigen sollte man darauf verzichten externe Scripte syncron zu laden. Externe Scripte sind beispielsweise der Tracking Code von Google Analytics, der Facebook Like Button oder generell Social Icons. Eben alle Scripte die von externen Quellen geladen werden. Mittlerweile bieten sämtliche Anbieter solcher Scripte die Möglichkeit diese asyncron zu laden.
Asyncrones laden externer Bilder
Das gleiche was für Scripte gilt, gilt gleichermassen für Bilder externer Quellen. Hiezu gehören zum Beispiel die Benutzerbilder innerhalb der Kommentare von Gravatar wie auch Buttons von Blog- oder RSS Verzeichnissen. Wer Banner anderer Seiten einbaut sollte auch hier darauf verzichten diese von extern zu laden sondern die Banner lokal auf dem Server abspeichern.
Bilder verkleinern
Bitte achtet darauf dass ihr Bilder innerhalb eurer Blogposts vor dem hochladen verkleinert oder ein entsprechendes Wordpress Plugin zu installieren welches euch diesen Job abnimmt. Auch hier gilt je kleiner die Dateien sind desto schneller lädt euere Webseite.
Schlusswort
Wordpress-Blogs beschleunigen ist kein Hexenwerk! Wer die hier geschilderten Tipps berücksichtigt hat binnen weniger Minuten ein merklich schnelleres Blog als je zuvor!
Absolute Zustimmung – Wobei ich finde, dass WordPress auch ohne Caching relativ schnell lädt. Die Hardware hat sich halt weiter entwickelt.
Allerdings bin ich mit Deiner Domain nur auf 87 gekommen 🙂 Bilder so lange zu cachen, ist allerdings gefährlich, da man diese dann nicht mehr ändern kann, da der Browser diese durch das Caching eben nicht mehr neu anfordert.
Ich benutze SuperCache und bin damit sehr zufrieden. Ich nehme mal an, dass sich diese Cache-Plugins alle nicht viel nehmen.
Womit ich gut Erfahrungen gemacht habe (Vor allem bei dem neuen Theme), ist, Bilder in einer kleineren Form einzubinden. Um diese groß anzuzeigen, verwende ich lieber eine Lightbox (Fancybox 2). Dadurch kann man eine Menge sparen.
An das Komprimieren habe ich noch gar nicht gedacht. Danke für diesen Hinweis.
Nur 87? 🙂 Habe kürzlich noch ein wenig mit den Apache Einstellungen zu KeepAlive herumgespielt und hab mittlerweile ein Ergebnis mit dem ich recht gut leben kann
Da ich Bilder relativ selten ändere, kann ich mit der Cache-Zeit leben. Wenn ich ein Bild nachträglich bearbeite erhält es eh einen neuen Namen und wird daher neu angefordert.
Feine Zusammenstellung der Tipps. Danke auch für die Darstellung der Inhalte deiner .htaccess. Die sieht bei mir ähnlich aus.
Die Performance meines Blogs ist unterschiedlich. Das hängst davon ab, ob ich gerade auf dem Eiltrip oder auf dem Schönheitstrip bin. Das richtige Verhältnis von Schnelligkeit und Schönheit/Komfort ist halt leider nicht so leicht zu finden. 🙂