La concorrenza è dura, ma fa bene all'innovazione! Anche se Page Cache Ultimate ha sempre offerto una cache migliore rispetto alla concorrenza, stava diventando complicato da spiegare ai clienti. Ho quindi esaminato questa funzionalità che avevo in mente da tempo: non caricare affatto il CMS Prestashop quando la cache è disponibile, in altre parole, servire le pagine come file statici!

La posta in gioco

Una simile impresa ridurrebbe drasticamente il TTFB, dato che un file statico viene solitamente servito in meno di 100 ms (e io sono molto ampio).

La difficoltà

Il problema è che la stessa pagina non ha lo stesso contenuto a seconda del visitatore che ne richiede la visualizzazione. Vengono presi in considerazione diversi parametri: la valuta (euro, dollari, ecc.), i gruppi di utenti del visitatore, il Paese (in caso di restrizioni di accesso), le tasse da applicare, ecc. Tutto questo forma quello che io chiamo contesto.

È impossibile conoscere questo contesto senza utilizzare Prestashop, quindi come si fa?

La soluzione

La prima visualizzazione non può essere effettuata senza caricare Prestashop, quindi funzionerà come prima, utilizzando la cache lato server, se disponibile. Il modulo sfrutterà questa prima visualizzazione per impostare un cookie 'jpresta_cache_context' per identificare il contesto da utilizzare!

Grazie a questo cookie è ora possibile restituire il file corretto corrispondente all'URL della pagina.

Tecnicamente, il nome del file di cache sarà l'hash (MD5) dell'URL. Poiché questo non può essere calcolato da Apache in modo semplice, il modulo utilizzerà un piccolo script PHP indipendente e molto veloce per restituire il file statico al browser. Ne approfittiamo per rinviare la versione memorizzata già compressa della pagina, risparmiando ad Apache di doverlo fare.

Risultati sorprendenti!

È semplicemente incredibile, la differenza di velocità è enorme, i miei primi test mi danno un TTFB inferiore a 10ms!

Su JPresta.com, che utilizza un hosting condiviso, il TTFB medio è ora di 100ms!

TTFB with Page Cache Ultimate

Ho colto l'occasione per aggiungere statistiche sull'utilizzo dei diversi tipi di cache, ecco ad esempio la distribuzione su JPresta.com:

Prestashop static cache use

Per usufruire di questa nuova funzionalità è sufficiente aggiornare il modulo se il periodo di supporto e aggiornamento è ancora attivo, altrimenti è possibile estenderlo, e se non si dispone ancora di una licenza è possibile acquistare Page Cache Ultimate . Pour aller plus loin dans l'optimisation de votre boutique Prestashop vous pouvez aussi opter pour Speed Pack (Page Cache Ultimate + WEBP + SQL Profiling + Database cleaning) qui inclus Page Cache Ultimate. Je vous conseille aussi notre thème Origine JPresta ottimizzato per la velocità e Core Web Vitals!