Come Verificare i Cookie Transazionali e il Bypass della Cache su WooCommerce
La velocità di caricamento è vitale per qualsiasi negozio online. Tuttavia, una configurazione aggressiva può rompere il processo d’acquisto. È fondamentale comprendere il bypass della cache su woocommerce per evitare problemi gravi.
Se il carrello si svuota da solo o mostra articoli errati, la cache sta memorizzando pagine dinamiche. In questa guida imparerai a ispezionare il comportamento del browser con precisione chirurgica.
Se non hai ancora impostato le regole base, consulta la nostra guida su come configurare il plugin di caching per WooCommerce senza errori.
Cosa Sono i Cookie Transazionali di WooCommerce
WooCommerce fa affidamento su cookie specifici per gestire le sessioni utente. Questi cookie indicano al server se un visitatore ha articoli nel carrello.
Quando questi valori sono attivi, il server deve servire una pagina non memorizzata. In caso contrario, l’utente vedrà dati statici o carrelli appartenenti ad altri clienti.
I Tre Cookie Fondamentali del Negozio
I cookie principali generati dal motore e-commerce sono essenzialmente tre:
- woocommerce_cart_hash: traccia le modifiche al contenuto del carrello.
- woocommerce_items_in_cart: notifica se è presente almeno un articolo.
- wp_woocommerce_session_: memorizza un codice univoco per la sessione del cliente nel database.
Questi file di testo memorizzati nel browser non contengono dati personali sensibili. Servono esclusivamente a sincronizzare il carrello con il database del server.
La Differenza tra Pagine Statiche e Dinamiche
La homepage e gli articoli del blog sono contenuti identici per tutti. Possono e devono essere memorizzati dalla cache per mesi.
Al contrario, la pagina cassa e l’area account variano da cliente a cliente. Su queste sezioni il salvataggio in memoria deve essere disattivato.
Monitorare il bypass della cache su woocommerce assicura che il sistema riconosca sempre i visitatori unici.
Preparare gli Strumenti per Sviluppatori del Browser
Non servono software esterni per eseguire questa analisi tecnica. Google Chrome, Mozilla Firefox o Brave integrano già tutti gli strumenti necessari.
I DevTools permettono di osservare lo scambio di informazioni tra client e web server in tempo reale.
Aprire l’Ispeziona Elemento nel Modo Corretto
Apri una nuova finestra di navigazione in incognito. Questo passaggio è obbligatorio per eliminare residui di cookie precedenti o sessioni di amministratore.
Premi il tasto F12 sulla tastiera o fai clic destro su un punto vuoto e scegli Ispeziona.
Posizionati subito sulla scheda Network (o Rete) e sulla scheda Application (o Applicazione).
Trucco operativo: Nella scheda Network, spunta sempre l’opzione Disable cache. Questa opzione resta valida solo mentre gli strumenti di sviluppo rimangono aperti.
Filtrare le Chiamate di Rete Utili
Durante il caricamento di una pagina, il browser invia centinaia di richieste HTTP. Filtrare le chiamate evita una inutile perdita di tempo.
Seleziona il filtro Doc nella scheda Network. In questo modo esaminerai solo il documento HTML principale generato dal server web.
Procedura Passo-Passo per Ispezionare i Cookie
Adesso vedremo come verificare manualmente la presenza dei cookie transazionali. Segui con attenzione tutti i passaggi descritti di seguito.
Fase 1: Navigazione come Utente Anonimo
- Visita la home page del tuo negozio in finestra anonima.
- Accedi alla scheda Application dei DevTools.
- Nel menu laterale sinistro, apri la voce Cookies e seleziona il tuo dominio.
- Verifica che la tabella sia quasi vuota. I cookie di carrello non devono esistere.
In questa fase la risposta del server deve essere pienamente memorizzata nella cache globale.
Fase 2: Aggiunta di un Prodotto al Carrello
Spostati su una scheda prodotto qualsiasi e clicca sul pulsante di acquisto. Resta con i DevTools aperti.
Non appena la pagina si ricarica o la chiamata AJAX termina, osserva la tabella dei cookie:
- I cookie
woocommerce_items_in_cartewoocommerce_cart_hashdevono apparire all’istante. - Compare anche il cookie di sessione
wp_woocommerce_session_. - Il valore del cookie hash si aggiornerà aggiungendo nuovi prodotti.
Se questi cookie non compaiono, il tema o uno script JavaScript sta bloccando le chiamate REST del carrello.
Fase 3: Ispezione degli Header HTTP di Risposta
Ritorna alla scheda Network e ricarica una pagina catalogo. Clicca sulla prima richiesta in alto con codice di stato 200.
Apri il pannello Headers situato sulla destra e scendi fino a Response Headers.
Cerca le intestazioni relative al caching del server. Tra le più diffuse troviamo:
cf-cache-status(per Cloudflare)x-cache(per Varnish o Nginx)x-litespeed-cache(per LiteSpeed Cache)
Se un utente ha articoli nel carrello, il valore non deve indicare HIT. Il corretto bypass della cache su woocommerce restituirà valori come BYPASS, MISS o EXPIRED.
Casi Comuni di Errore nel Caching di WooCommerce
Durante i nostri test sui negozi dei clienti riscontriamo spesso anomalie ricorrenti. Individuare la causa primaria permette di risolvere i disservizi rapidamente.
Il Carrello Fantasma o Cache Zombie
Questo problema accade quando la pagina Carrello viene servita come file statico HTML. Il cliente vede i prodotti aggiunti da un altro visitatore sconosciuto.
Questo scenario rappresenta una violazione della privacy e azzera le conversioni del negozio.
Controlla che gli URL /carrello/ e /checkout/ siano inseriti nella lista delle esclusioni del plugin di ottimizzazione.
Header Cache-Control Sovrascritti
Alcuni plugin per la sicurezza o frammenti di codice nel file functions.php possono forzare gli header di risposta.
Se noti l’istruzione public, max-age=3600 sulle pagine transazionali, il browser ignorerà i cookie appena creati.
Il valore corretto per le aree dinamiche deve contenere no-cache, must-revalidate, max-age=0.
Ottimizzazione delle Regole Server e CDN
Non basta configurare il plugin WordPress. Anche le impostazioni lato hosting e CDN devono comunicare in modo corretto.
Configurare Cloudflare per Rispettare i Cookie
Se utilizzi Cloudflare o una CDN simile, crea una regola di cache specifica. La regola deve escludere la cache se sono presenti cookie WooCommerce.
Usa l’espressione: http.cookie contains "woocommerce_items_in_cart". Se la condizione è vera, imposta il livello di cache su Bypass.
In questo modo verificherai l’effettivo bypass della cache su woocommerce su tutta la rete distribuita.
Sfruttare il Fragment Caching con ESI
Se usi server LiteSpeed, puoi mantenere in cache l’intera pagina prodotto sfruttando i blocchi ESI (Edge Side Includes).
Con ESI, solo il widget del mini-carrello nell’header rimane dinamico. Il resto dell’HTML viene servito istantaneamente dalla memoria veloce.
Domande Frequenti (FAQ)
Quali pagine non devono mai essere memorizzate nella cache?
Le pagine Carrello, Checkout e Mio Account non devono mai essere salvate nella cache. Inoltre, escludi qualsiasi endpoint che contenga parametri di pagamento come quelli di PayPal o Stripe.
Cosa significa se il cookie wp_woocommerce_session non viene creato?
Se questo cookie non compare dopo l’aggiunta al carrello, potresti avere problemi con le sessioni PHP dell’hosting. Spesso dipende da permessi errati sulla cartella temporanea delle sessioni del server.
Come posso testare il comportamento da smartphone?
Puoi attivare l’emulatore mobile integrato nei DevTools di Chrome tramite la combinazione Ctrl+Shift+M (o Cmd+Shift+M su Mac). Gli strumenti di rete e l’analisi dei cookie funzionano con le identiche modalità del desktop.
💡 Per approfondire l’argomento: Spazio Google esaurito (15 GB): cosa fare se Gmail non riceve più email e Google Drive si blocca
