Il sintomo
- Gli ordini si sono fermati all’improvviso;
/checkout/mostra “There has been a critical error on this website” (“Si è verificato un errore critico”), una pagina bianca o un 500. - È iniziato subito dopo un aggiornamento di plugin, tema, WooCommerce o PHP.
- La pagina del carrello si carica ma il checkout no (o viceversa).
Perché conta
Nessuno compra dal proprio negozio, quindi un checkout rotto passa inosservato finché un cliente non si lamenta. Nel frattempo pubblicità, SEO e raccomandazioni IA mandano gli acquirenti in un vicolo cieco — e anche i crawler registrano l’errore.
Cause comuni: errore fatale PHP da un plugin incompatibile (gateway di pagamento, spedizione, editor dei campi checkout) dopo un aggiornamento; cambio di versione PHP sull’hosting; limite di memoria superato; blocco/shortcode del checkout rimosso dalla pagina; SSL scaduto sull’endpoint di pagamento.
Come verificarlo da solo
- Apri
/cart/e/checkout/in una finestra privata con un prodotto nel carrello. - WordPress → Tools → Site Health → Info → *Server* e WooCommerce → Status → *Logs* (log degli errori fatali) mostrano il plugin e il file che falliscono.
- Attiva brevemente
WP_DEBUG_LOGse il log è vuoto; anche i log errori dell’hosting (cPanel/Plesk) mostrano l’errore fatale PHP.
Come risolverlo
- Leggi la riga dell’errore fatale: indica il plugin. Disattiva quel plugin (dall’admin WP, o rinominando la sua cartella via SFTP se l’admin è rotto) e riprova il checkout.
- Se era WooCommerce o PHP: torna indietro con WP Rollback / i backup dell’hosting, oppure aggiorna il plugin incompatibile a una versione che supporta il nuovo WooCommerce.
- Controlla che il contenuto della pagina checkout contenga il blocco *Checkout* o lo shortcode
[woocommerce_checkout]e che sia assegnata in WooCommerce → Settings → Advanced. - Alza
memory_limita 256M o più se l’errore è *Allowed memory size exhausted*. - In seguito configura un monitoraggio di uptime specifico su
/checkout/(non solo sulla home page) e usa un sito di staging per gli aggiornamenti.