Webseite tunen – Google Pagespeed über 90 Punkte

Die Geschwindigkeit, wie lange es dauert, eine Webseite aufzurufen ist nicht nur für die Nutzererfahrung wichtig. Auch das Ranking in Suchmaschinen kann dadurch beeinflusst werden.
Suchmaschinen möchte ihre Nutzer natürlich auch lieber an schnelle und gut funktionierende Webseiten schicken, als an lahme Krücken.

Und Besucher kommen auch eher freiwillig wieder, wenn die Webseite schnell und zuverlässig funktioniert.

Wenn Sie zum Beispiel ein Forum Betreiben, dann möchte kein Besucher bei jedem Klick Sekunden (gefühlte Ewigkeit) warten müssen, bis die nächste Seite aufgeht.

Google hat für das Messen der Geschwindigkeit des Aufbaus einer Webseite ein Tool.
Den Pagespeed Checker.

Der Traumwert jedes Webseitenbetreibers ist natürlich in den Grünen Bereich zwischen 90 und 100 zu kommen.
Der Pagespeed Checker unterscheidet bei dem Test zwischen Mobile Gerät und Desktop (Also PC/Laptop).

Der Mobile Test ist meist niedriger, als der vom Desktop.
Das liegt daran, dass beim Mobil Test, ein Mittelklasse-Mobiltelefon mit Mobilfunk Geschwindigkeit simuliert wird.
Ein Smartphone hat nicht so viel Rechenleistung wie ein PC und die Internetgeschwindigkeit ist oft auch langsame als eine Standleitung zu Hause oder im Büro.

Das hier sind die Werte die meine Webseite erreicht

Mobil:

Desktop:

100 hab ich selbst noch nie erreicht. Das geht wohl mit einer einfachen statischen Webseite, die nur Text enthält.
Mit WordPress, das im Hintergrund Daten aus eine Datenbank lädt und jede Menge CSS und Javascript Code beinhaltet, wird das schon schwieriger.

Diese Werte erreicht man auch nicht ohne Cache Plugins und anderem Feintuning.

Ohne Caching mit WordPress-Plugins und Apache Caching, hatte ich eher so um die 45 erreicht.

Aber wie komme ich mit dieser Webseite auf solche Werte.
Zunächst, diese Webseite läuft auf einem physischen Server in einem Rechenzentrum in Deutschland.
Der Server hat einen AMD Ryzen 5 3600 Prozessor, 64 GB DDR4 RAM und eine NVMe SSD Festplatte.
Und diese Hardware steht nur mir zur Verfügung. Der Server wir mit niemand anderen geteilt.
Es laufen schon noch anderen Webseiten und Mailserver Dienste darauf. Aber dafür hat er mehr als genug Ressourcen.

Also, wenn man seine Webseite bei einem Hoster betreibt und dafür 4 Euro im Monate bezahlt, wird man evtl. diese Werte nicht erreichen können, weil diese Server von den Hosting Providern viele Webseiten hosten und man sich die Ressourcen mit den andern teilen muss.
Oft sind diese Server auch noch virtualisiert.

Mit virtuellen Root Server habe ich gute und weniger gute Erfahrungen gemacht. Virtuelle Server laufen auf physischen Servern. Auch hier müssen sich die virtuellen Server die Ressourcen des physischen Servers teilen. Da kann es auch zu Lastspitzen und CPU, Speicher oder I/O Engpässen auf den Disken kommen.
Ich hatte flotte virtuelle Server, aber mit langsamer Internetanbindung und vServer mit schnellem Internet aber immer wieder Probleme mit der Auslastung.

Zurück zu meinem Pagespeed Ergebnis

Um das zu erreichen, musste ich die WordPress-Plugins
Jetpack von WordPress.com
WP Super Cache
Autoptimize
installieren und den Apache Disk Cache aktivieren (Ob das bei dem jeweiligen Hosting Anbieter möglich ist, muss man evtl. anfragen)

In Jetpack (Man muss sich dafür bei WordPress.com anmelden) nutze ich diese Einstellung:

Jetpack Einstellung

Die ist eine Art CDN (Content Delivery Network). Das bedeutet, das Bilder und statische Seiten auf den Servern von WordPress.com rund um die Welt gehostet werden können. Dadurch sind diese Seiten auch aus anderen Ländern schneller abrufbar. Ein Besucher aus z.B. Australien lädt diese Seite dann nicht vom Server in Deutschland, sondern von einem WordPress.com Server, der in Australien steht.

Das WP Super Cache Plugin hat folgenden Einstellungen:

Und Autoptimize folgende:

Wer seinen Apache Webserver selbst betreibt, kann noch das Disk Cache Modul aktivieren.
Befehl: a2enmod cache_disk

Aber Achtung. Damit WordPress mit dem Apache Cache richtig funktioniert, muss in der .htaccess Datei von WordPress folgendes geändert werden.

#RewriteRule . /index.php [L]
RewriteRule ^(.*)$ /index.php/$1 [L]

Wenn man das nicht ändert, wird man ein “wirres” Verhalten feststellen. Die Startseite ist plötzlich irgendein Blogeintrag usw.

Die Apache Disk Cache Konfiguration

Das mod_cache bzw. mod_cache_disk Modul ist bei mir so konfiguriert:

/etc/apache2/mods-enabled/cache_disk.conf

<IfModule mod_cache.c>
    CacheQuickHandler Off

    CacheHeader Off
    CacheDetailHeader Off

    CacheIgnoreNoLastMod On
    CacheDefaultExpire 180
    CacheMinExpire 5
    CacheStoreExpired Off
    CacheLastModifiedFactor 0.5

    CacheIgnoreCacheControl On
    CacheIgnoreHeaders Set-Cookie Cookie
    CacheLock on
    CacheLockMaxAge 5
    CacheDisable /wp-admin
    CacheDisable /wp-content
    CacheDisable /wp-login.php
    CacheDisable /wp-cron.php

    SetOutputFilter CACHE
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript application/rss+xml text/xml image/svg+xml
<IfModule mod_cache_disk.c>
    CacheRoot /var/cache/apache2/mod_cache_disk
    CacheEnable disk /
    CacheDirLevels 2
    CacheDirLength 1
    CacheMaxFileSize 20000000
</IfModule>
</IfModule>

Mit diesen Einstellungen sollte der PageSpeed Test deutlich bessere Werte liefern.

Nachwort

Der “Mobil” Wert kann aber bei jedem Test stark variieren.
Der “Desktop” Test schwankt nicht so stark zwischen den Tests.

Kommentar verfassen

Christian Hummel