Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX

Presentazione

Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX è un modulo Full Page Cache per PrestaShop progettato per velocizzare notevolmente il tuo negozio salvando una versione HTML pronta da servire delle tue pagine. Invece di ricalcolare ogni pagina a ogni visita tramite PHP, Smarty e SQL, il modulo fornisce direttamente una copia già generata. Questo approccio riduce drasticamente il tempo di risposta del server (TTFB) e migliora l’esperienza utente, la visibilità sui motori di ricerca e il tasso di conversione.

Su un negozio PrestaShop con più moduli, molti prodotti e traffico regolare, ogni pagina può richiedere un numero elevato di operazioni lato server. Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX elimina questo sovraccarico sulle pagine compatibili con la cache, permettendo di ottenere tempi di caricamento estremamente rapidi, anche su hosting standard.

Questo modulo è pensato per i merchant PrestaShop che desiderano migliorare le prestazioni del proprio sito ecommerce senza dipendere da un’infrastruttura complessa. È adatto sia a configurazioni mono-shop sia ad ambienti multistore, multilingua e multi-valuta.

Punti di forza:

  • Cache completa delle pagine lato server
  • Forte riduzione del TTFB
  • Purge automatica intelligente quando i contenuti cambiano
  • Warm-up della cache per precaricare le pagine del catalogo
  • Compressione Gzip e Brotli pre-generata
  • Supporto multilingua, multi-valuta e multistore
  • Moduli dinamici caricati via AJAX
  • Dashboard con statistiche e indicatori di performance
  • API REST sicura per strumenti esterni
  • Compatibile con PrestaShop 8 e 9

Perché usare la cache su PrestaShop

Il problema delle prestazioni di PrestaShop

PrestaShop funziona in modo dinamico. Per ogni richiesta, il server deve eseguire il core del CMS, caricare i moduli, interrogare il database, compilare i template e generare l’HTML finale. Questa architettura è potente, ma diventa molto dispendiosa in termini di risorse quando il negozio contiene molti prodotti, regole di prezzo, moduli o visitatori simultanei.

In pratica, questo può causare tempi di risposta elevati, una navigazione lenta, un aumento del tasso di rimbalzo e una diminuzione delle conversioni. Le prestazioni di un ecommerce non sono solo una questione tecnica: hanno un impatto diretto sul fatturato e sulla visibilità SEO.

La soluzione Full Page Cache

Il principio della Full Page Cache è semplice: quando una pagina viene visitata per la prima volta, viene generata normalmente e poi salvata come file HTML compresso. Nelle visite successive, questa versione viene servita immediatamente, senza rieseguire tutto il ciclo di generazione di PrestaShop.

Il risultato è notevole: meno calcoli, meno query SQL, minore utilizzo della CPU e una navigazione molto più fluida per i visitatori.

Impatto concreto sul tuo negozio

Con Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX, puoi ottenere:

  • un TTFB significativamente più basso
  • punteggi migliori negli strumenti di performance
  • possibili miglioramenti dei Core Web Vitals
  • un negozio più stabile sotto carico
  • una navigazione più fluida sia su mobile sia su desktop

Funzionalità

Cache completa delle pagine

Il modulo salva una versione HTML completa delle pagine del tuo negozio e la serve direttamente ai visitatori quando il contesto corrisponde. Questo evita di eseguire codice PHP e query SQL per pagine già messe in cache.

La cache può essere applicata alle pagine prodotto, categorie, CMS, homepage e altre pagine compatibili in base alla tua configurazione.

Gestione intelligente dei contesti

Il modulo tiene conto dei diversi contesti che influenzano la visualizzazione del negozio:

  • lingua
  • valuta
  • paese
  • negozio
  • dispositivo mobile o desktop
  • gruppo o contesto visitatore
  • consenso ai cookie in base alla configurazione

Di conseguenza, un visitatore che naviga in italiano e CHF non riceverà la stessa versione cache di un visitatore che naviga in inglese o EUR. Questa separazione garantisce una visualizzazione coerente e sicura.

Invalidazione automatica

Uno dei punti di forza di Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX è la capacità di eliminare automaticamente le pagine corrette dalla cache quando vengono effettuate modifiche in PrestaShop. Per esempio:

  • aggiornamenti dei prodotti
  • modifiche di prezzo o stock
  • aggiornamenti delle categorie
  • modifiche delle pagine CMS
  • aggiunta o rimozione di un prezzo specifico
  • convalida di un ordine che influisce sullo stock

Questo significa che non è necessario svuotare la cache manualmente dopo ogni modifica ordinaria.

Compressione Gzip e Brotli

Il modulo pre-genera file cache compressi sia in Gzip sia in Brotli. Il browser riceve automaticamente la versione più adatta in base alle sue capacità.

Questa pre-compressione accelera la distribuzione dei contenuti ed evita la compressione al volo lato server per ogni risposta.

Minificazione HTML

Un’opzione consente di minificare l’HTML prima del salvataggio:

  • rimozione dei commenti non necessari
  • rimozione degli spazi extra
  • rimozione delle righe vuote

Questo riduce ulteriormente la dimensione della pagina e migliora l’efficienza della compressione.

Warm-up della cache

Il modulo può analizzare automaticamente gli URL del sito per creare la cache prima che i visitatori accedano alle pagine. Questa funzione di precaricamento è particolarmente utile:

  • dopo l’installazione del modulo
  • dopo una purge completa
  • dopo un importante aggiornamento del catalogo
  • dopo un cambio di tema

Il warm-up può usare la sitemap XML se disponibile oppure ricostruire gli URL direttamente dal catalogo PrestaShop.

Moduli dinamici con AJAX

Alcune aree non devono mai essere congelate nella cache, come:

  • il carrello
  • lo stato di accesso del cliente
  • alcuni blocchi personalizzati
  • elementi basati sulla sessione

Il modulo consente di trasformare queste aree in blocchi dinamici caricati via AJAX. In questo modo la pagina resta estremamente veloce pur mostrando contenuti personalizzati dopo il caricamento.

Dashboard e statistiche

Il back-office include una dashboard completa con indicatori utili:

  • numero di pagine in cache
  • numero di pagine servite dalla cache
  • spazio disco utilizzato
  • tasso di efficienza della cache
  • distribuzione per tipo di pagina
  • confronto dei tempi di risposta

Queste metriche rendono semplice monitorare le prestazioni del modulo.

API REST sicura

Un’API REST protetta da token consente al modulo di integrarsi con strumenti esterni come:

  • sistemi ERP
  • sistemi PIM
  • script di sincronizzazione
  • strumenti di deploy
  • automazioni interne

Ad esempio, puoi avviare una purge dopo un aggiornamento del catalogo oppure lanciare un warm-up da uno script esterno.

Installazione

  1. Scarica il file ZIP del modulo dal tuo account cliente WePresta.
  2. Nel back-office di PrestaShop, vai su Moduli > Gestione moduli.
  3. Clicca su Carica un modulo.
  4. Seleziona il file ZIP del modulo.
  5. Avvia l’installazione.

Una volta installato, il modulo prepara automaticamente il proprio ambiente:

  • creazione degli elementi necessari nel database
  • creazione della directory della cache
  • registrazione degli hook necessari
  • applicazione delle impostazioni predefinite consigliate

L’installazione è semplice e rapida, anche su un negozio in produzione.

Per iniziare

Attivare la cache

Dopo l’installazione, vai alla pagina di configurazione del modulo e attiva il sistema di cache tramite l’impostazione principale. Per impostazione predefinita, il modulo può essere installato ma inattivo finché non viene attivato esplicitamente.

Visitare le pagine del negozio

Una volta attivata, la cache si riempie automaticamente man mano che le pagine vengono visitate. La prima visita genera la pagina, mentre le visite successive beneficiano della versione cache.

Avviare un warm-up

Per ottenere prestazioni ottimali fin da subito, è consigliato lanciare un warm-up della cache. Questo prepara le pagine più importanti prima che arrivino i primi visitatori.

Configurazione

Impostazioni generali

Il modulo offre diverse opzioni di configurazione globale:

  • attivare o disattivare la cache
  • modalità debug con header HTTP
  • minificazione HTML
  • gestione dei blocchi dinamici
  • attivazione dell’API REST
  • esclusioni specifiche

Queste impostazioni permettono di adattare il comportamento della cache al tuo negozio, al tuo tema e al tuo ambiente di hosting.

TTL per tipo di pagina

Il TTL definisce per quanto tempo una pagina in cache rimane valida. Una volta scaduto il tempo, la pagina può essere rigenerata.

Puoi definire un TTL diverso per:

  • homepage
  • pagine prodotto
  • pagine categoria
  • pagine CMS
  • altre pagine

Sono disponibili valori predefiniti consigliati per offrire un buon equilibrio tra freschezza dei dati e prestazioni.

Modalità debug

La modalità debug aggiunge header HTTP che rendono semplice capire se una pagina viene servita dalla cache. Questo aiuta nei test tecnici e nella risoluzione dei problemi.

Esempi di informazioni visibili:

  • HIT o MISS
  • chiave della cache
  • età della cache
  • TTL applicato

Impostazioni avanzate

Per esigenze più tecniche, il modulo supporta anche:

  • esclusione per pattern URL tramite regex
  • esclusione per indirizzo IP
  • blocchi dinamici personalizzati
  • impostazioni del comportamento del warm-up
  • configurazione del token API

Gestione della cache

Purge completa

Il pulsante di purge completa elimina tutti i file cache memorizzati. È utile dopo un grande aggiornamento, un cambio di tema o un intervento tecnico importante.

Dopo una purge completa, è consigliato lanciare subito un warm-up.

Purge selettiva

Il modulo consente anche di eliminare dalla cache solo determinate famiglie di pagine:

  • homepage
  • prodotti
  • categorie
  • pagine CMS
  • altre pagine

Questo evita di svuotare tutto quando una modifica interessa solo una parte del sito.

Warm-up della cache

Perché usare il warm-up

Il warm-up evita che i primi visitatori subiscano i tempi normali di generazione. Precaricando in anticipo le pagine più importanti, il negozio risulta veloce fin dalle prime visite.

Fonti degli URL

Il modulo recupera gli URL da diverse fonti:

  • sitemap XML se disponibile
  • prodotti attivi
  • categorie attive
  • pagine CMS attive
  • homepage

Velocità del warm-up

Possono essere disponibili diversi livelli in base alla potenza del tuo hosting:

  • modalità sicura
  • modalità consigliata
  • modalità veloce

La scelta corretta dipende dal tuo ambiente di hosting e dal carico server che puoi accettare.

Invalidazione automatica

Eventi supportati

Il modulo monitora i principali eventi di PrestaShop per eliminare automaticamente dalla cache le pagine interessate. Questo include:

  • aggiornamenti dei prodotti
  • modifiche delle categorie
  • aggiornamenti CMS
  • promozioni
  • modifiche dello stock
  • alcune convalide d’ordine

Questa logica aiuta a evitare che i visitatori vedano dati obsoleti sulle pagine in cache.

Casi non rilevati automaticamente

Alcune modifiche non possono sempre essere rilevate se bypassano il comportamento standard di PrestaShop, ad esempio:

  • modifiche dirette al database
  • alcuni moduli di terze parti
  • cambiamenti di tema o template
  • sincronizzazioni esterne senza hook

In questi casi può essere necessaria una purge manuale o una chiamata API.

Esclusioni

Esclusioni per tipo di pagina

Alcune pagine non dovrebbero mai essere messe in cache, in particolare:

  • checkout
  • account cliente
  • pagine di ricerca
  • pagine contenenti moduli sensibili
  • alcune pagine dipendenti dalla sessione

Il modulo rende semplice gestire questi casi tramite opzioni dedicate.

Esclusioni avanzate per URL

È possibile aggiungere pattern regex per escludere URL specifici o gruppi di pagine in base alle tue esigenze.

Esclusioni per IP

Puoi anche disattivare la cache per indirizzi IP specifici, ad esempio per il tuo team interno o per l’IP amministrativo, così da vedere immediatamente le modifiche.

Moduli dinamici

Perché usare l’hole punching

Elementi come il carrello o il nome del cliente loggato non devono essere congelati nell’HTML cache. Il sistema di hole punching serve una pagina cache molto veloce e poi sostituisce le aree dinamiche con il loro contenuto reale tramite AJAX.

Blocchi dinamici supportati

Puoi configurare i blocchi dinamici usando:

  • un’etichetta interna
  • un hook PrestaShop
  • un selettore CSS di destinazione

Questo rende il modulo adatto sia al tema nativo sia ai temi di terze parti.

API REST

Utilizzo dell’API

L’API REST del modulo consente di controllare alcune azioni da remoto usando un token sicuro inviato negli header HTTP.

Azioni disponibili

I casi d’uso più comuni includono:

  • purge completa della cache
  • purge per tipo di pagina
  • purge di un prodotto specifico
  • purge di una categoria specifica
  • avvio del warm-up
  • recupero delle statistiche

Questa API è particolarmente utile per i merchant con un ecosistema connesso che include ERP, PIM o script di automazione.

Funzionamento tecnico

Creazione di una voce di cache

Quando un visitatore carica una pagina, il modulo verifica se esiste già una versione compatibile. Se esiste, viene servita immediatamente. In caso contrario, la pagina viene generata normalmente e poi salvata in cache per le visite future.

Chiave di cache

Ogni voce di cache si basa su una chiave calcolata secondo diversi fattori di contesto, garantendo che venga servita la corretta versione della pagina in base a lingua, valuta, negozio o dispositivo.

Archiviazione dei file

I file cache sono organizzati per tipo di pagina all’interno della directory del modulo. L’archiviazione è strutturata per facilitare purge, diagnostica e gestione delle versioni compresse.

Verifica del corretto funzionamento

Verifica con gli header HTTP

Attivando la modalità debug, puoi controllare rapidamente il comportamento della cache negli strumenti sviluppatore del browser.

Il comportamento atteso è semplice:

  • primo caricamento: MISS
  • caricamento successivo: HIT

Verifica tramite la dashboard

La dashboard dovrebbe mostrare un aumento progressivo di:

  • numero di pagine in cache
  • numero di pagine servite dalla cache
  • tasso di efficienza complessivo

Verifica sul server

Controllando la directory della cache sul server, dovresti vedere i file HTML compressi generati dal modulo.

Compatibilità

Compatibilità PrestaShop

Il modulo è compatibile con:

  • PrestaShop 8.0 fino a 9.x

Si integra con l’architettura standard del CMS e rispetta i principali contesti del negozio.

Compatibilità PHP

Il modulo richiede:

  • PHP 7.4 o superiore

Anche se PHP 7.4 è supportato, PHP 8.x è consigliato per prestazioni migliori e una compatibilità più moderna.

Compatibilità temi

Il modulo è progettato per funzionare con:

  • tema Classic
  • tema Hummingbird
  • la maggior parte dei temi di terze parti

A seconda del tema, alcuni selettori CSS per i blocchi dinamici potrebbero richiedere un adattamento.

Compatibilità hosting

Il modulo può essere utilizzato su:

  • hosting condiviso
  • VPS
  • server dedicato
  • infrastruttura cloud

Il livello di warm-up consigliato dipende dalle risorse disponibili del server.

Requisiti

  • PrestaShop 8.0 o 9.x
  • PHP 7.4 o superiore
  • estensione PHP zlib
  • permessi di scrittura sulla directory modules/
  • HTTPS consigliato per un funzionamento ottimale

FAQ

Il modulo è compatibile con il mio tema PrestaShop?

Sì, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX è compatibile con i temi standard di PrestaShop e con la maggior parte dei temi di terze parti. Se il tuo tema utilizza una struttura HTML specifica per il carrello, l’area utente o altri blocchi dinamici, alcuni selettori CSS potrebbero dover essere adattati nelle impostazioni del modulo.

Il modulo funziona in modalità multistore?

Sì, il modulo è compatibile con la modalità multistore di PrestaShop. Ogni negozio ha il proprio contesto cache, le proprie statistiche e le proprie impostazioni in base alla configurazione del back-office.

La cache gestisce lingue e valute?

Sì, Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX memorizza versioni separate della cache in base a lingua, valuta e altre variabili di contesto. Questo garantisce che la pagina corretta venga servita al visitatore corretto.

Devo svuotare la cache manualmente dopo ogni modifica?

No, nella maggior parte dei casi non è necessario. Il modulo include un sistema di invalidazione automatica che elimina dalla cache le pagine interessate quando vengono aggiornati prodotto, categoria, pagina CMS o altri dati essenziali.

Il modulo è compatibile con tutti gli ambienti di hosting?

Sì, il modulo funziona con la maggior parte degli ambienti di hosting compatibili con PrestaShop. Su hosting condiviso è consigliata una modalità warm-up sicura. Su VPS o server dedicato puoi usare impostazioni più aggressive.

Posso mantenere un carrello dinamico con la full page cache?

Sì, grazie ai blocchi dinamici caricati via AJAX. Il modulo consente di mantenere una pagina HTML in cache mostrando comunque correttamente il carrello, lo stato di login e altri elementi personalizzati.

Come posso verificare se la cache funziona davvero?

Il modo più semplice è attivare la modalità debug e controllare gli header HTTP nel browser. Puoi anche verificare la dashboard del modulo o la presenza dei file cache sul server.

Il modulo migliora la SEO?

Sì, indirettamente. Riducendo notevolmente i tempi di caricamento e il TTFB, il modulo migliora l’esperienza utente e le prestazioni tecniche del negozio, con un possibile impatto positivo sulla visibilità nei motori di ricerca.

Il modulo è compatibile con altri moduli di cache?

Si consiglia di non utilizzare più sistemi di full page cache contemporaneamente. Per evitare conflitti, è meglio disattivare altri moduli di cache completa prima di attivare Cache Pro — Full Page Cache with Brotli, Warm-Up & AJAX.

È possibile controllare la cache da uno strumento esterno?

Sì, il modulo fornisce un’API REST protetta da token. Questo consente di avviare purge, warm-up o azioni mirate da un ERP, un PIM o uno script di automazione.

Supporto

Per qualsiasi domanda relativa all’installazione, alla configurazione o alla risoluzione dei problemi, puoi contattare il team WePresta tramite il tuo account cliente o via email.

Per velocizzare il supporto, è consigliato fornire:

  • la tua versione di PrestaShop
  • la tua versione PHP
  • il tuo tema
  • il tipo di hosting
  • una descrizione chiara del problema
  • screenshot se necessario

Changelog

Versione 1.0.0

  • Rilascio iniziale del modulo
  • Implementazione della Full Page Cache
  • Gestione dei contesti multilingua, multi-valuta e multistore
  • Invalidazione automatica intelligente
  • Compressione Gzip e Brotli
  • Minificazione HTML
  • Dashboard delle performance
  • Warm-up della cache
  • Blocchi dinamici AJAX
  • API REST sicura
Caricamento in corso ...