Der Wettbewerb ist hart, aber er ist gut für die Innovation! Auch wenn Page Cache Ultimate schon immer einen leistungsfähigeren Cache als die Konkurrenz angeboten hat, wurde es immer komplizierter, dies den Kunden zu erklären. Daher habe ich mich mit einer Funktion beschäftigt, die ich schon lange im Auge hatte: das Prestashop CMS nicht mehr zu laden, wenn der Cache verfügbar ist, d. h. die Seiten als statische Dateien zu verwenden!

Was steht auf dem Spiel?

Ein solches Kunststück würde den TTFB drastisch reduzieren, da eine statische Datei in der Regel in weniger als 100 ms ausgeliefert wird (und ich bin sehr weit gefasst).

Die Schwierigkeit

Das Problem ist, dass eine Seite nicht denselben Inhalt hat, je nachdem, welcher Besucher sie aufruft. Dabei werden mehrere Parameter berücksichtigt: die Währung (Euro, Dollar usw.), die Benutzergruppen des Besuchers, das Land (im Falle von Zugangsbeschränkungen), die zu erhebenden Steuern etc. All dies bildet das, was ich als Kontext bezeichne.

Es ist unmöglich, diesen Kontext zu kennen, ohne Prestashop zu benutzen, also wie soll man das machen?

Die Lösung

Die erste Anzeige kann also nicht erfolgen, ohne dass Prestashop geladen wird, es funktioniert also wie zuvor, mit der Verwendung des serverseitigen Cache, wenn dieser verfügbar ist. Das Modul nutzt diese erste Anzeige, um ein Cookie "jpresta_cache_context" zu setzen, mit dem der zu verwendende Kontext identifiziert wird!

Mit Hilfe dieses Cookies ist es nun möglich, die richtige Datei für die URL der Seite zu liefern.

Technisch gesehen wird der Name der Datei im Cache der Hash (MD5) der URL sein. Da dies vom Apache nicht auf einfache Weise berechnet werden kann, wird das Modul ein kleines, unabhängiges und sehr schnelles PHP-Skript verwenden, um die statische Datei an den Browser zurückzugeben. Bei dieser Gelegenheit wird auch die bereits komprimierte, gespeicherte Version der Seite zurückgegeben, so dass Apache dies nicht mehr tun muss.

Die Ergebnisse sind verblüffend!

Es ist einfach unglaublich, der Geschwindigkeitsunterschied ist enorm, meine ersten Tests ergaben eine TTFB von weniger als 10 ms!

Auf JPresta.com, das ein Shared Hosting nutzt, beträgt das durchschnittliche TTFB jetzt 100ms!

TTFB with Page Cache Ultimate

Ich habe die Gelegenheit genutzt, um Statistiken über die Nutzung der verschiedenen Cache-Typen hinzuzufügen, hier zum Beispiel die Verteilung auf JPresta.com:

Prestashop static cache use

Um diese neue Funktion zu nutzen, müssen Sie nur das Modul aktualisieren, wenn Ihr Support- und Aktualisierungszeitraum noch aktiv ist. Wenn nicht, können Sie ihn verlängern, und wenn Sie noch keine Lizenz haben, können Sie Page Cache Ultimate . Pour aller plus loin dans l'optimisation de votre boutique Prestashop vous pouvez aussi opter pour Speed Pack (Page Cache Ultimate + Lazy Loading + WEBP) qui inclus Page Cache Ultimate. Je vous conseille aussi notre thème JPresta Origin kaufen, das für Geschwindigkeit und Core Web Vitals optimiert ist!