Blog

Carrello AJAX vs ricaricamento della pagina in PrestaShop: il reale impatto sulla conversione

Il team di PrestaShopAddons 8 minuti di lettura

Quando si aggiunge un prodotto al carrello di PrestaShop, il comportamento predefinito prevede il ricaricamento della pagina. I modelli più recenti utilizzano AJAX: il carrello si aggiorna in tempo reale senza che la pagina cambi. La domanda che si pongono i gestori dei negozi è se il modello AJAX incida effettivamente sulle vendite o se si tratti semplicemente di una preferenza degli sviluppatori mascherata da ottimizzazione.

Risposta breve: Sì, AJAX è vincente in termini di conversione, esperienza utente e velocità percepita — ma solo se implementato correttamente. Ecco il confronto tra gli aspetti che contano, con il mito relativo alla SEO affrontato alla fine.

Come funziona effettivamente ciascuno di essi

Aggiornamento del carrello alla ricarica della pagina (versione classica PrestaShop)

  1. L'utente tocca “Aggiungi al carrello”
  2. Il browser invia il modulo tramite POST al controller del carrello
  3. Il server elabora la richiesta, inserisce una riga nel carrello e restituisce una pagina HTML completa
  4. Il browser riceve un file HTML da 40 a 200 KB o più, lo analizza, ricarica tutti i file CSS e JS, quindi esegue il rendering
  5. L'utente visualizza la pagina del carrello (ora nella parte superiore della pagina, fuori dal contesto del prodotto)

Ogni passaggio comporta il rischio di un errore: server lento, connessione mobile instabile, timeout, clic errato sul pulsante “Indietro”.

Carrello AJAX

  1. L'utente tocca “Aggiungi al carrello”
  2. JavaScript invia una richiesta POST a un endpoint AJAX (in genere /module/slidingcartblock/ajax o simili)
  3. Il server elabora la richiesta e restituisce un piccolo file JSON (da 200 byte a 5 KB)
  4. JavaScript aggiorna il conteggio visualizzato sull'icona del carrello e, se lo si desidera, apre un pannello a comparsa
  5. L'utente rimane nel contesto; il prodotto è ancora sullo schermo

La differenza non è solo tecnica: è la differenza tra un cliente che pensa “il carrello è stato aggiornato” e uno che pensa “sto ancora facendo acquisti?”.”

Confronto diretto sulle dimensioni che contano

Tasso di conversione

Le ricerche di settore dimostrano costantemente che la riduzione degli ostacoli nel percorso di aggiunta al carrello comporta un aumento significativo del tasso di conversione. Non esiste uno studio definitivo specifico per PrestaShop, ma i risultati convergenti su tutte le piattaforme sono chiari:

  • Baymard Institute individua il “processo di checkout eccessivamente lungo/complesso” e gli “errori/blocchi del sito” tra le prime cinque cause di abbandono del carrello — entrambi aggravati dal ricaricamento completo della pagina (Statistiche sul tasso di abbandono del carrello, Baymard 2025).
  • La ricerca di Google sui Core Web Vitals documenti che utenti mobili abbandonare il 53% dei siti che impiegano più di 3 secondi a caricarsi. Il ricaricamento completo della pagina in seguito agli aggiornamenti del carrello supera regolarmente tale soglia con connessioni 4G, specialmente con temi PrestaShop non ottimizzati (web.dev — Largest Contentful Paint).
  • La conclusione di Amazon, ampiamente citata: un ritardo di 1 secondo riduce la conversione del 7%. La ricarica tramite carrello aggiunge facilmente 1-3 secondi rispetto a una risposta AJAX di poche centinaia di millisecondi.
  • Diversi rapporti sulle piattaforme di e-commerce (Shopify Plus, BigCommerce) riportano che Miglioramenti alla conversione 5-15% grazie a modifiche al carrello volte a ridurre l’attrito — pannelli a scorrimento, controlli della quantità in linea, procedure di pagamento in un’unica pagina — con i maggiori vantaggi registrati sui dispositivi mobili.

Il miglioramento è sistematicamente maggiore sui dispositivi mobili perché in questo caso il costo del ricaricamento della pagina è più elevato: connessioni più lente, minore tolleranza ai cambi di contesto e il ripristino dello scorrimento in seguito al ricaricamento, che fa perdere all’utente il contesto del prodotto.

Velocità percepita

Il ricaricamento completo della pagina provoca un momento in cui “la pagina appare vuota → poi compare il contenuto”, che gli utenti percepiscono come un ritardo anche quando il server è veloce. Una risposta del server di 400 ms sembra durare 400 ms con AJAX e 1.5 secondi con un ricaricamento completo, poiché quest’ultimo include il rendering, l’analisi dei CSS, il caricamento dei font e l’esecuzione dei JS.

È la percezione a determinare l'abbandono, non il tempo di risposta del server. I carrelli che danno la sensazione di essere più veloci generano un tasso di conversione più elevato anche a parità di velocità effettiva.

Velocità di aggiornamento del carrello (aggiunta, rimozione, quantità)

È proprio qui che AJAX si impone in modo assoluto. Modifica della quantità nel carrello senza ricaricare la pagina:

  • Tocca “+”, clicca su “Conferma”, attendi il ricaricamento della pagina, scorri indietro fino alla voce
  • ~2-5 secondi per ogni modifica su dispositivo mobile

Stessa operazione su un carrello AJAX:

  • Tocca “+”: il valore cambia immediatamente e il totale si aggiorna in tempo reale
  • ~200 ms, senza ricaricamento

In un carrello con cinque articoli, quando un utente vuole modificare le quantità, AJAX fa risparmiare 10-20 secondi. È proprio questa la differenza tra un “OK, ho finito” e un “lasciamo perdere”.

Esperienza utente su dispositivi mobili

Trattato in dettaglio in Esperienza utente (UX) dei carrelli mobili per PrestaShop — 7 modelli che generano davvero conversioni. In breve: AJAX è alla base di ogni modello mobile che funzioni (pannelli a scorrimento, notifiche a comparsa, riepiloghi fissi). Il ricaricamento della pagina li rende impossibili.

Carico del server

Contrariamente a quanto si potrebbe pensare, AJAX è meno oneroso per il server. Un carrello che richiede il ricaricamento della pagina comporta:

  • Rendering HTML completo ad ogni azione sul carrello
  • Tutte le risorse della pagina vengono richieste nuovamente (a meno che non siano state memorizzate in modo intensivo nella cache)
  • Query del database per intestazione, piè di pagina, menu, prodotti correlati, ecc.

Un endpoint AJAX restituisce dati in formato JSON: in genere richiede una larghezza di banda da 5 a 20 volte inferiore, un numero minore di query al database e un carico minore sulla CPU. Su un piano di hosting condiviso con risorse limitate, i carrelli AJAX gestiscono meglio i picchi di traffico.

Gestione degli errori

Gli errori nel carrello che comportano il ricaricamento della pagina sono davvero fastidiosi: prodotto esaurito, buono sconto non valido, pagamento rifiutato… ognuno di essi comporta il ricaricamento della pagina. L’utente potrebbe non rendersi conto di cosa sia cambiato.

È possibile intervenire in modo mirato sugli errori AJAX: visualizzare un messaggio di avviso rosso accanto all'elemento, lasciare tutto il resto invariato, consentire all'utente di correggere un solo errore e riprovare. Un miglior recupero dagli errori = meno abbandoni.

Comportamento del pulsante "Indietro"

A volte l'AJAX può compromettere il funzionamento del pulsante "Indietro" (se non implementato correttamente — in assenza di una voce nella cronologia per l'azione relativa al carrello). Il ricaricamento della pagina garantisce un corretto funzionamento del pulsante "Indietro", ma comporta un ricaricamento ad ogni clic su tale pulsante, il che rappresenta un altro motivo di frustrazione. Le buone implementazioni AJAX utilizzano l'API History per preservare il corretto funzionamento del pulsante "Indietro"; quelle approssimative no.

Quando il ricaricamento della pagina funziona correttamente

Il ricaricamento della pagina non è sempre sbagliato. Casi in cui è giustificato:

  • Cataloghi molto piccoli — 10 prodotti; la maggior parte degli utenti ne aggiunge 1-2; il costo di ricarica è trascurabile
  • Negozi B2B con cicli di acquisto lenti e ponderati — i clienti aggiungono articoli e li esaminano con attenzione; una pagina del carrello piena è prevedibile e auspicabile
  • Temi tradizionali in cui i costi di adeguamento ad AJAX superano l'incremento delle vendite — un negozio di vecchia data con un fatturato di 500 € al mese probabilmente non ha motivo di giustificare la migrazione
  • Contesti normativi in cui ogni azione del carrello deve essere verificabile — alcuni settori preferiscono il ricarico esplicito per ogni azione, per motivi di chiarezza giuridica

Per i negozi B2C tipici con traffico da dispositivi mobili, tali eccezioni si applicano raramente. La maggior parte dei negozi che oggi utilizzano un sistema di ricarica del carrello farebbe meglio a cambiare.

Come implementare un carrello AJAX in PrestaShop

Opzione 1: Carrello AJAX nativo PrestaShop

PrestaShop 1.7+ viene fornito con ajax-cart.js e un endpoint predefinito del controller. Molti temi lo disabilitano o non lo utilizzano appieno. Per abilitarlo: Impostazioni negozio → Generale → Abilita Ajax nella pagina del prodotto. Il risultato è funzionale ma essenziale: gli aggiornamenti del carrello sono stati implementati, ma non c'è il pannello a scomparsa né la barra della spedizione gratuita.

Opzione 2: Personalizzazione a livello di tema

Modifica il tema del tuo cart-detailed.tpl e aggiungere del codice JavaScript per intercettare l'invio dei moduli. Funziona, ma è una soluzione instabile; ogni aggiornamento del tema rischia di comprometterne il funzionamento. Consigliato solo se si dispone di competenze interne in PHP/JS.

Opzione 3: Modulo carrello dedicato a inserimento laterale

Un modulo che include tutti i modelli AJAX (pannello a comparsa, controlli per dispositivi mobili, barra della spedizione gratuita, cross-selling) in un'unica installazione. Sliding Cart Block è il nostro modulo in questa categoria: basato su AJAX, compatibile con PS 1.7 e 8.x, funziona con la maggior parte dei temi senza necessità di personalizzazione.

Il mito del SEO: il carrello AJAX influisce negativamente sul posizionamento?

Una preoccupazione ricorrente: “Se il carrello utilizza JavaScript, Google non riesce a vederlo e il mio sito avrà un posizionamento peggiore”. Questo è sbagliato, ed è sbagliato più o meno dal 2015.

Fatti:

  • Google esegue il rendering del JavaScript durante la scansione (Googlebot utilizza un motore Chromium recente dal 2019)
  • La pagina del carrello, in genere, è noindex oppure esclusi dalla scansione — il posizionamento non dipende da questo
  • Per la SEO contano le pagine dei prodotti e quelle delle categorie, non il carrello
  • I dati strutturati di Schema.org (Product, Offer, FAQ) sono del tutto indipendenti dall'implementazione del carrello

Cosa potrebbe Impatto negativo sul posizionamento: JavaScript lento che compromette i Core Web Vitals. Un carrello AJAX implementato male, che blocca il thread principale durante il caricamento della pagina, può influire negativamente sui punteggi LCP e INP. Tuttavia, uno ben implementato (con caricamento differito, posticipato e modulare) non ha alcun impatto negativo sul SEO e spesso migliora il posizionamento aumentando il tempo di permanenza sulla pagina, riducendo la frequenza di rimbalzo e aumentando i segnali di conversione.

Il contesto SEO completo relativo ai carrelli PrestaShop è trattato in La guida di PrestaShop sull'abbandono del carrello.

Domande frequenti

Il carrello AJAX predefinito PrestaShop funziona bene?

Funziona, ma in modo molto limitato. Aggiorna il conteggio nell’icona del carrello e consente di aggiungere articoli al carrello senza ricaricare la pagina. Non include un pannello a scorrimento, una barra per la spedizione gratuita, un blocco per le vendite incrociate né controlli sulla quantità ottimizzati per i dispositivi mobili. Per la maggior parte dei negozi, un modulo dedicato al carrello lo sostituisce o lo integra.

Un carrello AJAX potrebbe compromettere il funzionamento del mio tema personalizzato?

Dipende da come lo si integra. Le modifiche a livello di tema possono smettere di funzionare con gli aggiornamenti del tema. I carrelli AJAX a livello di modulo (come un modulo carrello a comparsa) vengono integrati tramite hooks e non richiedono modifiche al tema: gli aggiornamenti del tema non li influenzano, mentre gli aggiornamenti del modulo non richiedono modifiche al tema.

In termini concreti, quanto è più veloce il carrello AJAX?

Operazione media di aggiornamento del carrello su PrestaShop:

  • Ricaricamento della pagina: 800-2500 ms (a seconda del server e delle dimensioni del tema)
  • AJAX: 150-400 ms

Si tratta di una velocità da 5 a 10 volte superiore per ogni operazione. Se moltiplichiamo questo dato per le 3-5 modifiche al carrello effettuate in ogni sessione, la differenza complessiva risulta significativa.

Il carrello AJAX è accessibile agli screen reader?

Sì, se implementato con le “live regions” di ARIA. Un aggiornamento del carrello dovrebbe annunciare “Articolo aggiunto al carrello” tramite aria-live="polite". I moduli cart di qualità lo includono; nelle implementazioni fai-da-te dei temi spesso manca.

È possibile avere comunque una pagina del carrello completa con AJAX?

Sì — la maggior parte delle implementazioni del carrello AJAX mantiene la pagina completa del carrello come opzione secondaria (accessibile tramite il link “Visualizza carrello”). Il menu a comparsa è il flusso predefinito; la pagina completa è destinata agli utenti che desiderano rivedere il contenuto prima di procedere al pagamento. Entrambe le opzioni coesistono.

In conclusione

Per qualsiasi negozio PrestaShop con un traffico mobile significativo (attualmente 70%+ di negozi), il carrello AJAX è un requisito imprescindibile. Il miglioramento della conversione previsto, compreso tra 9 e 13%, consente di ammortizzare i costi di implementazione nel giro di poche settimane per qualsiasi attività con un fatturato mensile pari o superiore a 5.000 €.

Il punto di partenza più semplice: un modulo carrello scorrevole dedicato che gestisce AJAX, spedizione gratuita, layout per dispositivi mobili e cross-selling in un’unica installazione, senza modificare il tema.