WordPress è bello, ma se non corre? Non giriamoci attorno, la velocità e le performance di un sito web sono delle caratteristiche importantissime per emergere nel sempre più affollato e competitivo mondo di Internet.
Ottimizzare un sito WordPress è un investimento che porta innegabili benefici sia dal punto di vista della User Experience (meno utenti che fuggono per l’eccessiva lentezza, calo del bounce rate e innalzamento del tasso di ritorno) che conseguentemente dal punto di vista SEO (è notorio come Google premi le pagine che hanno buone performance).
Indice dei contenuti
Come testare la velocità del tuo sito WordPress (ma non solo)
In Rete esistono numerosi strumenti gratuiti che fanno diagnosi sulle performance del tuo sito web.
Uno dei più popolari, analitici ed efficaci è quello di Pingdom. Inserendo la URL del vostro sito e scegliendo da dove effettuare il test (Australia, USA…e Svezia), avrete sia il file HAR con i tempi di caricamento delle singole componenti della vostra pagina, sia una vera e propria “pagella” sui vari aspetti di performance: minimizzazione e combinazione dei Javascript e del CSS, caching, compressione, redirect, DNS, ecc…
Nel nostro caso, testando la homepage di CondiMedia ci siamo resi conto che, pur avendo un ottimo rating, potremmo introdurre alcune migliorie per limare la velocità di caricamento.
In questo post voglio riassumervi quali sono i passi più efficaci da fare per velocizzare un sito WordPress.
Aumentare la velocità WordPress: consigli, tecniche, strategie
Abilitare la compressione dei dati
Una tecnica che consente di ottenere subito grandi miglioramenti è quella che prevede la compressione dei dati del vostro sito WordPress. Quest’attività impatta soprattutto su Javascript e CSS (per le immagini il discorso è a parte, vedi sotto), e può essere eseguita sia tramite plugin, sia (preferibile) abilitando il mod_deflate del vostro server Apache e aggiungendo le seguenti righe di codice al httpd.conf oppure .htaccess:
{code type=php}AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/x-httpd-eruby
AddOutputFilterByType DEFLATE text/html
# Istruzioni necessarie per evitare che vengano compressi i file già compressi come immagini, video, pdf etc etc
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary
SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary
# Istruzioni necessarie per compatibilità con vecchi browser
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
{/code}
Abilitare il caching
Ogni volta che il vostro sito WordPress viene caricato, tutto il codice PHP viene eseguito. Questo comportamento potrebbe portarvi problemi nel caso in cui abbiate dei picchi di traffico, per questo motivo vi consiglio di abilitare il caching, che consente di trasformare l’output della pagina PHP in un HTML statico che viene servito ai visitatori in maniera molto più celere.
Minimizzare CSS e Javascript
Quasi tutti i temi e i plugin WordPress contengono, all’interno del codice, una certa quantità di elementi Javascript e CSS che vengono eseguiti localmente dai browser, e che in molti casi contengono chiamate a servizi esterni. E’ possibile compattare e minimizzare queste strutture, eliminando doppi spazi e ridondanze, e spostarli dall’header al footer del vostro sito, guadagnando da pochi centesimi fino al secondo di tempo.
Modificare e ridurre le immagini
Vi piace avere foto definite e di qualità sul vostro sito? Vi capisco, ma ciò non deve compromettere le prestazioni del vostro sito. Non dimenticate di comprimere le immagini, se non riuscite a farlo all’origine (quindi in fase di editing locale della foto), fornitevi dei plugin o dei moduli server per realizzarlo.
Minimizzare il numero dei plugin
I plugin WordPress sono delle estensioni molto utili che allargano, potenzialmente all’infinito, le funzioni messe a disposizione dalla piattaforma. Purtroppo molti di essi non sono stati realizzati seguendo le regole della buona programmazione, hanno una serie di chiamate esterne e sono corresponsabili di numerosi rallentamenti nel caricamento dei siti WordPress. Utilizzate quindi solo quelli strettamente necessari.
Ottimizzare il database
Il database MySQL è il cuore di WordPress, visto che contiene non solo i testi, ma anche tutte le configurazioni della piattaforma. Cercate di mantenerlo sempre pulito e performante.
Scegliere un hosting performante
Tutti i consigli che vi ho scritto sopra perdono valore se alla base non avete un hosting affidabile. Qualche tempo fa vi ho già detto quale considero il miglior hosting WordPress in Italia, andatevelo a rileggere.
I migliori plugin per velocizzare WordPress
P3 (Plugin Performance Profiler)
Tool potentissimo che vi consente di misurare le prestazioni dei vostri plugin, dandovi la possibilità di capire se e quale rallenta il caricamento del vostro sito.
Lo trovate qui.
Query Monitor
Altro strumento di monitor, a più ampio spettro. Controlla sia le query al DB (e i loro tempi), che le chiamate REST API ai servizi esterni, gli errori PHP, e molto altro ancora. Ideale come debugger per i programmatori, ma utilissimo anche per tutti gli altri.
Lo trovate qui.
Smush
Il plugin ideale per la compressione delle immagini, consente di caricarle automaticamente.
Lo trovate qui.
W3 Total Cache
Probabilmente il più popolare plugin per il caching WordPress, mette a disposizione anche altre funzioni di performance tuning come il JS & CSS Minify.
Lo trovate qui. Se il vostro hosting è su Web server Litespeed, vi consiglio di usare LiteSpeed Cache.
WP-Optimize
Questo plugin è ideale per effettuare operazioni di pulizia del vostro Database WordPress. Ricordatevi, per sicurezza, di fare sempre un backup prima di procedere.
Lo trovate qui.