Gravatare cachen

Die auch hier bei Kommentaren sichtbaren Global Recognized Avatare (Gravatare) werden über den externen Dienst gravatar.com bereitgestellt, sprich geladen.

Diese Gravatar genannten Bildchen sind nicht groß, aber sie erhöhen die Ladezeit der jeweiligen Webseite. Bei vielen Gravataren werden das auch entsprechend viele http-Requests. Das kann die Ladezeit der Webseite merklich verlangsamen. Wenn die Gravatar-Server stark ausgelastet oder gar überlastet sind, kann das möglicherweise sogar die Verfügbarkeit Deiner Seiten mit Gravataren beeinträchtigen.

Nun habe ich seit gestern hier auf dieter-welzel.de aufgrund der Liste der TOP Kommentatoren in der Sidebar auf jeder Webseite Gravatare (siehe hierzu „TOP Kommentatoren auf dieter-welzel.de„). Damit das möglichst wenig negativen Einfluss auf die Ladezeit und Verfügbarkeit meiner Webseiten hat, musste eine Caching-Lösung her.

Hierzu gibt es seit einigen Monaten eine Lösung von Sergej Müller, die kein Plugin benötigt, aber nicht ganz einfach zu realisieren ist und einige Systemvoraussetzungen mitbringt (siehe hierzu „Gravatar-Bilder in WordPress cachen: Ohne Plugins und Cronjobs“ und die dortigen Kommentare). Eine weitere Lösung ohne Plugin stammt von Tanja aka Crazy Girl (siehe hierzu „Gravatar Cache für WordPress ohne Plugin„, „WordPress: Gravatare cachen und „WordPress Gravatar Cache mit automatischer Aktualisierung“). Leider ist auch diese Lösung anspruchsvoll und setzt drei Ordner mit 777-Schreibrechte auf Eurem Webspace voraus. Mein Hoster erlaubt aus Sicherheitsgründen keine 777-Schreibrechte.

Pech gehabt? Mitnichten.

Es gibt auch Plugin-Lösungen. Und auf Anhieb überzeugt hat mich da das WordPress-Plugin GravatarLocalCache von Oliver Schaal (siehe hierzu „WordPress Plugin: GravatarLocalCache„). Da kannst Du nach Aktivierung unter Einstellungen -> GravatarLocalCache lediglich die Cache-Zeit einstellen, aber bekommst dort auch eine kleine Cache-Statistik angezeigt. Ich habe es erst einmal bei den standardmäßig eingestellten 72 Stunden (= 3 Tage) Cache-Zeit belassen. Geschwindigkeitsmessungen mit den Pingdom Tools und dem Firefox-Addon Firebug unter Netzwerk zeigten inzwischen deutlich kürzere Ladezeiten für die Gravatare. Es dauerte etwas bis durch Seitenaufrufe die Gravatare gecacht sind, aber inzwischen sind das hier laut Cache-Statistik 286 Bilder mit einer Gesamtgröße von 363.8 Kilobytes (KB)!

Inwieweit sich diese Caching-Lösung für Gravatare mit einem weiteren Caching-Plugin verträgt, das ich ebenfalls frisch in Betrieb genommen habe und über das ich demnächst berichten werde, weiß ich noch nicht. Deshalb bin ich Dir dankbar, wenn Du mich über Probleme, die Du beim Besuch dieser Website feststellst, unterrichtest. Sofern es Probleme mit der Kommentierungsfunktion geben sollte, kannst Du dafür auch gerne auf die Kontaktmöglichkeiten zurückgreifen.

16 Kommentare

  1. Crazy Girl sagt:

    Danke für die Erwähnung 🙂
    Ich habs bei mir wieder deaktivert, weils ehrlich gesagt zu einer Verlangsamung geführt hat 😉

  2. Dieter sagt:

    Meinst Du mit deaktiviert, Deine Cache-Lösung für Gravatare ohne Plugin oder das hier verwendete Plugin GravatarLocalCache?

    In der Doku zum Plugin steht, dass es beim erstmaligen Aufruf der Seite mit dem Cache zu einer längeren Ladezeit der Seite kommt/kommen kann, weil die Gravatare erst einmal in den Cache gelegt werden müssen. Wenn man aber – wie ich hier – nun auf jeder Seite Gravatare anzeigt (siehe „TOP Kommentatoren auf dieter-welzel.de„), dann müsste das sehr schnell Geschwindigkeitsvorteile bringen.

    Lediglich bei Google Page Speed (siehe GTmetrix) wird man dafür mit einer schlechteren Punktzahl wegen „Leverage browser caching“ bestraft. Für mich ist aber die kürzere Ladezeit durch grundsätzliche Unabhängigkeit vom Bereitstellen der Gravatare über den externen Dienst gravatar.com wichtiger.

  3. Crazy Girl sagt:

    Ich verwende(te) dafür kein Plugin und habs auch nicht vor 😉

    • Dieter sagt:

      Ich verstehe, dass Du Plugins, wann immer möglich vermeidest.
      Kannst doch bestimmt machen indem Du den Code des Plugins nimmst und in Deine functions.php einbaust. 😛

  4. Crazy Girl sagt:

    und warum sollte ich das wollen, wenn schon meine manuelle Lösung zu erhöhten Ladezeiten geführt hat?

  5. Crazy Girl sagt:

    Nö, daran habe ich so gar kein Interesse 😉

  6. Jeffrey sagt:

    Ich benutze diese Funktion bei mir im Blog nun seit einiger Zeit auch nicht mehr.

    War bei mir auch so, dass es praktisch nichts gebracht hat. Zudem werden die Gravatare bei den Benutzern im Browser-Cache so oder so zwischengespeichert.

    • Dieter sagt:

      Jeffrey, bei mir konnte ich schnellere Ladezeiten feststellen.

      Im Übrigen gibt es auch Nutzer, die ihren Browser-Cache deaktiviert haben und greift der nur, wenn eine Seite durch denselben Besucher bereits geladen wurde. Beim Gravatar-Cache dagegen muss lediglich eine (!) Seite, welche die zu ladenden Gravatare enthält, in den letzten 72 Stunden durch einen beliebigen Nutzer geladen worden sein.

      Irgendwie scheint aber mit den Gravataren, also wohl dem Gravatar-Cache etwas nicht zu stimmen, denn ich sehe im Moment überall nur meinen eigenen Gravatar. Das nennt man wohl Vorführeffekt.

      Werde mich dann mal wieder auf Fehlersuche begeben.

    • Dieter sagt:

      Nachtrag: Die Ursache dafür, dass bei den TOP Kommentatoren plötzlich nur noch mein eigenes Gravatar zu sehen war, konnte ich inzwischen ausmachen. Ich hatte mal die Einstellungen des dafür verantwortlichen WordPress-Plugins TOP Contributors gespeichert und das mochte wohl der Gravatar-Cache nicht. Einmal das WordPress-Plugin GravatarLocaleCache deaktivieren und anschließend wieder aktivieren und das Problemchen war behoben.

  7. Jeffrey sagt:

    Kommt halt immer ein wenig auf die ganze Umgebung an. In einigen Blogs kann es bestimmt helfen.

    Ich bin mit meiner Ladezeit aber auch so sehr zufrieden, sodass ich in diesen Teil keine Zeit mehr investieren möchte.

    • Dieter sagt:

      Jeffrey, jetzt muss ich doch lachen. Das Plugin zu installieren und aktivieren benötigt nicht mehr Zeit als einen Blogkommentar zu schreiben. Und das war es schon. Mehr ist nicht nötig.

      BTW: Ich bin positiv überrascht wie schnell sich die Startseite Deines Blogs aufbaut. Vor allem wenn man bedenkt, dass sie derzeit rund 1400 KB groß ist und 66 http-Requests erfordert! Möchte aber nicht wissen wie langsam sie ist, wenn der Besucher kein DSL 6000 oder mehr hat.

  8. Jeffrey sagt:

    Stimmt mit dem Plugin ist es natürlich kein Problem. Ich war im Hintergedanken immer noch beim selber geschriebenen Cache-Script von Tanja, welches du verlinkt hattest.

    Ich nutze für die ganzen Cache Sachen W3 Total Cache. Hauptsächlich für den Page und Database Cache. Finde ich ausreichend.

  9. Olli sagt:

    Bzgl. des Cachens von Gravatar-Bildern:

    Sicherlich ist mein Plugin nicht das Non-Plus-Ultra, aber es bietet eine kleine Hilfestellung, wichtig ist dabei das man zusätzlich dem Browser auch mitteilt die Bilder länger zu cachen (expires/.htacces, das hilft dann auch gegen eine schlechte Bewertung bei PageSpeed@Dieter – bei gravatar.com sind es 5 Minuten@Jeffrey) und am besten noch ein CDN (über mehrere Blogs hinweg) nutzt.

    Vorteile:
    – eine gewisse Unabhängigkeit von anderen Servern
    – Bei wiederkehrenden Besuchern eine deutlich verkürzte Ladezeit (insbesondere wenn man die Vorhhaltedauer noch weiter erhöht)
    – Weniger DNS-Anfragen
    – …

    Nachteile:
    – bei einmaligen Kurzbesuchen vll. eine höhere Ladezeit (insbesondere bei vielen unterschiedlichen Gravataren und einer nicht optimalen eigenen Serverstruktur)
    – Der Besucher sieht vll. nicht den gerade upgedateten Gravatar
    – …

    Fazit: Es gibt Vor- wie auch Nachteile und eine pauschale Antwort was richtig oder falsch ist gibt es nicht. (Am einfachsten wäre es, wenn Gravatar ein paar Optimierungen vornehmen würde)…

    • Dieter sagt:

      @Olli
      Die Vorhaltezeit habe ich bei mir inzwischen auch deutlich und zwar auf 21 Tage (= 504 Stunden) erhöht. Gravatare werden eher selten geändert und wenn das ein Kommentator doch tut, so dauert es hier halt maximal 3 Wochen bis der neue Gravatar angezeigt wird.

      Wegen Expire Date schau ich noch mal in meiner .htaccess-Datei nach, müsste aber eigentlich gesetzt sein.

      Ein CDN für ein Blog, dass nur im dreistelligen Bereich tägliche Besucher hat und die zudem überwiegend Besucher aus Deutschland sind, halte ich dagegen für überdimensioniert. Die meisten CDN-Lösungen kosten viel Geld und die Server stehen häufig auch nicht in Deutschland.

      Deinem Fazit zu Deinem Plugin GravatarLocalCache kann ich nur zustimmen. Ganz herzlichen Dank dafür, dass Du Deine Lösung als Plugin auch anderen WordPress-Nutzern zur Verfügung stellst.

Hinterlasse eine Antwort

Deine Mailadresse bleibt geheim. Pflichtfelder sind mit * gekennzeichnet.

fünf × drei =

Kommentare prüfe ich grundsätzlich vor einem Freischalten!
Ich bitte um Verständnis für diese Spamschutz-Maßnahme.

Webseite veröffentlicht am Montag, den 10. Januar 2011, um 09:53 Uhr,
zuletzt geändert am Sonntag, den 30. Dezember 2012, um 18:04 Uhr.
Tags: , , , , ,


Statistik: 71 Seiten, 346 Blogartikel, 1.069 Schlagworte, 1.315 Kommentare.
© 2002 - 2018 | WordPress - Mein Layout basiert auf YAML und wird durch Xtreme One angetrieben. 
Diese Website setzt Cookies ein (Datenschutz). Wenn Du diese Website weiterhin besuchst, erklärst Du Dich mit deren Verwendung einverstanden.

Durch die weitere Nutzung der Seite stimmst Du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen