Stai preparando il tuo e-commerce per il Viernes Negro con WooCommerce e noti che il sito è lento, soprattutto in fase di caricamento? Uno dei colpevoli più frequenti di questi rallentamenti è la chiamata AJAX wc-ajax=get_refreshed_fragments, responsabile dell’aggiornamento dinamico del carrello. Questo script, pensato per offrire un’esperienza più fluida all’utente, può diventare un vero problema quando il traffico aumenta o se la tua infrastruttura non è ottimizzata. In questa guida vediamo come riconoscere questo collo di bottiglia, come eliminarlo o ottimizzarlo e quali soluzioni adottare subito per salvare le performance durante eventi critici come il Black Friday. Seguendo queste strategie, potrai finalmente ottenere un negozio veloce e affidabile anche nei giorni di massimo traffico.
Perché wc-ajax get_refreshed_fragments rallenta WooCommerce?
Anzitutto capiamo cosa fa la funzione wc-ajax=get_refreshed_fragments. Si tratta di una richiesta AJAX lanciata automaticamente da WooCommerce quando si carica qualsiasi pagina del sito, con lo scopo di aggiornare in tempo reale il contenuto del carrello (ad esempio l’icona in alto o i mini-cart laterali). Questo meccanismo verifica costantemente lo stato della sessione utente, garantendo che le informazioni mostrate siano precise anche in siti con contenuti cache.
Tuttavia, proprio questa funzione può generare rallentamenti notevoli:
- Causa una chiamata server-side aggiuntiva ogni volta che si accede a una pagina.
- Spesso non viene cacheata (per motivi di sicurezza sul carrello), quindi grava pesantemente sul server.
- In presenza di molti visitatori simultanei (tipico del Black Friday), produce centinaia o migliaia di richieste extra al minuto.
- Può interagire male con plugin di caching, CDN o minificazione JS/CSS.
Il risultato: la fase “wc-ajax=get_refreshed_fragments” appare nella waterfall delle performance come uno dei momenti più lenti a caricare. Nei test reali su siti WooCommerce trafficati ho visto questa chiamata impiegare da 0,5 a oltre 3 secondi!
Come individuare wc-ajax=get_refreshed_fragments tra le cause della lentezza
Prima ancora di intervenire, serve diagnosticare se davvero questa funzione incide sulle performance del tuo shop. Ecco la procedura migliore per individuarla:
- Apri gli Strumenti Sviluppatore del browser: Su Chrome premi F12 e vai sulla sezione “Network”.
- Ricarica una pagina dello shop: Osserva quali richieste appaiono nella lista. Cerca quella relativa a /?wc-ajax=get_refreshed_fragments.
- Controlla il tempo impiegato dalla richiesta: Se supera i 150-200 ms ed è sempre una delle ultime a completarsi (spesso ben oltre 1 secondo), sei davanti al problema classico.
- Ripeti il test su altre pagine e da dispositivi diversi.
- Esegui test anche su GTMetrix o WebPageTest: Qui vedrai visivamente quanto influisce sulla waterfall generale.
Esempio pratico: su uno shop con traffico intenso testato durante un’offerta flash, la chiamata “get_refreshed_fragments” ha impiegato oltre 1.8 secondi a caricarsi contro i 300 ms delle altre richieste statiche. Questo incide negativamente sia su Google PageSpeed che sulla percezione dell’utente finale.
Tecniche per disabilitare o ottimizzare wc-ajax get_refreshed_fragments
Dopo aver verificato che il problema dipende proprio da questa richiesta AJAX, puoi agire in diversi modi. Vediamo insieme le soluzioni step-by-step più efficaci usate dai tecnici Grupo G Tech:
- Disabilita gli aggiornamenti AJAX inutili del carrello: Se non usi un mini-cart dinamico nell’header o nel footer puoi rimuovere la funzione direttamente.
- Aggiungi questo snippet nel functions.php del tuo tema child:
// Disabilita i cart fragments Woocommerce
add_action(‘wp_enqueue_scripts’, function() {
wps_dequeue_script(‘wc-cart-fragments’);
wps_dequeue_script(‘woocommerce-cart’);
wps_dequeue_style(‘woocommerce-general’);
}, 99); - Dopo aver salvato, svuota cache e verifica che icona carrello e pagine funzionino senza errori JS.
- Aggiungi questo snippet nel functions.php del tuo tema child:
- Sostituisci con redirect diretto al carrello dopo l’aggiunta prodotto: Vai su WooCommerce > Impostazioni > Prodotti > Generale e attiva “Reindirizza alla pagina del carrello dopo aver aggiunto un prodotto”.
Questo elimina la necessità dell’aggiornamento dinamico post-add-to-cart. - Usa plugin dedicati all’ottimizzazione AJAX: Alcuni plugin premium permettono una gestione smart dei fragments e sono compatibili con molti temi commerciali (es. WP Rocket offre funzioni specifiche per WooCommerce).
- Cerca alternative ai template standard: Se usi page builder o temi customizzati, assicurati che non reiniettino loro stessi i fragments anche dopo averli disattivati dal tema!
⚠️ ATTENZIONE: Prima di modificare file core o functions.php fai sempre un backup completo del sito!
Migliorare le performance server lato WooCommerce nei giorni ad alto traffico
Anche se hai eliminato la causa principale dei rallentamenti legati a wc-ajax=get_refreshed_fragments, durante periodi intensivi come il Black Friday possono emergere altri colli di bottiglia legati all’infrastruttura server:
- Potenziamento infrastruttura hosting: Assicurati che PHP sia aggiornato almeno alla versione 8.0+, abilitando opcache.
Evita hosting condivisi nei picchi: meglio VPS cloud scalabili (Kinsta, SiteGround Cloud ecc.). - Caching avanzato + Esclusione delle pagine dinamiche dal caching totale: Usa plugin come WP Rocket o W3 Total Cache ma escludendo tutte le pagine relative al checkout/cart dal full page cache.
- Aggiorna WooCommerce all’ultima versione stabile compatibile col tuo tema/plugins: Bug vecchi relativi ai fragments sono spesso già stati risolti negli ultimi rilasci ufficiali (verifica sempre prima in staging).
- Pulisci regolarmente database/transients via plugin tipo WP-Sweep o Advanced Database Cleaner;
- Sfrutta CDN per immagini/statiche ma non per contenuti sensibili alle sessioni utente;

Casi particolari: plugin incompatibili e personalizzazioni aggressive
Sui siti WooCommerce fortemente personalizzati possono emergere conflitti imprevisti tra scripts legati ai cart fragments e plugin esterni. Ad esempio:
- I page builder tipo Elementor spesso reinseriscono via JS loro versioni modificate dei fragments;
- I plugin popup/offerte possono richiamare forzatamente lo script AJAX anche dopo la sua disattivazione;
Ecco come intervenire se hai situazioni simili:
- Svuota completamente la cache browser/server dopo ogni modifica JS/PHP sugli hooks WooCommerce.
- Dopo ogni cambio sul tema child/functions.php verifica console browser: eventuali errori JS indicano problemi sui selettori HTML rimossi insieme ai fragments;
- Cerca tra i tuoi plugin attivi quello che potrebbe agganciarsi agli hook JavaScript / AJAX relativi al carrello (tipicamente quelli promozionali); prova a disattivarne uno alla volta e controlla se la richiesta wc-ajax si ripresenta;
Nella mia esperienza diretta su shop ad alto traffico ho trovato almeno tre casi in cui POPUP Builder oppure moduli newsletter tentavano continuamente refresh forzati dei fragments creando centinaia di chiamate duplicate ogni ora!
- Suggerimento pratico: usa strumenti gratuiti come Query Monitor oppure Debug Bar per vedere tutte le richieste AJAX generate sulla tua installazione WordPress in tempo reale;
Sicurezza e stabilità: prevenire problemi futuri dopo le modifiche ai fragments
Dopo aver agito direttamente su wc-ajax get_refreshed_fragments, ci sono alcune precauzioni fondamentali da adottare per evitare effetti collaterali o problemi persistenti nel tempo. Segui questi step preventivi:
- Dopo ogni modifica sul codice (functions.php o script custom), testa sia da desktop che da mobile almeno tre flussi d’acquisto completi inclusa variazione quantità prodotti nel carrello;
- Mantieni sempre aggiornati sia WooCommerce che tutti i suoi componenti aggiuntivi compatibili (verifica changelog specifico sulle funzioni cart fragments);
- Pianifica backup automatici frequenti durante eventi ad alto traffico così da poter ripristinare rapidamente il sito qualora emergano errori gravi improvvisi legati alle modifiche eseguite;
- Aggiorna periodicamente i tool diagnostici usati (come GTMetrix/WebPageTest) così da rilevare tempestivamente eventuale riapparizione della lentezza dovuta ad altre cause simili;
descrizione esempio screenshot: “Schermata strumenti sviluppatore Chrome > Network > evidenziato fetch wc-ajax=get_refreshed_fragments con cronologia tempo/risposta”
presentazione visuale dell’impatto della richiesta sulla waterfall performance.
p>