WordPress anpassen: wp-cache, iphone-theme und Google Page-Speed

Jaja,.. Wenn man sich mal in was verbissen hat.
Nachdem ich also gestern etwas am Server rumgeschraubt hatte und WordPress ein Caching verordnete, machte ich mir so meine Gedanken, was man denn noch tun könnte…

Ein Blick in Google Analytics zu werfen ist dabei sicher keine falsche Idee.
Dabei fiel mir auf, das mit sinkender Zugriffszeit auch die sogenannte „Bounce Rate“  ein wenig zurück zu gehen scheint.
Ich werde es beobachten.

Beim Quersurfen durch Analytics fielen mir dann noch diverse Besucher auf, die meinen Blog hier tatsächlich mit einem mobilen Endgerät wie dem iPhone besuchen. Nicht wirklich viele, aber immerhin.

Also, „all Hands on Deck“, wie wir so sagen, und Klar zur Runde 2….

Nachdem ich also alles, was ich gestern beschrieben habe auch hier auf plusweb.ch angewendet hatte, wollte ich mal sehen Was Google Page-Speed denn so zu sagen hat. Also Firebug und Page-Speed im Firefox installiert und … Sicht doch gar nicht soo schlecht aus: 83 von 100. Bei dem suboptimalen WordPress-Theme ist das doch gar nicht so schlecht.

Die beiden roten Ausrufezeichen „Leverage browser caching“ und „Combine external Javascript“ müssen irgendwie weg. Das Gemecker wegen dem Affili.net Banner sollte ebenfalls in den Griff zu kriegen sein und das der Theme-Programmierer vergessen hat bei einigen Grafiken die Dimensions zu setzen… Naja.

Zunächst geht es dem Leverage browser caching an den Kragen.

Dazu benötigt unser Häuptling vom Stamm der Apachen ein Modul mit dem Namen mod_expires, das recht einfach über die Root-Shell mittels

a2enmod expires

nach zu installieren ist.

Im Stammverzeichnis der Blog-Domain öffne ich dann die .htaccess und schreib folgendes rein:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault „access plus 1 hour“
ExpiresByType text/html „access plus 1 month“
ExpiresByType image/gif „access plus 2 month“
ExpiresByType image/ico „access plus 2 month“
ExpiresByType image/jpeg „access plus 13 month“
ExpiresByType image/png „access plus 2 month“
ExpiresByType text/css „access plus 13 month“
ExpiresByType text/javascript „access plus 6 month“
ExpiresByType application/x-javascript „access plus 6 month“
ExpiresByType text/xml „access plus 10 seconds“
</IfModule>

Damit ist dann schon mal ein rotes Ausrufezeichen weg – und, welch Freude: Das zweite gleich mit.
88 Punkte von 100 lautet nun die Analyse von Google Page Speed.

Zum Thema Combine External JavaScript werden mir nur Google-Adsense Scripts angezeigt.
Von denen lass ich mal die Finger.

Bei „Minimize DNS-Lookups“ kann man aber wieder an der Schraube drehen, da es sich dabei um ein von mir gedankenlos gesetztes Hosteurope Banner über Affili.net handelt.
Dort bieten sich zwei Möglichkeiten: Entweder die Grafik lokal abspeichern und selbst „serven“ oder das Ding einfach  rauswerfen.

Ich hab dann letzteres gemacht.
Das Banner ist eh einen Tick zu breit und von Konversion muss man nicht sprechen. Also weg damit.

92 Punkte….

Nicht ganz unwichtig erscheint mir das Festlegen von Grössen für Grafiken. Also schnell die Versäumnisse des Theme-Entwicklers nachholen.
Mit dem Design-Editor im WordPress Backend eine einfache Sache.

93 von 100 …

Damit will ich mich mal zufriedengeben, denn die fehlenden Einstellungen wären für diesen Blog hier schlicht zu zeitraubend. Grafiken über eine Subdomain zu senden, ist zwar technisch nicht sonderlich anspruchsvoll, aber die Änderungen im Template resp. ein Gebastel mittels 302-Redirect und VirtualHost Einstellungen für ein, zwei Speed-Punkte ist mir zu aufwändig.

Es bleibt noch eine Baustelle.

Die Besucher, die via iPhone, iPod oder anderem mobilen Endgerät auf meine Seite finden, sollten doch auch eine auf Smartphones angepasste Webseite treffen. Zum Glück gibt es auch hier eine einfache Plug-In Lösung: Das WPTouch iPhone Theme.

Ein paar Klicks später ist das Theme installiert und aktiviert. Sieht gut aus? Nö!
Komisch – Es wird nur manchmal angezeigt. Und dafür erscheinen andere Seiten plötzlich als mobile Theme im normalen Firefox?

Das riecht nach einem Caching-Problem. Und richtig: WPCache und das iPhone-Theme vertragen sich erst dann, wenn die Inhalte für mobile Endgeräte nicht mehr zwischengespeichert werden. Irgendwie logisch, oder?

Zum Glück kann man WP-Cache das mitteilen, in dem man „iPhone, iPod“ und vielleicht schon „iPad“ in die Liste der

Rejected User Agents

mit reinschreibt.
Dann einmal den Cache löschen und … voila .. iPhone und Firefox zeigen unterschiedliche Varianten an. So wie es sein soll.

Hat noch jemand eine Idee, an welcher Schraube noch zu drehen wäre?

4 thoughts on “WordPress anpassen: wp-cache, iphone-theme und Google Page-Speed

  • Hi,
    ich musste auch vor einiger Zeit was für meinen Blog tun und die Zugriffszeiten verbessern, da laut Google-Analyse meine Seite zu langsam war.
    Bis dato hatte ich immer das Plugin WP-Cache benutzt, aber hier fehlt die Möglichkeit gzip zu verwenden. Relativ schnell fand ich dann WP-Super-Cache. Hier ist es möglich gzip zu verwenden.
    Installation und Aktivierung war kein Problem. Auch die Anpassung für das mobile Theme ist hier ähnlich einfach wie bei WP-Cache.
    Also falls Du weiteren Verbesserungsbedarf hast, kann ich dir nur WP-Super-Cache empfehlen, da durch gzip die Ladezeiten doch relativ stark verbessert werden.
    In diesem Sinne,
    einen schönen Abend noch

  • Hallo Alexander,

    vielen Dank für Deinen Tipp mit dem WP-Super-Cache.

    Ich bin aber auf WP-Super-Cache schon in meinem vorherigen Artikel eingegangen: Super-Cache macht zwar gzip möglich, aber auch aus allen Seiten statische HTML-Dokumente. In denen kann man dann keine PHP-Statements oder gar eingelagerte MySQL-Queries mehr ausführen. Z.B. für interne Statistiken etc.

    Wenn Du meine Seite hier mal checkst, dann wirst Du feststellen, das ich es trotz WP-Cache geschafft habe, gzip zu verwenden ;) Verwende einfach das Apache-Modul „mod_deflate“ und .. voila… gzip läuft auch mit WP-Cache – damit auch PHP in den gecachten Seiten.

    Liest einfach mal den vorherigen Artikel, in dem es sich um Optimierungen auf Server-Ebene dreht.

  • Hallo,

    ich nutze auch WP-Cache und konnte dadurch eine sehr gute Leistungssteigerung durch die Datenbankentlastung feststellen. Gibt es eine Möglichkeit, das alle veröffentlichen Beiträge auch ohne Seitenaufruf automatisiert in den Cache gestellt werden, denn gerade bei sehr großen Datenbanken und Zugriffszahlen, müsste das die Leistung doch noch mehr verbessern, oder sehe ich da etwas falsch ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.