WP Rescue

Accelerare WooCommerce Black Friday: risolvi wc-ajax get_refreshed_fragments

sviluppatrice al lavoro su codice woocommerce

Stai preparando il tuo e-commerce per il Vendredi noir 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:

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:

  1. Apri gli Strumenti Sviluppatore del browser: Su Chrome premi F12 e vai sulla sezione “Network”.
  2. Ricarica una pagina dello shop: Osserva quali richieste appaiono nella lista. Cerca quella relativa a /?wc-ajax=get_refreshed_fragments.
  3. 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.
  4. Ripeti il test su altre pagine e da dispositivi diversi.
  5. 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 Groupe G Tech:

  1. Disabilita gli aggiornamenti AJAX inutili del carrello: Se non usi un mini-cart dinamico nell’header o nel footer puoi rimuovere la funzione direttamente.
    1. 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);
    2. Dopo aver salvato, svuota cache e verifica che icona carrello e pagine funzionino senza errori JS.
  2. 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.
  3. 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).
  4. 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:

  1. 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.).
  2. 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.
  3. 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).
mani che digitano su una tastiera meccanica davanti a uno schermo con codice sorgente per ottimizzare WooCommerce Black Friday

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:

Ecco come intervenire se hai situazioni simili:

  1. Svuota completamente la cache browser/server dopo ogni modifica JS/PHP sugli hooks WooCommerce.
  2. Dopo ogni cambio sul tema child/functions.php verifica console browser: eventuali errori JS indicano problemi sui selettori HTML rimossi insieme ai fragments;
  3. 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!

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:

  1. 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;
  2. Mantieni sempre aggiornati sia WooCommerce che tutti i suoi componenti aggiuntivi compatibili (verifica changelog specifico sulle funzioni cart fragments);
  3. 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;
  4. 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>

Gianluca Gentile

Je m'appelle Gianluca Gentile, diplômé en 1991. J'ai toujours été animé d'une passion sans bornes pour les technologies de l'information. L'informatique et le web sont devenus mes compagnons inséparables. En 2012, j'ai donc décidé de faire de mes aptitudes et de mes compétences un "métier". Grâce à mon expérience et à mon professionnalisme, je m'occupe de la restructuration et de la construction de l'image d'une entreprise à partir de zéro. Mes tâches consistent à gérer toutes les étapes du processus créatif, à prendre soin de tous les aspects des campagnes publicitaires dans les différents médias.

Quitter la version mobile