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“:

Controllo compressione GZIP tramite Chrome DEV Tools

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.

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. 

Abilitarela compressione gzip su WordPRess con W3 Total Cache

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.