Ottimizzare Magento 2 per le prestazioni: Best practices e suggerimenti.
In questo articolo trattiamo l'importante argomento dell'ottimizzazione delle performance su Magento 2, fornendo una serie di consigli utili per migliorare la velocità di caricamento del sito.
Migliorare le prestazioni del sito Magento 2 è fondamentale non solo per garantire un'esperienza di navigazione ottimale agli utenti, ma anche perché la velocità di caricamento è uno dei fattori di ranking di Google e può avere un impatto significativo sulla posizione del sito nei risultati di ricerca. Inoltre, un sito veloce può contribuire ad aumentare il crawl budget, ovvero il numero di pagine che Google crawlerà e indicizzerà nel suo motore di ricerca.
- Impostazione della corretta modalità applicativa
- Utilizzo di un tema ottimizzato per le prestazioni
- Aggiornamento della versione di Magento
- Utilizzo di tecniche di caching avanzate
- Impostazione della corretta modalità di reindicizzazione
- Minificazione di CSS e JavaScript
- Utilizzo di una CDN per i contenuti statici
- Ottimizzazione delle immagini
- Ambiente di hosting performante
- Utilizzo di strumenti di monitoraggio delle prestazioni
- Conclusione
Impostazione della corretta modalità applicativa
Magento prevede tre modalità operative:
- Default mode (Predefinita)
- Developer mode (Sviluppatore)
- Production mode (Produzione)
Né la modalità Predefinità né la modalità Sviluppo sono modalità operative ottimizzate per le prestazioni e l'ambiente di produzione.
Progettata per facilitare la scrittura e il debugging del codice, la modalità Sviluppatore non deve essere in alcun modo utilizzata in un ambiente di produzione.
Anche la modalità Predefinita, pensata per essere un punto di partenza per lo sviluppo del sito, non va utilizzata in produzione in quanto non specificamente ottimizzata per le prestazioni.
L'unica modalità applicativa Magento in grado di garantire le migliori prestazioni è la modalità Produzione ed è importante verificare che il sito operi in questa modalità quando viene effettuato il deploy in un ambiente di produzione.
Utilizzo di un tema ottimizzato per le prestazioni
Luma, il tema predefinito di Magento, non è ottimizzato per le prestazioni.
Sebbene sia possibile ottimizzarli in una certa misura per la velocità, i siti basati su Luma non sono in grado di raggiungere punteggi Core Web Vitals (CWV) soddisfacenti.
Le scarse prestazioni di Luma hanno quindi portato molti sviluppatori a utilizzare soluzioni di front-end alternative.
Tra queste soluzioni vi è Hyvä Themes che si è affermata come una delle opzioni più popolari e accreditate per Magento.
Il peso della pagina notevolmente ridotto e la riduzione del numero di richieste di rete necessarie a caricare una pagina, che sono proprie di Hyvä, rendono questi temi una soluzione in grado di garantire le migliori prestazioni e le migliori Core Web Vitals possibili.
Aggiornamento della versione di Magento
Mantenere il sito aggiornato con la versione più recente di Magento è fondamentale per garantire sia la sicurezza che le prestazioni del sito.
Oltre a offrire maggiore sicurezza, correzioni di errori e nuove funzionalità, ogni nuova versione di Magento include infatti anche miglioramenti delle prestazioni.
Di seguito alcuni dei miglioramenti delle prestazioni più importanti introdotti nella versione 2.4.6, la versione più recente di Magento in uscita alla data della pubblicazione del presente articolo:
- Supporto per l'ultima versione di PHP, la 8.2, che può fornire un'esecuzione del codice più veloce ed efficiente di oltre il 20% rispetto a PHP 7.3
- Miglioramenti al sistema di caching Redis che contribuiscino a ridurre ulteriormente i tempi di caricamento delle pagine e a migliorare la reattività del sito
- Supporto nativo per formato di immagine WebP che consente di ridurre le dimensioni dei file delle immagini e migliorare i tempi di caricamento delle pagine.
L'aggiornamento di Magento a una versione più recente è peraltro un processo complesso che coinvolge sia la parte di back-end che la parte di front-end del sito.
Dal lato del back-end, il processo di aggiornamento richiede la migrazione dei dati del sito, l'installazione della nuova versione di Magento e l'aggiornamento dei moduli e delle estensioni di terze parti utilizzati nel sito web.
Dal lato del front-end, l'aggiornamento di Magento potrebbe comportare la necessità di apportare modifiche al design e alla struttura del sito, in modo da essere compatibili con la nuova versione di Magento. Quando si aggiorna un sito Magento a una versione successiva, possono infatti emergere problemi di disallineamento al front-end per diverse ragioni:
- Cambiamenti di layout: Magento potrebbe aver modificato il layout di base del sito web nella nuova versione, causando problemi con i temi e le estensioni esistenti che si basano sul layout precedente.
- Codice personalizzato: Il sito web potrebbe avere codice personalizzato che non è più compatibile con la nuova versione di Magento, causando problemi al front-end del sito.
- Problemi di compatibilità delle estensioni: Le estensioni e i temi di terze parti potrebbero non essere compatibili con la nuova versione di Magento, causando problemi al front-end del sito.
È altresì importante notare che l'aggiornamento di Magento richiede spesso anche un aggiornamento dell'ambiente di hosting. Ogni nuova versione di Magento richiede infatti determinate specifiche tecniche e di sistema per funzionare correttamente; quindi è importante assicurarsi che l'ambiente di hosting sia compatibile con la versione di Magento che si sta utilizzando.
Utilizzo di tecniche di caching avanzate
Magento offre diverse soluzioni di caching per migliorare le prestazioni del sito. Di seguito le tre principali soluzioni di caching supportate da Magento:
- File system
Il file system è l'opzione di memorizzazione nella cache predefinita che non richiede alcuna configurazione. Nonostante la facilità d'uso, il caching sul file system è meno ottimizzato per le prestazioni rispetto ad altre soluzioni di caching.
- Database
Anche se generalmente più performante rispetto alla memorizzazione nel file system, questa tecnica di caching può sovraccaricare il database con ripercussioni sulla scalabilità e sulla disponibilità dello stesso.
- Redis
In qualità di sistema di archiviazione dei dati in memoria, Redis fornisce prestazioni di scrittura e lettura dei dati superiori a quelle dei sistemi di storage su disco o database tradizionale. Questa caratteristica rende Redis la soluzione di caching ideale per siti ad alte prestazioni.
Si consiglia di utilizzare Redis sia per la cache predefinita che per la Full Page Cache (FPC). Si può anche prendere in considerazione l'utilizzo di Redis per i dati di sessione.
- Varnish
Varnish è un server di cache HTTP ad alte prestazioni che può migliorare notevolmente le prestazioni di un sito Magento. Consigliato da Adobe, può essere utilizzato come applicazione di caching per la Full Page Cache di Magento. Funzionando come uno strato di cache inversa, Varnish memorizza le pagine HTML generate da Magento e le fornisce direttamente ai visitatori, riducendo il tempo di risposta del sito. Ciò si traduce in tempi di caricamento più rapidi, un'esperienza utente migliore e un carico ridotto sul server Magento. L'utilizzo di Varnish come soluzione di caching può quindi portare a prestazioni complessive migliorate per un sito Magento. Varnish può anche essere utilizzato in combinazione con Redis per ottimizzare ulteriormente le prestazioni di un sito Magento. Mentre Varnish si occupa della memorizzazione nella cache delle pagine del sito, Redis può essere configurato per memorizzare e gestire i dati di sessione. Questo approccio combinato sfrutta le capacità di caching di entrambe le soluzioni per offrire prestazioni ottimali.
Impostazione della corretta modalità di reindicizzazione
L'indicizzazione è il metodo di organizzazione dei dati all'interno del database utilizzato da Magento per migliorare le prestazioni delle query e accelerare il recupero dei dati.
La lista degli indici di Magento può essere consultata a questo link
Magento contempla due modalità di aggiornamento degli indici:
- Aggiornamento al Salvataggio
- Aggiornamento su Pianificazione
L'opzione di reindicizzazione al Salvataggio prevede un aggiornamento degli indici in tempo reale ogni volta che viene apportata una modifica sul database. Prevedendo una ricostruzione dell'indice a fronte di ogni modifica al database, questa opzione comporta un utilizzo significativo di risorse computazionali e non è ottimizzata per le prestazioni.
A differenza dell'aggiornamento al Salvataggio, l'aggiornamento degli indici per Pianificazione non prevede l'esecuzione costante di query di reindicizzazione, ma la ricostruzione degli indici avviene a intervalli predefiniti. Consentendo di minimizzare l'impatto sulle risorse di sistema e garantendo migliori performance del sito, l'utilizzo di questa modalità è consigliato soprattutto nel caso di e-commerce con cataloghi di grandi dimensioni e volumi di traffico elevato.
Minificazione di CSS e JavaScript
La minificazione dei file CSS e JavaScript è un'altra azione importante per migliorare le prestazioni del sito web, in quanto riduce la dimensione dei file e accelera il tempo di caricamento delle pagine. La riduzione della dimensione dei file CSS e JavaScript accelera infatti il tempo di caricamento delle pagine e contribuisce a migliorare i Segnali Web Essenziali.
Utilizzo di una CDN per i contenuti statici
Per migliorare le prestazioni del sito, inclusi i tempi di caricamento delle pagine e le metriche Core Web Vitals, si può anche considerare l'utilizzo di una CDN per i contenuti statici, come immagini, file CSS e file JavaScript.
Una Rete di distribuzione dei contenuti come Cloudflare offre anche diverse funzionalità di sicurezza che possono aiutare a proteggere il sito dai bot e dalle minacce informatiche.
Ottimizzazione delle immagini
L'ottimizzazione delle immagini è un altro aspetto importante per migliorare le prestazioni di un sito web Magento e può essere ottenuta utilizzando diverse soluzioni.
Una soluzione possibile è l'utilizzo di servizi di ottimizzazione delle immagini come Cloudflare Image Optimization che utilizza tecniche di compressione e caching per fornire immagini ottimizzate e ridurre i tempi di caricamento delle pagine.
In alternativa, si possono utilizzare moduli di ottimizzazione di terze parti specifici per Magento, che offrono funzionalità simili di compressione delle immagini, come WebP Images di Magefan. Questo modulo consente di convertire automaticamente le immagini nel formato WebP, che è un formato di immagine altamente compresso e ottimizzato per il web.
In entrambi i casi, l'obiettivo è di migliorare le prestazioni del sito web Magento, in particolare riguardo al tempo di caricamento delle pagine e al miglioramento dei Core Web Vitals, ovvero gli indicatori di prestazione che misurano l'esperienza dell'utente sul sito.
Ambiente di hosting performante
L'utilizzo di una piattaforma di hosting performante per Magento 2 è essenziale per garantire prestazioni ottimali del sito e per favorire il raggiungimento dei Core Web Vitals.
La configurazione minima di un server Magento 2 può variare a seconda delle specifiche esigenze del sito web e del traffico che deve gestire.
Tuttavia, per garantire prestazioni adeguate, è consigliabile utilizzare una configurazione hardware con le seguenti specifiche minime:
- Processore: almeno 8 core fisici
- RAM: almeno 128GB di RAM
- Disco: 2 SSD NVMe da 960GB
Gli SSD NVMe possono leggere e scrivere dati a velocità molto più elevate rispetto agli SSD SATA o SAS. Ciò significa che, se il server utilizza dischi SSD NVMe, il tempo necessario per caricare i dati dal disco sarà ridotto, il che può tradursi in un miglioramento delle prestazioni del sito web.
Utilizzo di strumenti di monitoraggio delle prestazioni
L'utilizzo di strumenti di monitoraggio delle prestazioni come New Relic o Blackfire può aiutare a identificare i problemi di prestazioni e ottimizzare il sito di conseguenza.
Conclusione
La velocizzazione di un e-commerce Magento richiede una strategia che coinvolge molteplici aspetti del sito, dal back-end al front-end. Per mantenere un sito web Magento veloce e affidabile nel tempo, è comunque importante monitorare e ottimizzare costantemente le prestazioni del sito.
Oltre alle performances del sito è altrettanto importante prestare attenzione all'esperienza utente complessiva del sito. Un design accattivante, una navigazione intuitiva, un'usabilità facile e un'esperienza mobile ottimale sono infatti fattori cruciali per creare un'esperienza utente positiva e possono influire positivamente sul tasso di conversione delle vendite.
La nostra agenzia, Adobe Solution Partner con sviluppatori Magento certificati possiede le competenze e l'esperienza per ottimizzare al meglio un sito Magento per le peformances.
Contattaci ora per un preventivo gratuito.
Ottimizzare un sito Magento 2 per le prestazioni
Aumenta le vendite del tuo eCommerce con un sito performante.
Affidati a un Magento Solution Partner Fornitore Ufficiale Hyvä.
Contattaci