La ricerca prodotti WooCommerce è lenta: consigli di ottimizzazione
Molte società di hosting economiche forniscono i loro servizi con hardware debole. Per questo motivo, la ricerca e il filtraggio dei prodotti WooCommerce potrebbero essere lenti. Segui questi passaggi:
- Usa plugin di cache, ad esempio questo
- Disattiva le opzioni ‘dynamic recount‘ nel filtro e ‘hide empty terms‘
- Usa Autoptimize
- Aggiungi più memoria al tuo sito WordPress
- Usa PHP 8.x.x
- Inoltre, nella scheda Advanced → Options, prova ad attivare ‘Cache dynamic recount number for each item in filter‘ OPPURE ‘Cache terms‘ se il tuo modulo di ricerca ha molti termini
- Nella scheda Advanced → Options, abilita ‘Optimize price filter‘ per ridurre il carico del server
- Aggiungi indici di database per migliorare le performance delle query (esegui in phpMyAdmin):
ALTER TABLE wp_postmeta ADD INDEX woof_meta_key_value (meta_key(191), meta_value(20)); ALTER TABLE wp_posts ADD INDEX woof_type_status (post_type(20), post_status(20));Nota: Sostituisci
wp_con il tuo prefisso effettivo delle tabelle se diverso. - Puoi anche nascondere completamente il modulo di ricerca e mostrarlo su richiesta. Nel widget imposta ‘Yes‘ su ‘Hide search form by default and show one button instead‘, nel shortcode [woof] usa l'attributo ‘start_filtering_btn‘
+ Puoi utilizzare link di pagine e maschere (Es.: product-category) dove la funzionalità WOOF dovrebbe essere inizializzata: tab Advanced → Init plugin on the next site pages only – questo impedirà l'inizializzazione della funzionalità del plugin su tutte le pagine del sito
Leggi anche:
- woof_counter_method
- woof_use_wp_cache
- Ottimizzazione delle prestazioni: Slideout a caricamento differito per grandi gerarchie di categorie
Devo dire che è un supporto piuttosto decente 🙂
Ho anche trovato qualcosa di carino che potrebbe piacerti: ti ho già inviato un'email riguardo alle query lente fatte dal plugin. Le query del plugin sono ancora enormi, ma capisco che è una cosa di WordPress (variazioni WooCommerce). Ho comunque trovato una soluzione per evitare lunghi tempi di caricamento: ottimizzare MySQL usando questo gimmick: http://mysqltuner.com/
I tempi di caricamento sono passati da 15 sec. a 4/5 sec. ora. Non ancora veloci, ma molto meglio di prima. Il prossimo passo è aggiornare PHP dato che sto usando la versione 5.3.
Comunque: se le persone si lamentano che woof rallenta le cose, prova a suggerire loro mysqltuner. Ha fatto una grande differenza per me.
Grazie ancora!
Bart