Configurare bene la cache per WooCommerce significa avere pagine più rapide senza rompere carrello e checkout. In questo articolo ti spiego quali cache usare, le esclusioni obbligatorie e le regole pratiche per evitare errori comuni (totali errati, sessioni perse, form non valido).
TL;DR
- Usa page cache per listing e schede prodotto, mai per
/carrello/
,/checkout/
,/mio-account/
e chiamatewc-ajax=*
. - Attiva object cache (Redis) per velocizzare query e TTFB.
- Metti CDN su immagini/CSS/JS e, se fai edge HTML caching, gestisci bypass su cookie.
- Imposta purge automatico quando pubblichi/aggiorni prodotti e categorie.
- Controlla sempre gli header (HIT/MISS), i cookie WooCommerce e il comportamento dei filtri.
Perché la cache e-commerce è diversa
Un blog può cache-are quasi tutto. Uno shop no: WooCommerce mantiene stato (carrello, utente, coupon) e usa endpoint AJAX. Per questo servono regole conservative su pagine e cookie.
Esclusioni essenziali (da copiare)
- Pagine:
/carrello/
,/checkout/
,/mio-account/
(e varianti lingua) - Parametri/endpoint:
wc-ajax=*
- Cookie:
woocommerce_items_in_cart
,woocommerce_cart_hash
,wp_woocommerce_session_*
- Query dinamiche: pagine con filtri che modificano i risultati (verifica se il tuo tema usa AJAX)
Page cache: come impostarla
- TTL: 1–12 ore per liste e pagine prodotto; homepage 30–120 minuti.
- Preload: sitemap o crawling pianificato (evita picchi di CPU).
- Purge: automatico quando pubblichi/aggiorni prodotti, categorie, tag.
- Compressione: Gzip o Brotli attivi sul web server/CDN.
- Minify: ok, ma non aggregare/deferire script critici del checkout.
Esempio di regole “sicure” (concettuale)
- Bypass on cookie: se esiste
woocommerce_items_in_cart
→ non servire HTML cache-ato. - Bypass on URL: se
REQUEST_URI
contiene/checkout/
owc-ajax
→ bypass. - Tag di purge: su update prodotto invia purge a /, /categoria, /prodotto, feed correlati.
Object cache (Redis): il boost che senti davvero
L’object cache memorizza risultati di query e oggetti in RAM. Su cataloghi mediograndi porta a TTFB più basso e backend più reattivo. Consigli:
- Attiva Redis persistente (database dedicato) e verifica lo status dallo strumento di caching.
- Escludi oggetti dal caching solo se necessario (evita blacklist estese).
- Monitora hits/misses e il consumo di memoria.
CDN: cosa mettere e cosa no
- Metti in CDN: immagini, CSS, JS, font.
- Evita di servire HTML cache-ato agli utenti con carrello attivo (usa bypass on cookie o regole no-store su checkout).
- Configura Cache-Control: statici a 7–30 giorni con
immutable
, HTML 5–30 minuti (se edge caching).
Browser cache
- Imposta
ETag
/Last-Modified
eCache-Control: max-age
su statici. - Versiona asset (query string o filename) quando aggiorni CSS/JS.
Test e monitoraggio
- Apri DevTools → Network: verifica cf-cache-status/x-cache HIT/MISS.
- Controlla i log del plugin di cache e WooCommerce → Stato.
- Simula carrello pieno: l’HTML deve diventare MISS/bypass, le chiamate AJAX mai in cache.
Checklist rapida
- Esclusioni pronte (pagine, parametri, cookie WooCommerce).
- Object cache (Redis) attiva.
- CDN su statici, niente HTML per utenti con carrello.
- Purge su update prodotti e categorie.
- Test checkout dopo ogni modifica.
Dubbi su cache e checkout? Posso configurare regole sicure per WooCommerce, attivare Redis e ottimizzare CDN senza impattare carrello e pagamenti.
FAQ
Posso fare edge caching dell’HTML con WooCommerce?
Sì, ma solo con regole di bypass su cookie e su checkout/carrello. In alternativa, limita l’edge caching a utenti senza carrello/sessione.
È meglio page cache o object cache?
Servono entrambe: la page cache riduce il lavoro del server per pagine pubbliche; l’object cache (Redis) velocizza query e TTFB anche senza HTML cache-ato.
Perché i filtri di categoria si “rompono” con la cache?
Se i filtri aggiornano la pagina via AJAX o query string, alcuni sistemi di cache servono una versione non aggiornata. Imposta esclusioni o usa render via AJAX con endpoint non cache-ato.
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.