Caching: Produktseiten vs Kategorieseiten

Hallo zusammen,

ich stehe vor dem Problem, dass der TTFB für unsere Produktseiten deutlich länger ist als für die Start- und Kategorieseite(n). 

  • Kann es sein, dass die Produktseiten nicht gecacht werden? (Kann ich das prüfen?)

  • Kann es sein, dass der Ursprung der Problematik in einer Datenbank liegt, die möglicherweise unaufgeräumt ist? Wie viele Datensätze wären dafür wohl notwendig?

  • gibt es andere Ideen?

Ich bin dankbar für jeden Hinweis, Stichpunkt oder Quelle die mir hilft das aufzulösen.

 

Beste Grüße

Falk

Generell werden die Seiten ja lediglich 2 Stunden gecached und danach wieder erneuert. Da man deutlich mehr Detailseiten als Listing-Seiten hat, ist die wahrscheinlichkeit, dass die Seite nicht mehr aus dem Cache kommt, natürlich entsprechend größer. Dazu kommt, dass die Seiten auch über verschiedene Url-Parameter erreichbar sind (bspw. ?number=, ?c=, ?partner=, …) und jede URL hat einen eigenen Cache, da ja häufig auch der Inhalt verändert wird (bspw. ausgewählte Variante oder Breadcrumb). Die Hit-Rate des Caches ist also bei Detailseiten deutlich schlechter als bei Kategorieseiten.

Du kannst dem natürlich entgegenwirken, indem du bspw. die KategorieIDs in den SEO/Router Einstellungen deaktivierst (Breadcrumb passt sich dann nicht mehr der Kategorie an, aus der man den Artikel aufruft). Dann hat man direkt deutlich weniger URLs für Detailseiten, weil es nicht pro Kategofriezuweisung eine eigene URL im Cache gibt. Dann kannst du noch im Performance-Modul im Bereich HTTP-Cache die Caching-Zeiten erhöhen und bspw. auf 12 Stunden stellen.

Hi Moritz, vielen lieben Dank für deine Mühe/Antwort.

Alles gute Informationen die mir in der Fülle nicht alle bekannt waren.

Wenn ich nun aber im Browser meine Produktseite untersuche und mir über die “Network-Ladezeit-Auflistung” ansehe wie, wann und wo geladen wird. Dann sollte ich doch eigentlich spätestens beim 2. laden der Seite eine gecachte Version erwischen mit einem geringen TTFB. Oder sehe ich das falsch?

Ja, spätestens dann sollte die Seite aus dem Cache kommen. Es sei denn, du hast im HTTP-Cache Modul im Performance-Modul die Detailseite aus dem Cache genommen (frontend/detail).

Debuggen kannst du das so: Shopware HTTP cache

Dann siehst du im Antwort-Header des Servers ob die Route aus dem Cache kommt

Super, dann hatte ich das richtig verstanden und bin wohl auf der richtigen Fährte. Den Link gönne ich mir in seiner vollen Breite. Aber in der Tat scheint das Caching für die Details bzw. genauer gesagt für den Preis des Artikels ausgeschlossen zu sein?! Das hilft mir schon sehr. 

Danke dir