Perché il checkout di WooCommerce non funziona?

Il checkout di WooCommerce non funziona? Scopri le cause più comuni, quali controlli sono sicuri, come testare un ordine e quando chiedere supporto tecnico.

Apri un ticket di supporto

Se i clienti non riescono a completare l’acquisto, il checkout di WooCommerce ha smesso di fare il suo lavoro, anche se il resto del negozio sembra perfettamente normale.

Il problema può presentarsi in modi diversi:

  • il pulsante "Place order" (Effettua ordine) non fa nulla
  • la pagina continua a caricare dopo il clic del cliente
  • compare un messaggio di errore, a volte generico
  • il cliente paga, ma in WooCommerce non compare alcun ordine
  • la pagina di checkout è bianca o caricata solo in parte
  • mancano le opzioni di spedizione o i metodi di pagamento

Un checkout rotto incide direttamente sulle vendite, e spesso in silenzio: i clienti raramente ti scrivono per avvisarti, semplicemente se ne vanno.

La buona notizia è che un problema al checkout raramente significa che prodotti, clienti o ordini passati siano andati persi. Nella maggior parte dei casi qualcosa nella catena tra carrello e pagamento ha smesso di funzionare, e si può trovare con un approccio calmo, passo dopo passo.

Questa guida spiega i sintomi e le cause più comuni, quali controlli sono sicuri, come testare correttamente il checkout e quando è meglio chiedere supporto tecnico.

Come si presenta davvero un "checkout che non funziona"?

Prima di provare qualsiasi cosa, annota esattamente cosa succede. Il sintomo è uno degli indizi più utili.

Il pulsante "Place order" non fa nulla

Il cliente fa clic e non succede niente: nessun errore, nessun caricamento, nessun reindirizzamento. Spesso indica un errore JavaScript nella pagina, che impedisce allo script del checkout di funzionare.

La pagina continua a caricare

Il checkout mostra un’animazione di caricamento che non finisce mai. La richiesta potrebbe fallire sul server, andare in timeout o ricevere una risposta inattesa, per esempio perché una cache o una regola di sicurezza interferisce.

Compare un messaggio di errore

I messaggi possono essere specifici, come una carta rifiutata, o generici, come "There was an error processing your order". Un messaggio generico di solito significa che l’errore vero è registrato in un log, non sullo schermo.

Il cliente paga ma l’ordine non viene creato

È uno dei casi più seri. Il denaro può arrivare al tuo fornitore di pagamento, ma WooCommerce non riceve mai la conferma. Spesso coinvolge il gateway di pagamento o il modo in cui comunica con il tuo sito.

La pagina di checkout è bianca o rotta

La pagina può essere vuota, mostrare un errore critico o caricarsi senza la sezione di pagamento. Può dipendere da un conflitto tra plugin o tema, da un errore PHP o da un problema della pagina di checkout stessa.

Mancano le opzioni di spedizione o di pagamento

Senza un metodo di spedizione o di pagamento l’ordine non può essere effettuato. Spesso dipende dalle impostazioni più che dal codice.

Cosa può aver causato il problema?

Le cause più comuni sono le seguenti.

Un conflitto tra plugin o tema dopo un aggiornamento

Il checkout dipende dal lavoro congiunto di WooCommerce, del tema, del plugin di pagamento e spesso di diversi altri plugin. Un aggiornamento di uno qualsiasi di essi può introdurre un conflitto.

L’aggiornamento non deve per forza riguardare i pagamenti: anche plugin per marketing, traduzioni o campi personalizzati aggiungono codice al checkout. Un cambio di versione di PHP o una nuova regola di sicurezza del server possono avere un effetto simile.

Il gateway di pagamento

Il plugin del gateway potrebbe essere stato aggiornato, le sue credenziali potrebbero essere cambiate o scadute, oppure potrebbe essere rimasta attiva la modalità di test. Se il checkout fallisce solo con un metodo di pagamento, il gateway è il primo sospettato. La nostra guida sui problemi del gateway di pagamento approfondisce il tema.

La pagina del carrello o del checkout viene messa in cache

La cache rende un sito più veloce salvando copie delle pagine. Le pagine di carrello, checkout e account, però, sono diverse per ogni cliente e non devono essere messe in cache.

Se un plugin di cache, la cache dell’hosting o una CDN salvano una copia del checkout, i clienti possono vedere il carrello di qualcun altro, una pagina non aggiornata o un checkout che non si invia.

Errori JavaScript

Il checkout di WooCommerce si basa molto su JavaScript. Un errore di script di un altro plugin, del tema o di uno strumento di ottimizzazione che combina o ritarda gli script può bloccare il checkout mentre la pagina sembra ancora normale.

Regole di spedizione o imposte

Se nessun metodo di spedizione corrisponde all’indirizzo del cliente, o se è stata cambiata una zona di spedizione o un’impostazione delle imposte, il checkout potrebbe rifiutarsi di proseguire. Succede spesso dopo aver modificato le zone di spedizione o aggiunto nuovi paesi.

Compatibilità tra checkout a blocchi e checkout classico

WooCommerce offre due modi per costruire la pagina di checkout:

  • il blocco Checkout, usato di default in molti negozi più recenti
  • il checkout classico, basato sullo shortcode [woocommerce_checkout]

Alcuni gateway di pagamento, estensioni e personalizzazioni funzionano solo con uno dei due. Se la pagina di checkout è stata modificata, ricostruita o creata da una versione più recente di WooCommerce, un plugin che prima funzionava potrebbe non comparire più o non comportarsi correttamente.

Prima di tutto, cerca di capire cosa è cambiato

Pensa a cosa è successo poco prima che il checkout smettesse di funzionare.

Per esempio:

  • WooCommerce, WordPress, il tema o un plugin sono stati aggiornati o installati?
  • Qualcuno ha cambiato le impostazioni di pagamento, spedizione o imposte?
  • È stato installato o riconfigurato un plugin di cache o di ottimizzazione?
  • La pagina di checkout è stata modificata o ricostruita?
  • Il tuo hosting o uno sviluppatore hanno fatto modifiche?

Cerca anche di capire quando è stato effettuato l’ultimo ordine andato a buon fine. Apri WooCommerce > Orders (WooCommerce > Ordini) e guarda la data dell’ordine completato o in lavorazione più recente. Se gli ordini si sono fermati in un giorno preciso, confronta quella data con eventuali aggiornamenti o modifiche.

Come testare il checkout in sicurezza?

Testare è l’unico modo affidabile per sapere se il checkout funziona e se una correzione ha davvero risolto il problema.

Testa in una finestra privata

Apri il negozio in una finestra privata o in incognito, senza aver effettuato l’accesso. Gli amministratori a volte vedono una versione diversa della pagina, e gli utenti collegati possono aggirare la cache.

Aggiungi un prodotto al carrello e completa il checkout come farebbe un normale cliente.

Usa una modalità di test, se disponibile

Molti gateway di pagamento offrono una modalità di test o sandbox, che permette di effettuare ordini con dati di pagamento di prova invece che con carte reali. I passaggi esatti dipendono dal fornitore e dal plugin, quindi controlla la relativa documentazione.

Attenzione: mentre la modalità di test è attiva, i clienti reali potrebbero non riuscire a pagare. Attivala solo se puoi farlo per poco tempo, oppure su una copia di staging del negozio.

Fai un ordine reale di basso valore

Un ordine reale è il test più accurato, perché usa il metodo di pagamento live esattamente come farebbe un cliente. Se possibile, usa un prodotto di basso valore o un prodotto di prova temporaneo a prezzo basso, poi rimborsa o annulla l’ordine.

Verifica che:

  • il pagamento arrivi al tuo fornitore di pagamento
  • l’ordine compaia in WooCommerce con lo stato previsto
  • arrivi l’email di conferma
  • le giacenze di magazzino vengano aggiornate correttamente

Prova diversi metodi di pagamento e spedizione

Se un metodo di pagamento fallisce e un altro funziona, il problema è probabilmente in quel gateway specifico. Se falliscono tutti, la causa è più probabilmente generale: un conflitto, una cache, un errore JavaScript o un problema del server.

Cosa puoi provare in sicurezza?

Controlla WooCommerce > Status

Vai in WooCommerce > Status (WooCommerce > Stato). La pagina System status (Stato del sistema) riassume la configurazione di WooCommerce ed evidenzia alcuni problemi, come override dei template del tema non aggiornati, pagine mancanti o limiti del server.

La scheda Logs (Log) può contenere errori registrati da WooCommerce e dai plugin di pagamento. Cerca le voci risalenti al momento in cui il checkout è fallito.

Svuota la cache

Se usi un plugin di cache, la cache dell’hosting o una CDN, svuota la cache e ripeti il test. Poi verifica che le pagine di carrello, checkout e il mio account siano escluse dalla cache. Molti strumenti di cache lo fanno in automatico per WooCommerce, ma regole personalizzate o impostazioni di ottimizzazione possono scavalcarlo.

Contatta il tuo fornitore di pagamento

Se ai clienti viene addebitato l’importo ma gli ordini non vengono creati, o se i pagamenti vengono rifiutati in modo inatteso, controlla la dashboard del tuo fornitore di pagamento e contatta il suo supporto. Può vedere se i pagamenti arrivano e se le sue notifiche verso il tuo sito vanno a buon fine.

Disattiva un plugin sospetto

Prova questa strada solo se hai un buon motivo per sospettare di un plugin specifico, per esempio uno aggiornato poco prima della comparsa del problema, e solo se hai un backup recente.

Disattivare un plugin su un negozio live può influire su altre funzioni, come il calcolo delle spedizioni, gli sconti o le fatture. Dopo ogni modifica, fai un altro ordine di prova.

Cosa dovresti evitare?

Quando le vendite ne risentono, viene la tentazione di provare tutto insieme. Di solito questo rende la causa più difficile da trovare.

Evita di:

  • aggiornare tutti i plugin insieme sperando che il problema si risolva
  • disattivare molti plugin contemporaneamente sul negozio live
  • ripristinare un vecchio backup senza verificare quali ordini andrebbero persi
  • passare dal checkout a blocchi a quello classico, o viceversa, senza testare
  • disattivare in modo permanente le funzioni di sicurezza per "vedere se aiuta"
  • lasciare attiva la modalità di test su un negozio live
  • modificare direttamente i file di WooCommerce o dei plugin

Ripristinare un backup richiede un’attenzione particolare su un sito ecommerce. Un backup di ieri potrebbe non contenere gli ordini, i clienti o le variazioni di magazzino di oggi. Ripristinarlo può cancellare dati reali.

Cambia una cosa alla volta e annota cosa hai fatto.

Quando chiedere supporto tecnico?

Il supporto tecnico è consigliato quando:

  • non arrivano ordini da un tempo insolitamente lungo
  • ai clienti viene addebitato l’importo ma gli ordini non vengono creati
  • il checkout fallisce con ogni metodo di pagamento
  • il problema è iniziato dopo un aggiornamento e non riesci a capire quale
  • i log mostrano errori che non capisci
  • il checkout usa codice personalizzato o personalizzazioni pesanti
  • non hai un backup recente e verificato
  • il problema si ripresenta dopo una correzione temporanea
  • non ti senti a tuo agio a disattivare plugin su un negozio live

Non devi conoscere prima la causa: una descrizione chiara di ciò che vedono i clienti è un buon punto di partenza.

Quali informazioni dovresti raccogliere?

Dettagli utili:

  • l’URL del sito
  • uno screenshot o una registrazione dello schermo dell’errore
  • data e ora dell’ultimo ordine andato a buon fine
  • quali metodi di pagamento e spedizione sono coinvolti
  • eventuali aggiornamenti o modifiche recenti
  • se i clienti hanno segnalato addebiti senza ordine
  • il nome del tuo fornitore di pagamento e del tuo hosting
  • il rapporto sullo stato del sistema di WooCommerce (vedi sotto)
  • se è disponibile un backup recente

Non inviare password, chiavi API o dati di pagamento completi via email. D4Hub può spiegarti come condividere gli accessi in sicurezza.

Come può aiutarti D4Hub

L’obiettivo non è solo far passare un ordine, ma capire perché il checkout si è rotto e assicurarsi che continui a funzionare.

A seconda del problema, D4Hub può aiutarti a:

  • riprodurre il problema e individuare dove fallisce il checkout
  • analizzare i log di WooCommerce, i log del server e gli errori del browser
  • trovare il plugin, il tema o l’aggiornamento che ha causato un conflitto
  • controllare le impostazioni del gateway di pagamento e il collegamento con il tuo fornitore
  • correggere le regole di cache e ottimizzazione che incidono su carrello e checkout
  • rivedere zone di spedizione, metodi e impostazioni delle imposte
  • verificare la compatibilità tra checkout a blocchi e checkout classico
  • recuperare, dove possibile, gli ordini pagati ma non registrati
  • testare l’intero flusso d’acquisto dopo la correzione
  • consigliare staging, monitoraggio e manutenzione per prevenire problemi futuri

Puoi chiedere supporto in qualsiasi fase del processo.

Per esempio, D4Hub può confermare se un controllo è sicuro su un negozio live, subentrare dopo un tentativo non riuscito, completare l’intera riparazione o rivedere il checkout dopo una correzione temporanea.

Apri un ticket di supporto

Per chi vuole mettere le mani in pasta: controlli tecnici per un checkout rotto

I controlli seguenti sono per chi ha dimestichezza con la bacheca di WordPress, gli strumenti per sviluppatori del browser e WP-CLI.

La maggior parte si limita a leggere informazioni. Prima di modificare qualsiasi cosa su un negozio live, assicurati di avere un backup recente che includa il database, e lavora su una copia di staging se puoi. Cambia una cosa alla volta e fai un ordine di prova dopo ogni modifica.

Leggi i log di WooCommerce

Vai in WooCommerce > Status > Logs (WooCommerce > Stato > Log).

A seconda della tua versione di WooCommerce, vedrai un elenco di file di log o di voci filtrabili per sorgente. Cerca:

  • sorgenti con il nome del tuo gateway di pagamento
  • fatal-errors, che registra gli errori fatali PHP intercettati da WooCommerce
  • voci con data e ora corrispondenti a un checkout fallito

Alcuni plugin di pagamento registrano i dettagli solo quando è attiva un’opzione di debug. Disattivala quando hai finito.

I log possono contenere dati dei clienti, indirizzi email o dettagli tecnici. Non pubblicarli e non incollarli in forum pubblici.

Controlla la console del browser per gli errori JavaScript

Apri la pagina di checkout, poi apri gli strumenti per sviluppatori del browser:

  • in Chrome, Edge o Firefox, fai clic destro sulla pagina, scegli Inspect (Ispeziona), poi apri la scheda Console
  • in Safari, attiva prima gli strumenti per sviluppatori nelle impostazioni avanzate

Ricarica la pagina e prova a effettuare un ordine. Vale la pena annotare gli errori mostrati in rosso, soprattutto se nel percorso del file citano la cartella di un plugin o del tema.

Anche la scheda Network (Rete) può aiutare: quando fai clic su "Place order", viene inviata una richiesta al server. Se restituisce uno stato di errore, come 403 o 500, il problema è lato server e non nel browser.

Escludi carrello, checkout e il mio account dalla cache

Assicurati che le pagine seguenti non vengano mai messe in cache, né dal plugin di cache, né dalla cache dell’hosting, né dalla CDN:

  • la pagina del carrello
  • la pagina di checkout
  • la pagina il mio account

I loro indirizzi sono impostati in WooCommerce > Settings > Advanced (WooCommerce > Impostazioni > Avanzate), nella configurazione delle pagine. Se hai un negozio multilingua, controlla anche le versioni tradotte di queste pagine.

Molti strumenti di cache saltano la cache anche per i visitatori che hanno i cookie di WooCommerce, come woocommerce_items_in_cart o wp_woocommerce_session_. Se usi regole di cache personalizzate, verifica che rispettino questi cookie.

Se usi funzioni di ottimizzazione degli script, come combinare, minificare o ritardare il JavaScript, prova a escludere la pagina di checkout e ripeti il test.

Elenca i plugin attivi

Con WP-CLI puoi vedere quali plugin sono attivi e le loro versioni:

wp plugin list --status=active

Per controllare quali plugin hanno aggiornamenti disponibili:

wp plugin list --update=available

Confronta l’elenco con gli aggiornamenti recenti. Un plugin aggiornato poco prima dell’inizio del problema è un buon candidato da testare in staging.

Per testare un singolo plugin, disattivalo, fai un ordine di prova, poi riattivalo:

wp plugin deactivate plugin-slug
wp plugin activate plugin-slug

Sostituisci plugin-slug con il nome della cartella mostrato nell’elenco. Fallo in staging ogni volta che puoi.

Verifica quale checkout usa la pagina

Apri la pagina di checkout nell’editor. Se contiene il blocco Checkout, il negozio usa il checkout a blocchi. Se contiene lo shortcode [woocommerce_checkout], o un blocco shortcode classico, usa il checkout classico.

Quando selezioni il blocco Checkout, l’editor potrebbe avvisarti di estensioni non compatibili. Se un plugin importante non è compatibile, chiedi al suo sviluppatore se esiste una versione compatibile prima di cambiare tipo di checkout. Dopo il cambio, testa sempre l’intero flusso d’acquisto.

Genera il rapporto sullo stato del sistema

Vai in WooCommerce > Status e usa il pulsante Get system report. Produce un rapporto testuale con le versioni di WordPress e WooCommerce, i plugin attivi, il tema, gli override dei template e le impostazioni del server.

Rileggilo prima di condividerlo e condividilo solo tramite un canale di supporto privato.

D4Hub può aiutarti a leggere i log e il rapporto e a decidere il prossimo passo sicuro.

Domande frequenti

Ho perso ordini o clienti?

Di solito no. Un problema al checkout impedisce che nuovi ordini vengano effettuati o registrati, ma gli ordini esistenti e gli account dei clienti normalmente restano nel database.

Se ai clienti è stato addebitato l’importo senza che venisse creato un ordine, i dettagli del pagamento di solito sono visibili nella dashboard del tuo fornitore di pagamento, e possono aiutare a ricostruire gli ordini mancanti.

Il checkout funziona per me ma non per i miei clienti. Perché?

Come amministratore, potresti aver effettuato l’accesso, aggirare la cache o usare un browser diverso. I clienti potrebbero trovarsi in un altro paese, usare un metodo di pagamento diverso o vedere una versione della pagina in cache.

Testa sempre in una finestra privata, senza aver effettuato l’accesso, e prova più di un’opzione di pagamento e di spedizione.

Devo passare dal checkout a blocchi a quello classico?

Può risolvere problemi di compatibilità con alcuni plugin, ma non è una soluzione universale. Può anche rompere funzioni che si basano sul checkout a blocchi.

Fai il cambio solo dopo aver verificato quali estensioni sono coinvolte, e poi testa l’intero flusso d’acquisto.

Come faccio a sapere che il problema è davvero risolto?

Fai almeno un ordine reale o di prova dopo la correzione e verifica che pagamento, stato dell’ordine, email di conferma e giacenze siano tutti corretti. Poi tieni d’occhio gli ordini nei giorni successivi.

D4Hub può aiutarmi se ho già provato a sistemarlo?

Sì. Spiega quali modifiche hai fatto e cosa è successo dopo ciascuna. Questo aiuta a ricostruire l’accaduto e a trovare il prossimo passo sicuro.

Risorse correlate

Servizi e tecnologie correlati