Come abilitare la compressione Gzip in WordPress per velocizzare il sito
La compressione Gzip è una delle ottimizzazioni più semplici ed efficaci per velocizzare un sito WordPress. Comprime i file HTML, CSS e JavaScript prima di inviarli al browser del visitatore, riducendo la dimensione dei dati trasferiti fino al 70-80%. Una pagina da 200 KB diventa 50 KB, caricandosi molto più velocemente. In questa guida ti spiego come verificare se Gzip è attivo sul tuo sito e come abilitarlo con diversi metodi.
Come funziona la compressione Gzip
Quando un visitatore apre una pagina del tuo sito, il browser invia una richiesta al server indicando che supporta la compressione (header Accept-Encoding: gzip). Se il server ha Gzip abilitato, comprime la risposta prima di inviarla. Il browser riceve il file compresso, lo decomprime istantaneamente e mostra la pagina. L’intero processo aggiunge meno di un millisecondo di elaborazione ma risparmia centinaia di millisecondi nel trasferimento dei dati.
La compressione è particolarmente efficace sui file di testo: HTML, CSS, JavaScript, XML e JSON si comprimono molto bene perché contengono pattern ripetitivi. Le immagini e i PDF sono già compressi nei loro formati nativi e non beneficiano di Gzip.
Verificare se Gzip è già attivo
Prima di configurare qualsiasi cosa, controlla se il tuo hosting ha già Gzip abilitato. Molti provider lo attivano di default. Il modo più semplice è usare gli strumenti per sviluppatori del browser:
- Apri il tuo sito nel browser e premi F12 per aprire gli strumenti per sviluppatori.
- Vai nella scheda Network (Rete) e ricarica la pagina.
- Clicca sulla prima richiesta (il documento HTML) e cerca l’header Content-Encoding: gzip nella sezione Response Headers.
Se vedi Content-Encoding: gzip (o br per Brotli, una compressione ancora più efficiente), il tuo server sta già comprimendo le risposte. Se non lo vedi, devi abilitare la compressione manualmente.
Abilitare Gzip con .htaccess (Apache)
Se il tuo server usa Apache, puoi abilitare la compressione Gzip aggiungendo queste righe al file .htaccess nella directory principale di WordPress:
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/json AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE application/font-woff2 </IfModule>
Il modulo mod_deflate è installato sulla maggior parte dei server Apache. Se ricevi un errore 500 dopo aver aggiunto queste righe, il modulo potrebbe non essere disponibile sul tuo hosting. In quel caso, contatta il provider per richiederne l’attivazione.
Abilitare Gzip con Nginx
Se il tuo server usa Nginx, la compressione Gzip si configura nel file principale nginx.conf o nel virtual host del sito. Aggiungi queste direttive nel blocco http:
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_min_length 256;
gzip_types
text/plain
text/css
text/javascript
application/javascript
application/json
application/xml
image/svg+xml
application/font-woff2;
Il parametro gzip_comp_level va da 1 (compressione minima, velocità massima) a 9 (compressione massima, più lento). Il livello 6 è il miglior compromesso tra dimensione del file e consumo di CPU. Dopo la modifica, verifica la sintassi con nginx -t e ricarica con systemctl reload nginx.
Abilitare Gzip tramite wp-config.php
WordPress include un’opzione per comprimere l’output direttamente da PHP. Aggiungi questa riga al file wp-config.php:
define('ENFORCE_GZIP', true);
Questo metodo funziona come fallback quando il server web non ha la compressione configurata. Tuttavia, è meno efficiente della compressione a livello server perché PHP deve elaborare ogni richiesta. Se puoi configurare Gzip su Apache o Nginx, preferisci sempre quel metodo.
Gzip vs Brotli: quale scegliere
Brotli è un algoritmo di compressione sviluppato da Google che offre risultati migliori di Gzip: file più piccoli del 15-25% a parità di velocità di compressione. Tutti i browser moderni supportano Brotli. Se il tuo server lo supporta, attivalo al posto di (o insieme a) Gzip. Su Nginx, installa il modulo ngx_brotli e configura:
brotli on; brotli_comp_level 6; brotli_types text/plain text/css application/javascript application/json image/svg+xml;
Il server invierà automaticamente la risposta in Brotli ai browser che lo supportano e in Gzip a quelli più vecchi. Se il tuo hosting non supporta Brotli, Gzip rimane un’ottima soluzione: la differenza in termini di esperienza utente è minima.
Errori comuni nella configurazione Gzip
Alcuni errori possono rendere la compressione inefficace o causare problemi:
- Comprimere le immagini: aggiungere tipi MIME come image/jpeg o image/png alla lista Gzip è inutile perché questi formati sono già compressi. Spreca solo CPU del server senza ridurre le dimensioni.
- Livello di compressione troppo alto: usare il livello 9 su Nginx o Apache non offre benefici significativi rispetto al livello 6 ma aumenta notevolmente il consumo di CPU, rallentando il server sotto carico.
- CDN che sovrascrive le impostazioni: se usi una CDN come Cloudflare, la compressione viene gestita dai server della CDN. In questo caso, verifica le impostazioni della CDN piuttosto che quelle del tuo server di origine.
- Plugin di caching e doppia compressione: alcuni plugin di caching WordPress generano file pre-compressi in formato Gzip. Se anche il server applica la compressione, potresti avere una doppia compressione che causa errori. Controlla le impostazioni del plugin per evitare conflitti.
Verificare i risultati
Dopo aver abilitato la compressione, misura il miglioramento. Usa strumenti come GTmetrix, PageSpeed Insights o Pingdom per confrontare le dimensioni delle pagine prima e dopo. Nella sezione Network degli strumenti per sviluppatori del browser, puoi vedere la dimensione originale e quella trasferita di ogni risorsa: la differenza è il risparmio ottenuto dalla compressione. Su un sito WordPress tipico, aspettati una riduzione del 60-80% sulla dimensione dei file di testo trasferiti. Una homepage da 300 KB potrebbe scendere a 70 KB, con un miglioramento percepibile nel tempo di caricamento soprattutto su connessioni mobili più lente.
Serve aiuto con le prestazioni?
Se vuoi ottimizzare le prestazioni del tuo sito WordPress con compressione Gzip, Brotli e altre tecniche avanzate, il team di SoccorsoWP può analizzare e velocizzare il tuo sito. Apri un ticket e dai al tuo sito la velocità che merita.