Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:

Autor Thema: Pagespeed und Image-Caching  (Gelesen 399 mal)

Offline AGI

  • Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • Teile Beitrag
    • AGI - Andreas Guder Internetagentur
Pagespeed und Image-Caching
« am: 04. April 2019, 09:13:08 »
Guten Morgen,

unser Freund Google bemängelt beim prüfen des Pagespeeds schon seit geraumer Zeit das nicht optimale Caching.
Für Bilder wird vorgeschlagen, den Cache auf mindestens 1 Jahr zu stellen.
Das kann natürlich zu Problem führen, wenn ein Bild innerhalb des Zeitraums verändert wird.
Daher liefert Google auch gleich den Lösungsvorschlag mit: Einen Hash-Wert an die Bild-URL anzufügen, Beispielsweise einen Timestamp.

Nun könnte man beim Ausliefern des Bildes jedes Mal dessen Bearbeitungszeit auf dem Server abfragen und an die URL anfügen. Das ist in meinen Augen jedoch nicht sehr effizient.
Ich fände es besser, wenn das Image-Processing das Datum der Bearbeitung in den Bild- und Produkttabellen abspeichert. Diese Timestamps lassen sich dann beim Erzeugen der Bild-URLs einfach daran anfügen. (mein_bild.jpg?v=123456789)

Leider ist eine solche Änderung in der aktuellen Shopversion 2.0.4.2 rev 11374 nicht updatesicher möglich.
Daher wollte ich die Idee erst hier Diskutieren bevor ich Core-Dateien individuell verändere. Und wer weiß, vielleicht nimmt das Team den Vorschlag in die nächste Shopversion auf.

Viel muss ja nicht angepasst werden:
1. Datenbanktabellen um Timestamp-Spalte erweitern
2. Timestamps beim beim durchführen des Image-Processings speichern
3. Produkt-Klasse anpassen um den Timestamp auszulesen und beim erzeugen der Bild-URLs anzufügen
4. Caching für Bilder in der .htaccess auf 1 Jahr stellen

Ok, für Bilder die Keine Produktbilder sind, bräuchten wir noch eine andere Lösung.

Viele Grüße
Andreas

Linkback: https://www.modified-shop.org/forum/index.php?topic=40164.0

Offline FräuleinGarn

  • Viel Schreiber
  • *****
  • Beiträge: 2.672
    • Teile Beitrag
Re: Pagespeed und Image-Caching
« Antwort #1 am: 04. April 2019, 10:28:13 »
Gute Idee.

Aber könnte es nicht ein Problem sein, wenn man die Bilder nicht per imageprocessing generieren lässt, sondern selbst verkleinert und hochlädt per ftp? Da würde das mit dem Zeitstempel nicht angehangen werden, oder?

Gruß Timm

Offline manne35

  • Fördermitglied
  • *****
  • Beiträge: 413
  • Geschlecht: Männlich
    • Teile Beitrag
    • Edelsteine und Heilsteine
Re: Pagespeed und Image-Caching
« Antwort #2 am: 04. April 2019, 10:38:55 »
Wäre ich vorsichtig mit.
... Jedenfalls früher, zur Internet Steinzeit, dauerte es lange bis Bilder ein gutes Ranking bekamen, ...die bei jeder Bildnamensänderung auch wieder leicht futsch war.... Aber wie gesagt, ich bin da kompostie...

---> OK habs kapiert, dies wäre ja sowieso nur bei einer Bild Änderung der Fall, dann ist das hinfällig.
Ändert Ihr eigentlich oft die Bilder ?... Bei mir ist das sehr sehr selten.

@  AGI
zu was für Problemen könnte das denn führen wenn ein Bild geändert wird ?

Offline FräuleinGarn

  • Viel Schreiber
  • *****
  • Beiträge: 2.672
    • Teile Beitrag
Re: Pagespeed und Image-Caching
« Antwort #3 am: 04. April 2019, 10:48:12 »
Bilder sind mittlerweile größtenteils schneller über die Bildersuche zu finden, als die Seite im Index landet. Oft schon nach 24h. Zumindest wenn sie in der Sitemap stehen und einen aussagekräftigen Namen haben. Ist bei mir zumindest so durch Nutzung einer automatischen Sitemap inkl Bilder und automatischen SEO Bildernamen.

Gruß Timm

Offline AGI

  • Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • Teile Beitrag
    • AGI - Andreas Guder Internetagentur
Re: Pagespeed und Image-Caching
« Antwort #4 am: 04. April 2019, 10:51:29 »
Das Problem entsteht, wenn der Cache auf 1 Jahr gesetzt wird und die Bilder ohne Hash verwendet werden.
Eine Änderung des Bilds führt dann nicht dazu, dass die Browser es nicht neu laden sondern weiter davon ausgehen, dass es unverändert ist.

Daher wird eine Lösung erforderlich sein, auch für Kategorie-Bilder und Co,
Oder der Cache wird nur für Produktbilder per htaccess auf 1 Jahr gesetzt, wenn das geht?

Der Hash-Wert an der URL verändert ja das eigentliche Bild nicht, sodass die Bildersuche bei Google auch noch ein Bild mit altem Timestamp finden wird. Das sollte also keinen Einfluss haben, oder sehe ich das Falsch?

@Timm, ja, Bilder ohne imageprocesing werden nicht erfasst.
Da ich im Moment aber von Produktbildern ausgehe die im Normalfall über den Shop hochgeladen werden, sollten alle prozessiert werden.

Viele Grüße
Andreas

Offline FräuleinGarn

  • Viel Schreiber
  • *****
  • Beiträge: 2.672
    • Teile Beitrag
Re: Pagespeed und Image-Caching
« Antwort #5 am: 04. April 2019, 11:16:41 »
Ich mach das auch über immer über das imageprocessing mit geänderter Schärfung. Wollte es nur mal als Gedanken mit aufzählen, da es scheinbar einige gibt, die mit der Qualität des Imageprocessing nicht zufrieden sind und deshalb die Bilder selbst hochladen. Vielleicht gäbe es ja eine Lösung, die für alle funktioniert.

Gruß Timm

Offline Hetfield

  • modified Team
  • *****
  • Beiträge: 732
    • Teile Beitrag
    • MerZ IT-SerVice - Internetsolutions for eCommerce and eBusiness
Re: Pagespeed und Image-Caching
« Antwort #6 am: 04. April 2019, 11:22:36 »
Hier mal eine Klassenerweiterung, die das Datum des Artikelbilds per filemtime ausliest und anhängt.

MfG Hetfield  8-)

Offline AGI

  • Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • Teile Beitrag
    • AGI - Andreas Guder Internetagentur
Re: Pagespeed und Image-Caching
« Antwort #7 am: 04. April 2019, 11:42:08 »
Hallo Hetfield,

an diese Lösung dachte ich auch zuerst. Das wäre ja auch updatesicher möglich.
Aber:
Die Erweiterung liest bei jedem Mal, wenn ein Produktbild ausgegeben werden soll, dessen Erstellungszeit aus.
Aus performance-Gründen hätte ich diese Zeit aber gern in der Datenbank, um sie nicht immer neu ermitteln zu müssen, wenn nichts geändert wurde.

Viele Grüße
Andreas

Offline Alfred

  • Experte
  • *****
  • Beiträge: 2.096
    • Teile Beitrag
Re: Pagespeed und Image-Caching
« Antwort #8 am: 04. April 2019, 17:09:15 »
unser Freund Google bemängelt beim prüfen des Pagespeeds schon seit geraumer Zeit das nicht optimale Caching.
Für Bilder wird vorgeschlagen, den Cache auf mindestens 1 Jahr zu stellen.
Das kann natürlich zu Problem führen, wenn ein Bild innerhalb des Zeitraums verändert wird.

Für solche Fälle gibt es doch eine Bilder-Sitemap.
Wie lange was gecacht wird kann man ja in der .htaccess festlegen.
Das heißt doch nicht das Google erst in einem Jahr wieder kommt und crawlt.
Es ist nur eine Anweisung für den Browser der Nutzer.

Alles andere was den Bildnamen ändert ist nicht zu empfehlen wenn man schon rankt.

Offline AGI

  • Mitglied
  • ***
  • Beiträge: 201
  • Geschlecht: Männlich
    • Teile Beitrag
    • AGI - Andreas Guder Internetagentur
Re: Pagespeed und Image-Caching
« Antwort #9 am: 04. April 2019, 17:25:39 »
Hallo Alfred,

An der Stelle reden wir aneinander vorbei.
Zitat
Das heißt doch nicht das Google erst in einem Jahr wieder kommt und crawlt.
Es ist nur eine Anweisung für den Browser der Nutzer.
Google ist an der Stelle auch egal.

Wenn der Cache nun mit einem Jahr festgelegt wurde und sich das Bild zwischenzeitlich ändert, muss der Browser des Nutzers nun auch das neue Bild laden. Und das wird wohl nur mit angefügtem Timestamp geschehen.

Offline noRiddle

  • Experte
  • *****
  • Beiträge: 9.799
  • Geschlecht: Männlich
    • Teile Beitrag
    • Webdesign Bonn - Köln
Re: Pagespeed und Image-Caching
« Antwort #10 am: 06. April 2019, 14:15:54 »
...
Aber:
Die Erweiterung liest bei jedem Mal, wenn ein Produktbild ausgegeben werden soll, dessen Erstellungszeit aus.
Aus performance-Gründen hätte ich diese Zeit aber gern in der Datenbank, um sie nicht immer neu ermitteln zu müssen, wenn nichts geändert wurde.
...

Der Tabelle products ein Feld hinzuzufügen welches automatisch von der product-Klasse ausgelesen wird ist doch mittels $add_select_product möglich und die Klassenerweiterung liest das neue Feld aus und hängt es an den Bildnamen an.
Ich weiß, den Zeitstempel in das neue Feld zu speichern bei Upload eines Bildes ist das Problem.
Das dürfte man allerdings mittels Klassenerweiterung der catagories-Klasse im Backend lösen können.
Code: PHP  [Auswählen]
$this->catModules->insert_product_after($products_data,$products_id);
Auch wäre es möglich das per Ajax zu lösen, denke ich.

Generell finde ich übrigens, daß es Zeit wird auch den Kategorie-Bildern standard-mäßig ein Imageprocessing zu verleihen.

Gruß,
noRiddle


Teile per facebook Teile per linkedin Teile per twitter