WP-Rettung

Disabilitare i Frammenti AJAX WooCommerce e Velocizzare il Checkout

disabilitare frammenti ajax woocommerce per velocizzare checkout

Disabilitare i Frammenti AJAX WooCommerce e Velocizzare il Checkout

Hai un sito WooCommerce e il checkout è diventato lentissimo? Magari hai notato che, dopo aver aggiunto prodotti al carrello, il tempo di caricamento aumenta in modo fastidioso, soprattutto nella fase finale della vendita. Uno dei responsabili più comuni di questo problema sono proprio i frammenti AJAX WooCommerce: una funzionalità pensata per aggiornare dinamicamente il carrello nel menu, ma che spesso si trasforma in un vero collo di bottiglia per la velocità del tuo shop.

In questa guida ti spiego cosa sono questi frammenti, perché possono rallentare le conversioni e, soprattutto, come disabilitare i frammenti AJAX WooCommerce senza compromettere la funzionalità del tuo negozio. Ti guiderò passo-passo tra codice, plugin e best practice che utilizzo quotidianamente nei progetti dei clienti G Tech Group. Alla fine saprai esattamente come rendere più veloce il checkout e migliorare l’esperienza dei tuoi utenti.

Cosa Sono i Frammenti AJAX di WooCommerce (e Perché Rallentano)

Prima di mettere mano al codice, è fondamentale capire cos’è esattamente questa funzione. I cosiddetti “frammenti AJAX” sono piccole parti di HTML generate via JavaScript che aggiornano in automatico il contenuto del carrello nel menu (di solito in alto a destra), ogni volta che aggiungi o togli un prodotto dal carrello.

WooCommerce lo fa tramite la funzione woocommerce_add_to_cart_fragments. In pratica: ogni interazione col carrello scatena una chiamata AJAX al server, che restituisce gli aggiornamenti da mostrare all’utente. Questo meccanismo, se da un lato migliora la dinamicità dell’interfaccia, dall’altro può pesare molto sulle performance:

I segnali che indicano un problema? Tempi lunghi dopo aver cliccato “Aggiungi al carrello”, lentezza durante l’aggiornamento del mini-carrello o addirittura errori 503/504 nelle ore di punta. Se gestisci molti prodotti o hai tanto traffico simultaneo lo noterai subito.

Sintomi Comuni: Quando Disabilitare i Frammenti AJAX?

Non tutti gli shop traggono vantaggio dalla disattivazione: nei negozi con pochi prodotti e poco traffico spesso l’impatto è minimo. Ma se vedi sintomi come questi, è ora di agire:

  1. Checkout lento: Il caricamento della pagina finale d’acquisto impiega più di 3-4 secondi anche con cache attiva.
  2. Aggiunta/rimozione prodotti dal carrello lenta: Dopo aver cliccato ci sono attese anomale prima dell’aggiornamento visivo.
  3. Browser bloccati o animazioni a scatti: Soprattutto su dispositivi mobili o browser datati.
  4. Errori intermittenti su /wc-ajax/get_refreshed_fragments/: Li puoi monitorare tramite la console sviluppatori (F12 → tab Network).
  5. Tanti script JS attivi contemporaneamente: Con temi premium avanzati o plugin per filtri/prodotti variabili la pressione aumenta ancora.

Basta un piccolo test: apri Chrome DevTools (F12), aggiorna una pagina prodotto e osserva quante chiamate verso /wc-ajax/ compaiono nella scheda Network – se vedi numerosi tentativi o latenze sopra a 300ms, sei nel caso giusto per intervenire!

Procedura Rapida: Disabilitare i Frammenti AJAX via Codice PHP

Ecco come puoi eliminare velocemente i famigerati frammenti AJAX dal tuo shop. Prima di tutto: fai sempre un backup del file functions.php o lavora via plugin appositi per snippet personalizzati!

  1. Apri il file /wp-content/themes/tuo-tema/functions.php con un editor di testo oppure usa un plugin tipo “Code Snippets” se preferisci non toccare direttamente i file core.
  2. Copia/incolla questo codice PHP alla fine del file (ma prima della chiusura ?> se presente):
    • // Disattiva frammenti AJAX WooCommerce
      function gtechgroup_remove_cart_fragments() {
      unregister_hook(‘woocommerce_add_to_cart_fragments’, ‘WC_AJAX::get_refreshed_fragments’);
      unregister_hook(‘wp_ajax_woocommerce_get_refreshed_fragments’, ‘WC_AJAX::get_refreshed_fragments’);
      unregister_hook(‘wp_ajax_nopriv_woocommerce_get_refreshed_fragments’, ‘WC_AJAX::get_refreshed_fragments’);
      unregister_hook(‘woocommerce_cart_hash’, ‘__return_false’);
      unregister_hook(‘woocommerce_get_refreshed_fragments’, ‘__return_false’);
      unregister_hook(‘woocommerce_add_to_cart_fragment’, ‘__return_false’);
      unregister_hook(‘init’, ‘gtechgroup_remove_cart_fragments’);
      }
  3. Dopo aver salvato le modifiche, svuota tutte le cache (plugin + server) e verifica che:
    • L’aggiunta al carrello funzioni ancora correttamente.
    • I tempi su /wc-ajax/get_refreshed_fragments nelle DevTools siano azzerati (ovvero nessuna chiamata in corso).

NOTA: Alcuni temi premium usano metodi personalizzati: se non vedi cambiamenti ripeti la procedura nel functions.php del child theme oppure verifica se c’è uno specifico hook custom da rimuovere (consulta sempre la documentazione del tema).

Soluzione Alternativa: Plugin Dedicati per Gestire i Frammenti AJAX

Non ami mettere mano al codice? Nessun problema: esistono plugin testati che permettono di disabilitare facilmente i frammenti AJAX WooCommerce, anche senza alcuna conoscenza tecnica avanzata. Ecco alcune opzioni affidabili:

  1. Cerca il plugin desiderato in Dashboard > Plugin > Aggiungi Nuovo.
  2. Clicca su “Installa Ora” poi “Attiva”.
  3. Dopo l’attivazione vai nella sua pagina impostazioni e spunta l’opzione correlata ai cart fragments.
  4. Svuota cache e verifica da utente guest se il problema è sparito sia su desktop sia su mobile.
Persona che digita codice su un laptop con interfaccia di programmazione visibile, ambiente di lavoro con pianta e tazza di caffè

Cosa Cambia Dopo la Disattivazione dei Frammenti? Impatti su Carrello ed Esperienza Utente

A livello pratico, una volta rimossi i frammenti AJAX potresti notare alcuni piccoli cambiamenti nell’esperienza utente:

L’effetto positivo invece è immediatamente percepibile:

Nella mia esperienza diretta su shop medio-grandi ho visto miglioramenti tra l’8% e il 25% nei tempi medi di caricamento pagina solo eliminando questa singola funzione inutile!

Casi Speciali: Temi Premium o Plugin Avanzati Che Usano Ajax Personalizzato?

Sui siti professionali capita spesso che certi temi premium (ad esempio WoodMart, Flatsome, Shopkeeper) implementino logiche proprie per minicarrelli sticky/fissi via JavaScript o soluzioni alternative a quelle base di WooCommerce. In questi casi non basta togliere gli hook standard – serve identificare eventuale codice custom collegato ai frammenti cart!

  1. Cerca nel pannello Tema delle impostazioni relative ad “Ajax Cart Update”, “Live Cart”, “Header Cart Refresh”: spesso puoi semplicemente disabilitare queste feature con uno switch dedicato.
    Esempio WoodMart:
    Basta andare su WoodMart > Theme Settings > Shop > Ajax Add to Cart – togli flag da tutte le opzioni collegate ai fragment refresh!
  2. Dai uno sguardo al file JS personalizzato incluso dal tema – cerca funzioni legate a fetch/ajax o eventi click sul mini-carrello.
    In caso trovi riferimenti come wcFragments.refresh(), commentalo oppure rivolgiti allo sviluppatore del tema per sapere quale metodo usare senza rompere altre funzioni core.

Migliori Pratiche Dopo Aver Disabilitato i Frammenti AJAX WooCommerce

Dopo aver completato le modifiche principali non dimenticare queste azioni fondamentali per evitare effetti collaterali:

  1. Esegui test incrociati come utente anonimo sia da desktop che mobile aprendo una sessione privata/incognito – aggiungi/rimuovi prodotti dal carrello ed entra nella pagina Checkout verificando stabilità/fluidità dell’esperienza d’acquisto;
  2. Mantieni sempre aggiornata all’ultima versione stabile sia WordPress (minimo 6.x), sia WooCommerce (minimo 7.x) sia PHP (consigliato almeno 8.0); issue note sui fragment sono risolte solo nelle versioni recentissime;
  3. Dopo ogni cambiamento svuota completamente tutte le cache lato plugin (WP Rocket/W3 Total Cache/SG Optimizer) ed eventualmente lato server/cloudflare/CDN;

E se qualcosa va storto?

Gianluca Gentile

Mein Name ist Gianluca Gentile, Abschlussjahrgang 1991. Eine grenzenlose Leidenschaft für IT hat mich schon immer begleitet. Computer und das Internet sind zu meinen untrennbaren Begleitern geworden. Deshalb habe ich 2012 beschlossen, meine Begabung und meine Fähigkeiten in einen "Job" zu verwandeln. Mit meiner Erfahrung und Professionalität kümmere ich mich um die Umstrukturierung und den Aufbau des Images eines Unternehmens von Grund auf. Zu meinen Aufgaben gehört es, jede Phase des kreativen Prozesses zu leiten und mich um jeden Aspekt der Werbekampagnen in den verschiedenen Medien zu kümmern.

Die mobile Version verlassen