Il tuo negozio con Woocommerce è troppo lento?

Ultimamente un nostro cliente molto importante ci ha messo di fronte ad una problematica molto importante.

Il cliente usa wordpress e woocommerce e devo ammettere che, nonostante gli esperti suggeriscano di passare a shopify per una serie di motivi, io continuo ad apprezzare la combinazione opensource per una serie di motivi:

Insomma queste sono i brevi vantaggi che secondo me fanno di woocommerce la scelta numero 1.

Se volete confrontarvi con me potete volentieri usare i commenti per una discussione costruttiva.

 

mobile e responsive

Le percentuali di Woocommerce

Woocommence inoltre è usato da circa il 5% di tutti i siti web, mentre è usato da circa il 29% dei negozi online, il 22% del primo milione di negozi online posizionati è gestito con Woocommerce.

Una buona fetta di mercato direi.

Ma veniamo al problema più grande.

I problemi di Woocommeerce

Proprio per la sua gestione del database, secondo me sbagliata in partenza ma che si porta dietro in tutta la sua esistenza, WordPress e Woocommerce diventano molto problematici per negozi con uno storico di molti ordini e quanto contemporaneamente i clienti effettuano ordini sul sito.

Entriamo nell’analisi un po’ più approfondita.

Diciamo che in media (dipende da che plugin abbiamo installati) un ordine salva più o meno 40 campi di database.

Questi campi però, per la gestione scellerata suddetta, vengono salvati tutti, come anche quelli delle pagine, degli articoli, ecc…,  in un’unica tabella: _postmeta.

Quindi potete immaginare il problema, su negozi importanti questa tabella diventa gigantesca, con chiavi ID progressive oltre il miliardo.

Non sto esagerando.

Potete immaginare lo sforzo del server quando durante il black friday o sotto Natale ci sono ordini contemporanei che deve elaborare, catalogare e gestire mentre – per esempio – gli addetti all’amministrazione nel backend stanno caricando gli ordini sforzando ulteriormente la gestione del database.

Ingestibile per sua natura da Woocommerce, con la conseguenza di lunghi timeout del server e quindi una perdita potenziale di ordini.

Ecco una breve lista di primi interventi per arginare il problema:

Ora veniamo alla soluzione intrapresa per il cliente

Cercando di fare un debug dei vari log siamo incappati nella problematica della tabella _postmeta.

In sostanza wordpress gestisce di sua natura molto male l’indice di questa tabella.

Re-indicizzando creando una chiave aggiuntiva e questa tabella la gestione, oltre che utilizzare il design CRUD di WooCommerce per salvare i dati degli ordini in un’unica tabella piatta ottimizzata per le query di WooCommerce ha ridotto DRASTICAMENTE l’impatto degli ordini sulla performance.

Questa in sostanza è stata la soluzione in parole povere… vuoi sapere come velocizzare il tuo negozio online con woocommerce?

Contattaci!

Facebook
Pinterest
Twitter
LinkedIn

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli correlati