Speed up your WordPress
11 Jul 2010 — 0 Comments — — Estimated reading time: 3 minutes read
Geschwindigkeit einer Website ist ein wichtiger Faktor für die User Experience einer Website. Und seit Anfang des Jahres natürlich auch ein wichtiger Faktor für das Google Ranking einer Website.
WordPress ist Out-of-the-box nicht unbedingt ein Performance Biest. Aber mit ein wenig Tuning ist das schon recht gut hinzukriegen.
Folgende Aufgaben sind bei der Optimierung zu erledigen:
- Caching der generierten WordPress Seiten
- Zusammenfassen von Javascript und CSS Dateien in jeweils eine Datei
- Aktivierung des Cachings von statischen Dateien
Die ersten beiden Aufgaben habe ich mithilfe von zwei WordPress Plugins realisiert: WP Super Cache und WP Minify. Die dritte Aufgabe lässt sich auf einem Shared Hosting Server mit Hilfe von .htaccess realisieren.
Über WP Super Cache habe ich ja bereits geschrieben, allerdings ist jetzt eine neue Konfigurationsmöglichkeit hinzugekommen. Seit neuestem kann man automatisch für alle WordPress Seiten statische Abbilder der Seite im Voraus generieren. Ich habe es so konfiguriert, dass die Caches automatisch alle zwei Stunden neu generiert werden.
WP Minify fasst alle in einem Template vorhandenen CSS und Javascript Files automatisch zusammen. Das Plugin musste ich nur installieren und schon funktionierte es einwandfrei.
Die letzte Aufgabe, das Caching von statischen Dateien, lässt sich durch einfaches Einfügen von folgendem Code in die .htaccess Datei aktivieren. Die Dateien werden für zwei Monate gecacht, das lässt sich aber natürlich anpassen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | # Expire headers 5184000 Sekunden = 2 Monate <ifmodule mod_expires.c=""> ExpiresActive On ExpiresByType image/x-icon "access plus 5184000 seconds" ExpiresByType image/gif "access plus 5184000 seconds" ExpiresByType image/jpg "access plus 5184000 seconds" ExpiresByType image/png "access plus 5184000 seconds" ExpiresByType text/css "access plus 5184000 seconds" ExpiresByType text/javascript "access plus 5184000 seconds" ExpiresByType application/javascript "access plus 5184000 seconds" ExpiresByType application/x-javascript "access plus 5184000 seconds" </ifmodule> # BEGIN Cache-Control Headers <ifmodule mod_headers.c=""> <filesmatch "\\.(ico|jpe?g|png|gif|swf)$"=""> Header set Cache-Control "max-age=5184000, public" </filesmatch> <filesmatch "\\.(css)$"=""> Header set Cache-Control "max-age=5184000, private" </filesmatch> <filesmatch "\\.(js)$"=""> Header set Cache-Control "max-age=216000, private" </filesmatch> </ifmodule> # Turn ETags Off <ifmodule mod_headers.c=""> Header unset ETag </ifmodule> FileETag None |
Durch diese Maßnahmen hat sich die Performance meines Blogs im Vergleich zu vorher deutlich gesteigert.
Marian Steinbach wrote on 12. July 2010 at 09:19: Reply
Statt »access plus 5184000 seconds« kann man übrigens auch »access plus 2 months« schreiben. 🙂
Martin wrote on 12. July 2010 at 10:37: Reply
Ich gebe zu, ich hab’s mir einfach gemacht und den recherchierten Code einfach übernommen :).