Un sito web lento può creare molti problemi. Può allontanare potenziali visitatori e clienti, danneggiare l’esperienza utente (UX) e persino influire sulla tua reputazione online. Diminuire le dimensioni delle pagine del tuo sito web è la chiave per migliorare la velocità di caricamento. Fortunatamente, la compressione GZIP è un ottimo metodo per ottenere un caricamento rapido della pagina e una riduzione delle dimensioni del file.
In questa guida, esamineremo le basi della compressione GZIP, quindi vedremo nel dettaglio come abilitare la compressione GZIP su un sito WordPress.
Cominciamo subito!
Che cos’è la compressione GZIP?
La compressione GZIP è un tipo di compressione dei dati simile a ZIP e RAR. Può essere utilizzato per comprimere tutti i file sul tuo sito web, siano essi costituiti da testo, HTML, CSS, JavaScript o XML.
La compressione si verifica prima che i file vengano resi disponibili ai browser web dei tuoi visitatori. Con questo metodo, la compressione GZIP riduce le dimensioni dei file, il che può avere un effetto positivo sui tempi di caricamento del sito web.
Cosa fa la compressione GZIP?
Quando un visitatore arriva sul tuo sito web, il suo browser richiede i file del sito dal suo server. Il server comprimerà quei file prima di inviarli al browser.
I file compressi vengono trasferiti più rapidamente rispetto a quelli non compressi. Questo aiuta a migliorare le prestazioni del sito web, le velocità di caricamento e l’ottimizzazione dei motori di ricerca (SEO).
Come verificare se la compressione GZIP è abilitata
La compressione GZIP è molto utilizzata e molte piattaforme di hosting WordPress la abilitano per impostazione predefinita. Se non sei sicuro che la compressione GZIP sia attiva, puoi verificare utilizzando soluzioni di terze parti o i devtools dei browser.
Se GZIP non è abilitato, in genere ti viene comunicato da strumenti come GTmetrix . Puoi utilizzare anche una soluzione come lo strumento GZIP di Varvy per verificare se il tuo sito utilizza la compressione GZIP.
Puoi controllare che la compressione sia abilitata anche usando i devtools del browser. Quando è abilitata, Response Headers includerà “Content-Hencoding: gzip“:
Per trovare questa funzionalità in Chrome, dovrai aprire i devtools e accedere a Network , quindi ricaricare la pagina. Fai clic sul nome corrispondente al tuo sito web e si aprirà Response Headers.
Come abilitare la compressione GZIP su WordPress
Tutti i siti web che realizziamo in Creativemotions hanno la compressione abilitata come impostazione predefinita. Tutti i file statici inclusi file di testo, immagini, CSS e JavaScript vengono compressi automaticamente per ottenere prestazioni ottimali del sito web. Questa compressione automatica riduce la necessità di direttive GZIP nel tuo file .htaccess .
Tuttavia, non tutti i siti web WordPress sono ospitati sui server Creativemotions e non beneficeranno dell’abilitazione predefinita della compressione GZIP. Se il tuo sito web è ospitato su una piattaforma diversa, potrebbe essere necessario abilitarla manualmente. Esistono diversi modi per farlo, che vedremo in seguito.
Leggi anche: Come ridurre le richieste HTTP/S in WordPress
Abilita la compressione GZIP con un plugin
Il modo più semplice per abilitare la compressione GZIP è utilizzare un plugin di caching. Strumenti come WP Rocket consentono la compressione aggiungendo codice al tuo file .htaccess , mentre altri come W3 Total Cache richiedono di aggiungere manualmente quel codice.
Sebbene questo sia generalmente il metodo più semplice, implica l’aggiunta di un plugin al tuo sito. Se vuoi mantenere snella la tua libreria di plugin, puoi invece utilizzare una delle seguenti soluzioni.
Abilitare la compressione su Nginx
Se il tuo sito web utilizza Nginx, per abilitare la compressione puoi utilizzare uno snippet di codice. Devi inserire lo snippet in fondo al file nginx.conf del tuo sito, nella sezione “http”.
gzip on;
gzip_types text/plain text/css text/javascript image/svg+xml image/x-icon application/javascript application/x-javascript;
gzip_min_length 1000;
gzip_vary on;
gzip_proxied no-cache no-store private expired auth;
gzip_diable “MSIE [1-6];
Dopo aver salvato e chiuso il file, dovrai riavviare Nginx. Per fare ciò, utilizza il seguente comando:
sudo service nginx restart
Dopo il riavvio, verifica che la compressione sia attiva, utilizzando i metodi precedentemente descritti.
Abilitare la compressione su Apache
Se il tuo host web utilizza Apache, per abilitare GZIP dovrai modificare il file .htaccess . Puoi trovare questo file nella directory principale dell’installazione di WordPress, e modificarlo tramite File Transfer Protocol (FTP) o file manager.
Sono due i due moduli di Apache che puoi utilizzare per abilitare GZIP, ma mod_deflate è l’ opzione più supportata e meglio documentata.
Per abilitare mod_deflate, aggiungi:
<IfModule mod_deflate.c>
# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
</IfModule>
Per abilitare invece mod_gzip , aggiungi:
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file .(html?|txt|css|js|php|pl)$
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_include mime ^text/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_include handler ^cgi-script$
</ifModule>
Prima di utilizzare entrambe i moduli, consigliamo di eseguire un backup del file .htaccess. Assicurati che sia presente sul server il modulo mod_filter, altrimenti potrebbe verificarsi un errore 500.
Conclusione
Ridurre le dimensioni delle pagine del tuo sito web può diminuire la velocità di caricamento della pagina e le prestazioni complessive. La compressione GZIP può consentire questa riduzione, ma solo quando è abilitata.