Ruhig war es in letzter Zeit auf dem Blog. Dies lag unter anderem daran, dass ich mich der Optimierung der Seite gewidmet habe und wir mit dem Blog auf einen neuen Virtual Server von Host Europe umgezogen sind. Die getätigten WordPress Speed-Optimierungen mittels Plesk 11.5 und nginx will ich euch natürlich nicht vorenthalten.
Voraussetzung für dieses Tutorial ist eigentlich nur ein Webspace oder Server mit Plesk 11.5. nginx ist Webserver-Software, Reverse- und E-Mail-Proxy in einem und wurde unter der BSD-Lizenz veröffentlicht. Bei Plesk sind die benötigten Module integriert und müssen nur über das Parallels Plesk Panel installiert werden. Wie bei jeder Installation, sollte vorher ein Snapshot angelegt werden, um gegebenenfalls kurzfristig den Urzustand wiederherzustellen. Bevor wir mit der Plesk-Konfiguration beginnen können, müssen wir das Paket php5-fpm installieren. Für Ubuntu Server lautet der Befehl beispielsweise: apt-get install php5-fpm .
Einrichtung unter Plesk 11.5.30
Nach dem Login in das Parallels Plesk Panel kann über den Menüpunkt „Komponenten hinzufügen oder entfernen“ unter Start > Systemüberblick das Parallels Update-Menü gestartet werden.
Hier können nun der Menüpunkt „Nginx web server and reverse proxy support“ und dessen zwei Unterpunkte „Nginx reverse proxy support“ und „php-fpm support for nginx“ zur Installation ausgewählt werden.
Wenn die Installation erfolgreich verlaufen ist, kann unter den Webserver-Einstellungen der jeweiligen Domain die Nginx-Einstellungen vorgenommen werden und php-fpm aktiviert werden.
Wenn nun alle Haken gesetzt sind sollten untensehende Regeln in die „Zusätzlichen Nginx-Anweisungen“ mit aufgenommen werden. Dies ist notwendig, weil der Apache die Dateien nicht mehr ausliefert und somit auch die Module wie mod_rewrite, mod_headers, usw. nicht mehr funktionieren, da nginx jetzt unsere zentale Anlaufstelle ist.
if (!-e $request_filename){ rewrite ^(.*)$ /index.php break; } location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ { expires 30d; add_header Pragma public; add_header Cache-Control "public"; try_files $uri @fallback; } gzip on; gzip_proxied any; gzip_types text/plain text/xml text/css application/x-javascript; gzip_vary on; gzip_disable "MSIE [1-6]\.(?!.*SV1)";
Die erste Regel bewirkt, dass der Rewrite der index.php weiterhin funktioniert. Die zweite Regel setzt den Expire-Header der statischen Dateien in der Klammer auf 30 Tage und die letzte Regel regelt die gzip-Komprimierung. Wichtig ist, dass die statischen Dateien aus der 2. Regel (js|css|png|jpg|jpeg|gif|ico) in dem Feld unter „Statische Dateien direkt durch Nginx bedienen“ nicht mehr vorkommen, denn standardmäßig stehen die Dateiendungen dort mit drin und dann wird kein expire-Date für diese Dateien gesetzt, was Google Pagespeed negativ beeinträchtigt.
Fazit
Die Auswirkungen, die aufgrund dieser kleinen Änderungen geschehen, sind enorm. Nicht nur der Google Pagespeed unserer Seite hat sich um 5 Punkte von 88 auf 93 gesteigert, auch vom Gefühl her ist die Seite deutlich performanter. Eine schnelle Seite hat ebenfalls Auswirkungen auf die Bounce-Rate, diese konnten wir um 5% senken. Hier spielen natürlich noch andere Faktoren mit, aber kein User besucht gerne eine langsame Internetseite.
Was sind eure Erfahrungen mit den Einstellungen? Habt ihr weiteres Verbesserungspotential? Feedback ist erwünscht und über einen Klick auf den Flattr-Button würden wir uns auch sehr freuen.
14 Kommentare
Schreibe einen Kommentar →