Cache pagine complete PrestaShop: quando serve e come attivarlo

Cache Pro salva le pagine del vostro negozio PrestaShop e le serve prima che PrestaShop le ricostruisca. Impostazioni, carrello, svuotamenti, precaricamento e licenza 2.0.1.

Cache PrestaShop : quand un cache de pages complètes aide

Il vostro negozio PrestaShop impiega diversi secondi a mostrare una scheda prodotto e state valutando una cache di pagine complete: il guadagno in prestazioni e velocità è reale, ma temete un carrello vuoto o prezzi non aggiornati. Cache Pro mette in cache l’HTML delle pagine pubbliche e lo invia prima che PrestaShop le ricostruisca, così ogni visita riusa la copia salvata. Qui trovate chi riceve quelle pagine, come configurarlo nel back office, cosa non fa e cosa cambia la versione 2.0.1 sulla licenza.

Serve davvero una cache di pagine complete su PrestaShop?

Sì, quando molti visitatori anonimi aprono le stesse pagine e il server le ricostruisce ogni volta. No, quando il negozio è minuscolo, quando ogni pagina è personalizzata o quando un’altra cache sul server le gestisce già.

Una pagina PrestaShop non è solo un template Smarty compilato. A ogni visita PrestaShop avvia il framework, apre il database, esegue le query della pagina, chiama gli hook di ogni modulo installato e assembla l’HTML. La cache Smarty evita di ricompilare i template; non evita le query SQL né gli hook. Una cache di pagine complete va oltre: conserva l’HTML finale.

La prima visita a una pagina la costruisce e la salva. I visitatori successivi ricevono la copia salvata, già compressa in Gzip e in Brotli quando l’estensione PHP è presente. Su una pagina servita dalla cache il modulo non esegue alcuna query SQL. Il server lavora meno per lo stesso traffico.

Cache Pro si adatta a un catalogo con molti prodotti, regole di prezzo e moduli, dove la home, le categorie e le schede prodotto sono viste da visitatori non connessi. Aggiunge poco a un negozio con poche decine di referenze, a un sito in cui ogni pagina dipende dall’account del cliente o dietro una cache del server già presente. In quest’ultimo caso tenete una sola cache di pagine alla volta.

Quali pagine vengono salvate e chi riceve una pagina normale?

Vengono salvate le pagine identiche per tutti i visitatori: home, schede prodotto, categorie con le pagine 2, 3 e i loro ordinamenti, pagine CMS, più venduti, novità, promozioni, marchi, fornitori e mappa del sito. Carrello, ordine, account, ricerca e contatto non vengono mai salvati.

Le pagine filtrate a faccette vengono salvate solo se attivate Metti in cache le pagine filtrate; l’opzione è disattivata per impostazione predefinita.

Cache Pro conserva una copia distinta per negozio, lingua, valuta e dispositivo, computer o mobile. I parametri di tracciamento come utm_source, gclid o fbclid non ne creano una: un link di campagna usa la stessa copia dell’indirizzo normale. Un indirizzo con un parametro sconosciuto non viene salvato.

Un cliente connesso, un visitatore con prodotti nel carrello, un indirizzo escluso, una richiesta Ajax, l’invio di un formulario o la modalità manutenzione ricevono una pagina costruita da PrestaShop. È l’impostazione predefinita, e la più sicura: il carrello e i totali non restano mai fissati in una copia condivisa.

Se volete che anche i visitatori con carrello ricevano le pagine salvate, attivate l’opzione Servi le pagine salvate e aggiorna il blocco carrello. La pagina salvata viene inviata subito, poi una piccola richiesta Ajax aggiorna il blocco carrello. Il pulsante Rileva il blocco carrello del mio tema riconosce i temi Classic e Hummingbird; per un altro tema indicate l’hook e il selettore CSS del blocco. La pagina di quel visitatore non viene mai salvata.

Un caso concreto: un negozio svizzero vende in euro e in franchi svizzeri con un tema responsive. Un visitatore in CHF non riceve mai la copia salvata di un visitatore in EUR, e la versione mobile ha la sua copia. Il giorno in cui cambiate il prezzo di un prodotto, vengono rimosse solo le pagine che lo mostrano.

Come attivare Cache Pro e verificare che funzioni

Installate l’archivio da Moduli > Gestione moduli, attivate la licenza nella pagina di configurazione, poi fate clic su Attiva con le impostazioni consigliate e su Testa la mia cache.

  1. In Moduli > Gestione moduli fate clic su Carica un modulo e scegliete l’archivio ZIP. L’installazione crea le tabelle, registra gli hook e protegge la cartella della cache. La cache resta disattivata finché non la attivate.
  2. Aprite la pagina di configurazione. Il pannello Attivazione della licenza chiede una Chiave di licenza e un Segreto di licenza; il pulsante Attiva la licenza convalida l’abbonamento. Senza licenza valida il modulo resta disattivato.
  3. Aprite Cache Pro nel menu Moduli, o nel menu WePresta su PrestaShop 9. Le Verifiche in fondo alla dashboard elencano cosa correggere: cartella della cache, licenza, Gzip e Brotli, cURL, manutenzione, geolocalizzazione, un altro modulo di cache e spazio su disco.
  4. Fate clic su Attiva con le impostazioni consigliate. Poi regolerete ogni tipo di pagina e la sua durata in Pagine da mettere in cache.
  5. Fate clic su Testa la mia cache. Il test visita due volte la home: la prima visita viene generata e salvata, la seconda viene servita dalla cache, con i due tempi di risposta.
  6. Fate clic su Avvia il precaricamento e lasciate aperta la pagina, oppure affidatelo a un’attività pianificata. Il precaricamento visita home, categorie, prodotti e pagine CMS in tutte le lingue, e la versione mobile se attivate Precarica anche la versione mobile.
Licenza attiva: il pannello mostra dominio e scadenza, con i pulsanti che aprono la dashboard e le impostazioni.
Licenza attiva: il pannello mostra dominio e scadenza, con i pulsanti che aprono la dashboard e le impostazioni.

Per seguire una pagina voi stessi, aprite gli strumenti per sviluppatori del browser e caricate la pagina due volte. L’intestazione X-WP-Cache mostra MISS alla prima visita, HIT alla seconda e BYPASS quando PrestaShop ha risposto di proposito: cliente connesso, carrello o esclusione. Con Apache la cartella della cache è protetta da un file .htaccess. Con nginx aggiungete la regola di blocco indicata nella documentazione del modulo.

Perché le modifiche ai prodotti non compaiono subito

Una pagina salvata viene servita fino alla fine della sua durata, o finché PrestaShop segnala una modifica. Cache Pro rimuove allora solo le pagine interessate, non tutta la cache.

Il modulo ascolta gli eventi nativi di PrestaShop. Una modifica di prodotto, combinazione, immagine, marchio o fornitore rimuove le sue pagine e gli elenchi che lo mostrano. Un cambio di prezzo, di prezzo specifico, di promozione o di stock, anche tramite un ordine, rimuove le pagine che mostrano il prodotto. Una categoria o una pagina CMS modificata aggiorna tutto il negozio, perché menu e piè di pagina le mostrano.

Le durate predefinite vanno da 30 minuti per la home a 24 ore per le pagine CMS. Le schede prodotto durano 2 ore, le categorie e gli altri elenchi 1 ora, e il minimo è di 60 secondi. Una pagina modificata nel back office viene aggiornata subito, qualunque sia la durata rimasta. Una pagina che mostra una promozione programmata viene salvata solo fino all’inizio o alla fine di quella promozione.

Quando una modifica non compare, non svuotate tutta la cache per riflesso. La dashboard mostra gli ultimi svuotamenti e la loro causa. Potete usare Svuota una pagina dal suo indirizzo, oppure tutto dopo un cambio di tema. Gli svuotamenti funzionano anche quando l’opzione Attiva la cache è disattivata.

L’attivazione, la disattivazione o lo spostamento di un modulo svuotano tutto il negozio alla pagina successiva del back office. Nulla nel modulo impone di lasciare la cache ferma durante un aggiornamento di PrestaShop: dopo l’aggiornamento svuotate la cache una volta e riprovate con Testa la mia cache.

Cosa cambia la versione 2.0.1 per il vostro negozio

Dalla 2.0.1 una licenza assente, scaduta, sospesa o revocata disattiva del tutto il modulo: il negozio funziona come senza Cache Pro e le vostre impostazioni restano al loro posto.

Prima di questa versione il modulo restava attivo senza licenza valida: la cache non serviva più pagine, ma gli hook di invalidazione e gli svuotamenti continuavano. La 2.0.1 ferma tutto. Nessuna pagina viene servita dalla cache né salvata, la dashboard e le impostazioni sono chiuse, e resta accessibile solo la pagina di configurazione con il formulario di licenza.

Le impostazioni, le esclusioni, le statistiche, la cronologia degli svuotamenti, lo stato del precaricamento e il token dell’attività pianificata vengono conservati. Le pagine salvate, invece, vengono eliminate alla disattivazione. Dopo il rinnovo la pagina di configurazione riattiva il modulo appena la licenza è valida. La cache riparte vuota e si riempie con le visite, oppure subito con il precaricamento.

Senza licenza valida, la pagina di configurazione spiega che il modulo è disattivato e lascia aperto il formulario di attivazione.
Senza licenza valida, la pagina di configurazione spiega che il modulo è disattivato e lascia aperto il formulario di attivazione.

Il gestore dei moduli rifiuta di attivare Cache Pro senza una licenza valida e rimanda alla sua pagina di configurazione per attivarla o rinnovarla. Una licenza pagata non viene interrotta da una risposta passeggera del server di licenza. Un errore, un limite di richieste, un orologio sfasato o un server irraggiungibile lasciano sette giorni di tolleranza dal primo errore.

Un abbonamento rinnovato resta valido per i sette giorni che seguono la data di scadenza salvata. Poi il modulo interroga il server al massimo una volta all’ora. Nel negozio, una pagina servita dalla cache viene inviata prima di quel controllo; nelle pagine che saltano la cache il controllo avviene alla fine della richiesta, al massimo una volta all’ora.

In multinegozio attivate la licenza dalla vista «tutti i negozi», altrimenti gli altri negozi non la leggono. L’aggiornamento 2.0.1 si installa sopra la 2.0.0 e conserva impostazioni, pagine salvate, statistiche e cronologia degli svuotamenti.

Cosa non fa Cache Pro?

Cache Pro non accelera il back office e non mette mai in cache il carrello, l’ordine, l’account o il formulario di contatto.

Il back office viene costruito da PrestaShop a ogni richiesta; il modulo non se ne occupa. Le pagine filtrate a faccette vengono salvate solo se attivate Metti in cache le pagine filtrate, un’opzione disattivata per impostazione predefinita. Il percorso d’ordine, l’area cliente, le pagine di altri moduli come un blog o un formulario e le richieste Ajax non vengono salvati.

Il modulo non sostituisce né un server con poche risorse né un tema troppo pesante. Riduce il lavoro di PrestaShop sulle pagine salvate; la prima visita a una pagina costa il tempo normale. Compatibilità: PrestaShop 1.7.8, 8.0+ e 9.1+ (1.7.7 e 9.0 non sono supportate), con PHP 7.4 minimo, l’estensione cURL, zlib e una cartella della cache scrivibile. Serve inoltre una licenza valida e un solo modulo di cache di pagine complete alla volta.

Per la SEO la cache non sostituisce dati strutturati corretti: Schema Pro genera il JSON-LD delle schede prodotto. Per una navigazione a faccette che filtra senza ricaricare la pagina, guardate Advanced Search Pro. Per GA4, GTM e gli eventi e-commerce, Google Tracking li invia dal vostro negozio senza toccare il tema.

Domande frequenti

Serve davvero un modulo di cache di pagine complete?
Dipende da quanti visitatori anonimi vedono le stesse pagine. Se il server ricostruisce home, categorie e schede prodotto per ogni visitatore, una cache di pagine complete elimina quel lavoro ripetuto. In un negozio molto piccolo o in un sito già coperto da una cache del server, il guadagno è più difficile da vedere.
La cache di pagine complete rompe il carrello e Ajax?
No, con l’impostazione predefinita. Clienti connessi, visitatori con carrello e richieste Ajax ricevono una pagina costruita da PrestaShop, mai una copia condivisa. L’opzione avanzata che serve pagine salvate ai visitatori con carrello aggiorna il blocco carrello con una richiesta Ajax dopo il caricamento, e la pagina di quel visitatore non viene salvata.
Perché una modifica al prodotto non compare subito?
Controllate prima la durata della pagina: una scheda prodotto viene salvata 2 ore per impostazione predefinita. Una modifica salvata nel back office elimina di norma la pagina subito. Se resta la versione vecchia, svuotate la pagina dal suo indirizzo nella dashboard e leggete l’intestazione X-WP-Cache. Controllate anche la cache del browser, impostata su Verifica ogni volta.
Quanto tempo resta una pagina in cache?
I valori predefiniti sono 30 minuti per la home, 2 ore per le schede prodotto, 1 ora per categorie e altri elenchi, e 24 ore per le pagine CMS. Il minimo è 60 secondi. Una pagina modificata nel back office viene aggiornata subito, e una pagina con una promozione programmata scade all’inizio o alla fine di quella promozione.
Come faccio a sapere se la cache funziona davvero?
Fate clic su Testa la mia cache: il modulo visita due volte la home e mostra i due tempi di risposta, con la prima visita generata e la seconda servita dalla cache. La dashboard aggiunge il tasso di successo, il guadagno di velocità e i motivi delle visite senza cache. Nel browser l’intestazione X-WP-Cache indica MISS, HIT o BYPASS.
Bisogna disattivare la cache durante l’aggiornamento di PrestaShop o di un modulo?
Nulla nel modulo impone di lasciare la cache ferma durante un aggiornamento di PrestaShop. Dopo l’aggiornamento svuotate la cache una volta e ripetete Testa la mia cache. Attivare, disattivare o spostare un modulo svuota tutto il negozio alla pagina successiva del back office. Tenete attiva una sola cache di pagine complete alla volta.

Prodotti di questo articolo

Trovate il modulo di cui il vostro negozio ha bisogno

Scopri i moduli