Filtra la ricerca ...
Categorie

Errori al checkout WooCommerce: guida pratica alla risoluzione (500, 503, nonce, pagamenti)

Ciao e benvenuto. Se hai bisogno di chiarimenti sul codice, lascia un commento (no WhatsApp); ricorda però che non fornisco assistenza gratuita sugli articoli che ho scritto nè personalizzo il codice in modo gratuito, quindi se la tua richiesta va oltre il semplice "aiutino", se vuoi mi chiedi una consulenza a pagamento nella pagina contatti. Grazie della comprensione. Alessio

Un checkout WooCommerce che dà errore significa vendite perse. In questa guida trovi una procedura rapida per individuare e risolvere le cause più comuni: errori 500/503, problemi di nonce, conflitti JS/CSS, cache aggressiva, webhook e gateway di pagamento. Segui i passaggi nell’ordine: prima metti in sicurezza il flusso, poi ottimizzi.

Checklist lampo (da fare subito)

  • Escludi dalla cache le pagine /carrello/, /checkout/, /mio-account/ e il parametro wc-ajax=*.
  • Disattiva temporaneamente minificazione/aggregazione JS/CSS e ricarica il checkout: se torna a funzionare, reintroduci le ottimizzazioni a piccoli step.
  • Attiva il log WooCommerce: Stato → Log, seleziona i log dei gateway e riproduci l’errore.
  • Controlla la console del browser: errori JS, mixed content, chiamate 403/500/503.
  • Passa a tema di default o disattiva plugin non essenziali per individuare il conflitto.

1) Errori 500/503 al submit del checkout

Di solito dipendono da conflitti di plugin/tema, limiti server o hook che generano eccezioni.

  • Log PHP su server e wp-content/debug.log se WP_DEBUG_LOG è attivo.
  • Aumenta temporaneamente i limiti: memoria PHP, max_execution_time, workers/PHP-FPM.
  • Hook personalizzati: commenta funzioni su woocommerce_checkout_update_order_meta o woocommerce_before_checkout_process e riprova.
  • Gateway: se l’errore appare solo con uno specifico metodo di pagamento, aggiorna/riconfigura quel plugin e verifica i webhook.

2) Errore Nonce o sessione scaduta

Messaggi come “Il tuo sessione è scaduta” o “Nonce non valido” indicano problemi di sicurezza/validità del form.

  • Cache lato server/CDN che memorizza il form → aggiungi regole di bypass per checkout e cookie utente.
  • Tempo e fuso orario del server errati → sincronizza NTP.
  • Plugin di sicurezza troppo restrittivi (es. blocco query o referer) → metti in allowlist gli endpoint WooCommerce.

3) Conflitti JavaScript e CSS

  • Minify/Combine: disattiva, svuota cache e riprova. Riabilita in modo selettivo escludendo script di checkout e del gateway.
  • Console error: “Uncaught TypeError” o “ReferenceError” → individua lo script e escludilo da defer/delay.
  • Page builder su pagina checkout: evita moduli extra, popup o script di terze parti.

4) Pagamenti: rifiuti, pending, doppie richieste

  • Webhook non consegnati: verifica URL, firma e risposta HTTP. Senza webhook l’ordine resta “in attesa”.
  • Retry/duplicazioni: disattiva click multiplo sul pulsante e controlla se un plugin di ottimizzazione ripete le richieste.
  • 3D Secure e wallet: verifica i domini autorizzati e il supporto al HTTPS completo.

5) Cache e CDN: regole sicure per e-commerce

  • Mai in cache carrello, checkout, area utente e chiamate wc-ajax.
  • Bypass cookie: woocommerce_items_in_cart, woocommerce_cart_hash, wp_woocommerce_session_*.
  • CDN: escludi le pagine dinamiche o usa cache “bypass on cookie”.

6) Prestazioni: riduci il TTFB del checkout

  • Object cache (Redis) per ridurre le query.
  • Rimuovi plugin non indispensabili e script pesanti caricati globalmente.
  • Ottimizza DB: transients scaduti, tabelle WooCommerce, sessioni orfane.

7) Procedura di debug consigliata

  1. Clona su staging e riproduci l’errore.
  2. Disattiva ottimizzazioni, riprova; poi riattivale una per volta.
  3. Disattiva plugin a blocchi, passa a tema base, individua il responsabile.
  4. Controlla log WooCommerce e log PHP, correggi e retesta.
  5. Riporta le esclusioni definitive in cache/CDN e aggiorna la documentazione interna.

FAQ

Perché il checkout funziona da loggato ma non da ospite?

Perché i contenuti per utenti autenticati spesso non sono in cache, mentre per ospiti una regola aggressiva può servire una versione non valida della pagina o del form.

Il checkout va in 503 solo in orari di picco: perché?

Limiti server (PHP-FPM, connessioni DB) o plugin pesanti. Riduci script non essenziali, usa object cache e valuta più risorse nei picchi.

Come evito di rompere il checkout con le ottimizzazioni?

Escludi checkout/carrello da cache e minify; testa dopo ogni cambiamento e mantieni un elenco di esclusioni per gateway e script critici.

Serve una diagnosi rapida? Posso analizzare log, cache e gateway, correggere gli errori e impostare regole stabili per un checkout affidabile.

Richiedi una diagnosi tecnica

Potrebbe interessarti anche ...

Hai bisogno di una consulenza, lo sviluppo di un plugin o vuoi incrementare le performance del tuo sito ?

Se vuoi postare codice usa codeshare.io
Se vuoi postare uno screeshot usa postimages.org ed inserisci l'url nel commento.

Lascia un commento


Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.