Come velocizzare WooCommerce senza rompere il checkout (guida tecnica 2025)
WooCommerce lento ti costa vendite e posizioni su Google. In questa guida pratica vediamo come velocizzare WooCommerce in modo sicuro, mantenendo checkout e carrello funzionanti, migliorando LCP, INP e stabilità della pagina. Segui i passaggi nell’ordine indicato e usa la checklist finale per evitare regressioni.
TL;DR
- Misura prima/dopo con PageSpeed Insights e WebPageTest.
- Non mettere mai in cache carrello, checkout, area utente e chiamate AJAX sensibili.
- Attiva page cache + object cache (Redis) e preload.
- Ottimizza immagini in WebP, escludi l’immagine LCP dal lazy-load.
- Riduci CSS/JS (critical CSS, defer/delay), pulisci plugin pesanti.
- Usa CDN per statici e imposta HTTP/2 o HTTP/3.
Prerequisiti e backup
Lavora preferibilmente su staging, aggiorna PHP (8.3), attiva OPcache e fai un backup completo di file e database. Prendi un baseline di performance su 3 misurazioni e media i risultati.
1) Misurare: LCP, INP, CLS prima di toccare il sito
Senza una metrica di partenza non puoi sapere se stai migliorando. Focalizzati su:
- LCP (Largest Contentful Paint): di solito l’immagine hero o il titolo del prodotto.
- INP (Interaction to Next Paint): quanto il sito “risponde” ai click.
- CLS (Cumulative Layout Shift): stabilità del layout.
Annota i valori su Home, categoria con filtri, scheda prodotto e checkout.
2) Page cache: regole sicure per e-commerce
La cache di pagina è la leva più potente per velocizzare WordPress e WooCommerce, ma va configurata con esclusioni rigorose per non rompere il checkout.
Esclusioni essenziali
- Pagine: /carrello/, /checkout/, /mio-account/ (e varianti lingua)
- Query/endpoint AJAX sensibili: wc-ajax=*
- Cookie: woocommerce_items_in_cart, woocommerce_cart_hash, wp_woocommerce_session_*
Abilita cache preloading per le pagine pubbliche (home, categorie, prodotti) e imposta regole di purge alla pubblicazione o aggiornamento di prodotti.
3) Object cache con Redis: database più veloce
Redis riduce i tempi di risposta del database memorizzando query e oggetti in RAM. Risultato tipico: TTFB più basso, categorie e schede prodotto che si aprono più rapidamente, INP migliore nelle pagine dinamiche. Attiva l’object cache persistente e verifica da backend che lo store sia connesso.
4) Immagini: LCP al centro, WebP per tutto il resto
- Converti immagini in WebP (o AVIF se compatibile) e definisci dimensioni responsive (srcset).
- Escludi dal lazy-load l’elemento LCP (spesso l’immagine hero della pagina o del prodotto).
- Applica preload all’immagine LCP (
<link rel="preload" as="image">
) quando sensato. - Usa lazy-load per le immagini below the fold.
5) CSS/JS: meno blocchi, più velocità
- Critical CSS inline per above-the-fold; differisci il resto.
- Defer/Delay per JS non essenziale; carica in footer dove possibile.
- Rimuovi CSS/JS non utilizzati di temi e plugin non indispensabili nelle pagine pubbliche.
- Evita caroselli, popup e tracker inutili nelle pagine prodotto/checkout: impattano INP.
6) Plugin e tema: audit del bloat
Ogni plugin aggiunge codice. Mantieni solo ciò che serve davvero. Disattiva funzionalità del tema che caricano script globali quando servono solo in sezioni specifiche. Preferisci plugin leggeri e modulari, evita page builder invasivi sulle pagine di checkout.
7) CDN e ottimizzazione rete
Distribuisci asset statici (immagini, CSS, JS, font) via CDN con HTTP/2 o HTTP/3. Imposta cache-control adeguato e attiva la minificazione lato edge se disponibile. Evita di servire font da terze parti quando puoi self-hostarli.
8) Database, cron e ricerca
- Pulisci transient scaduti, revisioni e tabelle orfane.
- Usa WP-CLI su cron reali del server; limita WP-Cron su siti trafficati.
- Per store con molti prodotti, valuta una ricerca indicizzata e filtri server-side per non sovraccaricare la pagina categoria.
9) Test di checkout: come evitare rogne
Dopo ogni modifica importante esegui un test end-to-end:
- Aggiungi prodotti al carrello, varia quantità, rimuovi.
- Compila il checkout con spedizione e pagamento reali o sandbox.
- Verifica email ordine e aggiornamento stock.
- Controlla i log errori PHP e console browser.
10) Monitoraggio continuo
Imposta un monitor Uptime, avvisi su errori 500/503, report settimanali di Core Web Vitals e una procedura di rollback chiara. La performance è un processo, non un intervento una tantum.
Checklist rapida
- Cache di pagina attiva con esclusioni corrette per carrello/checkout/area utente.
- Object cache Redis attiva e connessa.
- Immagine LCP ottimizzata, preloadata e non lazy.
- Critical CSS + defer/delay JS.
- CDN per statici, font self-hosted.
- Plugin audit e rimozione bloat.
- Checkout testato dopo ogni modifica.
Hai bisogno di una mano? Offro audit performance WooCommerce con piano d’azione e implementazione sicura delle ottimizzazioni senza interrompere le vendite.
FAQ
Perché non devo mettere in cache il checkout?
Perché contiene dati sensibili e dinamici. La cache può mostrare informazioni di un altro utente o impedire il corretto aggiornamento dei totali.
Redis è sempre utile?
Su store medi e grandi quasi sempre sì: riduce i tempi delle query e alleggerisce il database. Su micro-siti a basso traffico il beneficio può essere meno percepibile.
WebP basta per migliorare LCP?
Aiuta, ma LCP dipende anche da dimensione/posizionamento dell’elemento, critical CSS, TTFB e dalla priorità di caricamento.
Posso usare più plugin di cache insieme?
No. Rischi conflitti e doppie ottimizzazioni. Usa un solo sistema di cache ben configurato.
Quanto posso migliorare?
Dipende da hosting, tema, quantità di plugin e media. Miglioramenti tipici variano da secondi a centinaia di millisecondi su LCP/INP.
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.