Il checkout è la pagina in cui si decide la vendita. Il cliente ha già scelto, ha già messo i prodotti nel carrello: se a quel punto la pagina impiega secondi a caricarsi, o il pulsante «Effettua ordine» gira a vuoto, una parte degli acquisti si perde. E il checkout è anche la pagina più difficile da velocizzare, perché non può andare in cache. Vediamo le cause più comuni e come riconoscerle.
Perché il checkout è diverso
Ogni volta che il cliente cambia indirizzo, metodo di spedizione o di pagamento, WooCommerce ricalcola il riepilogo dell’ordine con una richiesta in sottofondo: spedizioni, imposte, sconti, totali. Ognuno di questi ricalcoli fa lavorare PHP, il database e tutti i plugin che si agganciano al carrello. Più plugin intervengono, più ogni passaggio diventa lento.
Causa 1: troppi plugin che si agganciano al carrello
Regole di spedizione elaborate, sconti a cascata, prodotti consigliati nel checkout, campi aggiuntivi, programmi fedeltà, controlli antifrode, plugin di fatturazione: ognuno aggiunge lavoro a ogni ricalcolo. Spesso il problema non è un plugin solo, ma la somma.
Come verificarlo: su una copia del sito o in un orario tranquillo, disattiva i plugin non essenziali uno alla volta e misura il tempo del checkout. Quando il tempo crolla, hai trovato il colpevole.
Causa 2: chiamate a servizi esterni
Calcolo delle tariffe dei corrieri in tempo reale, validazione della partita IVA, controllo dell’indirizzo, gateway di pagamento: se il servizio esterno risponde lentamente, il checkout aspetta. Il server può essere velocissimo e la pagina comunque lenta.
Cosa fare: dove possibile, preferisci tariffe di spedizione a tabella invece del calcolo in tempo reale, e controlla nei registri di WooCommerce (WooCommerce > Stato > Registri) se i plugin dei servizi esterni segnalano errori o tempi lunghi.
Causa 3: il database è cresciuto
Ordini, sessioni dei clienti, dati temporanei, note: un negozio scrive continuamente nel database. Con gli anni alcune tabelle diventano enormi e le query rallentano proprio nelle pagine in cui si vende.
- valuta l’archiviazione degli ordini ad alte prestazioni (HPOS) di WooCommerce, che salva gli ordini in tabelle dedicate: verifica prima che tutti i tuoi plugin la supportino;
- controlla che le azioni pianificate non si accumulino in errore (WooCommerce > Stato > Azioni pianificate);
- usa Database Intelligence per vedere quali query pesano di più.
Causa 4: niente cache degli oggetti
Carrello e checkout non possono essere serviti dalla cache di pagina, ma molti dei dati che usano (impostazioni, prodotti, regole) sono sempre gli stessi. Con Redis attivato dal pannello e un plugin di object cache, questi dati restano in memoria e il database lavora meno. È uno degli interventi che rendono di più proprio sul checkout.
Causa 5: il server è occupato da altro
A volte il checkout è lento non per colpa sua, ma perché il negozio sta facendo altro nello stesso momento:
- bot che esplorano filtri e varianti o che aggiungono prodotti al carrello a ripetizione;
- importazioni e sincronizzazioni con gestionali o marketplace lanciate in orario di vendita;
- report pesanti nel back office.
Su quest’ultimo punto, un caso reale: ci è capitato un negozio che sembrava fermo. La causa era una pagina di report dei clienti lasciata aperta nel back office, che si aggiornava da sola ogni paio di minuti. Ogni aggiornamento lanciava una query lentissima, la successiva partiva prima che la precedente finisse, e in poco tempo tutte le risorse erano occupate da copie della stessa interrogazione. I clienti al checkout aspettavano in fila. La soluzione è stata semplice: chiudere quella pagina e non lasciare aperti report pesanti nelle ore di vendita.
Causa 6: il tema e gli script nel browser
Non tutto il ritardo nasce sul server. Pixel pubblicitari, chat, widget di recensioni e script di tracciamento caricati anche nel checkout rallentano la pagina nel browser del cliente, soprattutto da smartphone. Chiediti se servono davvero in quella pagina: spesso basta caricarli solo dove servono.
Causa 7: versione di PHP datata
Dal pannello DirectAdmin puoi scegliere la versione di PHP. Una versione recente e supportata è in genere più veloce e più sicura. Prima di cambiarla controlla che WooCommerce e i plugin la supportino, e dopo il cambio fai una prova d’acquisto completa.
Come misurare, in pratica
- apri il negozio da una finestra anonima, metti un prodotto nel carrello e vai al checkout;
- apri gli strumenti per sviluppatori del browser, scheda Rete, e cambia metodo di spedizione: vedrai la richiesta di aggiornamento del riepilogo e quanto impiega;
- ripeti la prova in orari diversi: se è lenta solo nelle ore di punta, il problema è di risorse o di traffico; se è lenta sempre, è nel codice o nei plugin.
Quando chiedere aiuto
Se dopo questi controlli il checkout resta lento, apri un ticket dall’area clienti indicando l’indirizzo della pagina, l’orario delle prove e cosa hai già verificato. Guardiamo i consumi del sito e ti diciamo dove va il tempo. E se il negozio è cresciuto oltre il piano, ti consigliamo se è il momento dell’hosting cloud.