Ogni 100ms aggiuntivi di tempo di caricamento ti costano conversioni. Nell'e-commerce, la velocita non e un lusso – impatta direttamente sul tuo fatturato. Questa guida si concentra sulle ottimizzazioni specifiche e praticabili che fanno la piu grande differenza per i negozi PrestaShop.
Inizia con la misurazione
Prima di ottimizzare qualsiasi cosa, hai bisogno di un punto di riferimento. Usa questi strumenti:
- Google PageSpeed Insights – fornisce i Core Web Vitals (LCP, FID, CLS) e un punteggio di prestazioni
- GTmetrix – fornisce grafici a cascata che mostrano esattamente cosa viene caricato e quando
- MySQL slow query log – attivalo temporaneamente per trovare le query che richiedono piu di 1 secondo
- Xdebug profiler – per l'identificazione dei colli di bottiglia a livello PHP (usa cachegrind per l'analisi)
Misura prima, ottimizza poi, quindi misura di nuovo. Altrimenti stai solo indovinando.
Ottimizzazione del database
Il database e il collo di bottiglia piu comune in PrestaShop. Ecco cosa controllare:
Indicizza le tue tabelle personalizzate
Se i tuoi moduli creano tabelle personalizzate, assicurati che abbiano indici adeguati. Un indice mancante su una colonna frequentemente interrogata puo trasformare una query da 10ms in una scansione completa della tabella da 3 secondi.
ALTER TABLE ps_my_module_data ADD INDEX idx_id_product (id_product);
ALTER TABLE ps_my_module_data ADD INDEX idx_date_add (date_add);
Pulisci i vecchi dati
PrestaShop accumula dati che rallentano tutto nel tempo:
ps_connectionseps_connections_page– possono crescere fino a milioni di righeps_log– tronca regolarmenteps_mail– i vecchi record delle e-mail si accumulano- Carrelli abbandonati piu vecchi di 30 giorni – sicuri da rimuovere nella maggior parte dei casi
Ottimizza le query
Usa EXPLAIN su qualsiasi query che tocca tabelle grandi. Fai attenzione a type: ALL (scansione completa della tabella) e Using temporary; Using filesort – entrambi sono segnali d'allarme.
PHP e OPcache
L'ottimizzazione a livello PHP e spesso trascurata:
- PHP 8.2+ – significativamente piu veloce di 7.4, e PrestaShop 8.x/9.x lo supporta
- OPcache – attivalo e imposta
opcache.revalidate_freq=60in produzione (non 0) - Cache realpath – aumenta
realpath_cache_sizea 4096K per i negozi grandi - Limite di memoria – imposta ad almeno 512M per evitare la pressione del garbage collector
Redis per cache e sessioni
Sostituisci la cache basata su file con Redis:
- La cache Smarty, la cache Symfony e le cache dei moduli beneficiano tutte di Redis
- L'archiviazione delle sessioni in Redis elimina i problemi di blocco dei file in alta concorrenza
- Una singola istanza Redis puo gestire tutti questi carichi per un negozio tipico
Ottimizzazione front-end
- CCC (Combine, Compress, Cache) – attivalo nelle impostazioni prestazioni, ma testa accuratamente
- Lazy loading – usa il nativo
loading="lazy"sulle immagini dei prodotti - Immagini WebP – 25-35% piu leggere del JPEG a qualita equivalente
- CDN – scarica le risorse statiche su Cloudflare o simili; imposta l'URL del server media in PrestaShop
- Critical CSS – inserisci inline gli stili above-the-fold per eliminare le richieste che bloccano il rendering
Full Page Cache
Per i negozi con alto traffico e cataloghi relativamente statici, un Full Page Cache (Varnish o nginx FastCGI cache) puo ridurre i tempi di risposta da 500ms a meno di 50ms. La parte difficile e l'invalidazione della cache – devi fare il purge correttamente quando i prezzi cambiano, le scorte si aggiornano o le promozioni iniziano e finiscono.
Inizia con le ottimizzazioni del database e PHP – danno i migliori risultati con il minor rischio. Aggiungi cache front-end e full page una volta che le basi sono solide.
Commenti (3)
Lascia un commento