Filtra la ricerca ...
Categorie

Cache per WooCommerce: quali usare e come configurarle (regole sicure 2025)

Ciao e benvenuto. Se hai bisogno di chiarimenti sul codice, lascia un commento (no WhatsApp); ricorda però che non fornisco assistenza gratuita sugli articoli che ho scritto nè personalizzo il codice in modo gratuito, quindi se la tua richiesta va oltre il semplice "aiutino", se vuoi mi chiedi una consulenza a pagamento nella pagina contatti. Grazie della comprensione. Alessio

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 chiamate wc-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/ o wc-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 e Cache-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.

Richiedi una consulenza tecnica

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.

Potrebbe interessarti anche ...

Hai bisogno di una consulenza, lo sviluppo di un plugin o vuoi incrementare le performance del tuo sito ?

Se vuoi postare codice usa codeshare.io
Se vuoi postare uno screeshot usa postimages.org ed inserisci l'url nel commento.

Lascia un commento


Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.