Tempo stimato : 5 minuti
Difficoltà : Principiante ⭐
Requisiti : Accesso a cPanel
Impatto : Riduzione del 60-80% delle dimensioni dei file
📋 Introduzione
La compressione GZIP è una tecnica che riduce notevolmente le dimensioni dei file inviati dal tuo server web al browser dei tuoi visitatori. È una delle ottimizzazioni più semplici ed efficaci per accelerare il tuo sito web.
Come funziona?
Senza GZIP :
Server ──────────────────────────────────> Browser
File HTML : 100 Ko (dimensione originale)
Con GZIP :
Server ─────────> Browser
30 Ko (decompressione automatica)
↓
100 Ko (file originale ricostituito)
Il server comprime i file prima di inviarli, il browser li decompone automaticamente. Il processo è trasparente per l'utente.
🚀 Vantaggi della Compressione GZIP
Guadagni di prestazioni
| Metrica | Miglioramento |
|---|---|
| 📉 Riduzione dimensione file | 60% a 80% |
| ⚡ Tempo di caricamento | Fino al 50% più veloce |
| 📊 Banda passante | Ridotta significativamente |
| 🔍 Punteggio PageSpeed | Miglioramento notevole |
| 📱 Esperienza mobile | Migliore (meno dati) |
Esempio concreto di compressione
| Tipo di file | Dimensione originale | Dimensione compressa | Riduzione |
|---|---|---|---|
| HTML | 100 Ko | 25 Ko | 75% |
| CSS | 80 Ko | 18 Ko | 78% |
| JavaScript | 150 Ko | 45 Ko | 70% |
| JSON/XML | 50 Ko | 12 Ko | 76% |
| Fonts (SVG) | 40 Ko | 15 Ko | 63% |
💡 Esempio reale : Una pagina WordPress tipica di 500 Ko può essere ridotta a circa 150 Ko con GZIP, ovvero 70% di riduzione!
📂 Tipi di File da Comprimere
✅ File da comprimere (testo)
| Tipo | Estensioni | Tipo MIME |
|---|---|---|
| HTML | .html, .htm | text/html |
| CSS | .css | text/css |
| JavaScript | .js | application/javascript |
| JSON | .json | application/json |
| XML | .xml | application/xml |
| Testo | .txt | text/plain |
| SVG | .svg | image/svg+xml |
| Fonts | .ttf, .otf | font/ttf, font/otf |
| WOFF | .woff | font/woff |
❌ File da NON comprimere
| Tipo | Motivo |
|---|---|
| Immagini (JPEG, PNG, GIF, WebP) | Già compresse |
| Video (MP4, WebM) | Già compressi |
| Audio (MP3, OGG) | Già compressi |
| Già compresso | |
| Archivi (ZIP, RAR, GZ) | Già compressi |
⚠️ Importante : Comprimere file già compressi può aumentare le loro dimensioni e rallentare inutilmente il server.
⚙️ Metodo 1 : Ottimizza Sito Web (Consigliato)
È il metodo più semplice, direttamente integrato in cPanel.
Passo 1 : Accedere allo strumento
- Accedi a cPanel
- Nella sezione Software, clicca su Optimize Website

💡 Consiglio : Usa la barra di ricerca di cPanel e digita "optimize" per trovare rapidamente lo strumento.
Passo 2 : Scegliere il tipo di compressione
L'interfaccia presenta 3 opzioni :
| Opzione | Descrizione | Raccomandazione |
|---|---|---|
| Disabilitato | Compressione disattivata | ❌ Non raccomandato |
| Comprimi Tutto il Contenuto | Comprimi tutto il contenuto | ✅ Raccomandato |
| Comprimi i tipi MIME specificati | Comprimi solo i tipi specificati | ⚠️ Avanzato |
Passo 3 : Attivare la compressione
Per la maggior parte dei siti :
- Seleziona "Compress All Content"
- Clicca su "Update Settings"
Messaggio di conferma :
✅ Preferenze di ottimizzazione del sito aggiornate.
La compressione dei contenuti è ora abilitata.
La compressione dei contenuti è ora abilitata per tutto il contenuto. Opzione avanzata : Tipi MIME specifici
Se preferisci un controllo preciso :
- Seleziona "Compress the specified MIME types"
- Inserisci i tipi MIME da comprimere :
text/html text/plain text/xml text/css text/javascript
application/javascript application/x-javascript application/xml
application/json application/rss+xml application/xhtml+xml
image/svg+xml font/ttf font/otf font/woff font/woff2
- Clicca su "Update Settings"
📝 Metodo 2 : Tramite .htaccess
Se lo strumento "Optimize Website" non è disponibile o per un controllo più fine.
Passo 1 : Accedere al file .htaccess
- In cPanel, apri il Gestore File
- Vai nella cartella
public_html - Clicca su Impostazioni in alto a destra
- ✅ Seleziona "Mostra file nascosti (dotfiles)"
- Trova ed edita il file
.htaccess
Passo 2 : Aggiungere il codice di compressione
Aggiungi questo codice all'inizio del file .htaccess :
# =============================================
# COMPRESSIONE GZIP
# =============================================
<IfModule mod_deflate.c>
# Comprimere HTML, CSS, JavaScript, Testo, XML e fonts
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/json
AddOutputFilterByType DEFLATE application/ld+json
AddOutputFilterByType DEFLATE application/manifest+json
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/woff
AddOutputFilterByType DEFLATE font/woff2
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
# Compatibilità con browser obsoleti
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# Non comprimere le immagini (già compresse)
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|webp)$ no-gzip
# Header Vary per i proxy
Header append Vary User-Agent env=!dont-vary
</IfModule>
# =============================================
# FINE COMPRESSIONE GZIP
# =============================================
Codice semplificato (minimale)
Se preferisci una versione più corta :
# COMPRESSIONE GZIP (versione semplice)
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
AddOutputFilterByType DEFLATE text/javascript application/javascript
AddOutputFilterByType DEFLATE application/xml application/json
AddOutputFilterByType DEFLATE image/svg+xml
</IfModule>
Passo 3 : Salvare
- Clicca su Salva modifiche
- Testa il tuo sito per verificare che funzioni correttamente
🔧 Metodo 3 : Tramite Plugin WordPress
Per i siti WordPress, alcuni plugin di cache attivano automaticamente GZIP.
Plugin con compressione GZIP integrata
| Plugin | Gratuito | Configurazione GZIP |
|---|---|---|
| WP Rocket | ❌ A pagamento | Automatica |
| LiteSpeed Cache | ✅ Gratuito | Automatica (server LiteSpeed) |
| W3 Total Cache | ✅ Gratuito | Performance → Abilita compressione HTTP |
| WP Super Cache | ✅ Gratuito | Avanzato → Comprimi pagine |
| WP Fastest Cache | ✅ Gratuito | Opzioni → Gzip |
| Autoptimize | ✅ Gratuito | Non incluso (solo minificazione) |
Esempio : Attivare GZIP con WP Super Cache
- Installa e attiva WP Super Cache
- Vai su Impostazioni → WP Super Cache
- Tab Avanzato
- ✅ Seleziona "Comprimi pagine in modo che vengano servite più rapidamente ai visitatori"
- Clicca su Aggiorna stato
Esempio : Attivare GZIP con W3 Total Cache
- Installa e attiva W3 Total Cache
- Vai su Performance → Impostazioni generali
- Nella sezione Cache del browser
- ✅ Seleziona "Abilita compressione HTTP (gzip)"
- Clicca su Salva tutte le impostazioni
✅ Verificare che GZIP sia Attivato
Metodo 1 : Strumenti online
Utilizza questi strumenti gratuiti per verificare la compressione :
| Strumento | URL | Vantaggio |
|---|---|---|
| GiftOfSpeed | giftofspeed.com/gzip-test | Simple e veloce |
| CheckGzipCompression | checkgzipcompression.com | Dettagliato |
| GTmetrix | gtmetrix.com | Analisi completa |
| PageSpeed Insights | pagespeed.web.dev | Ufficiale Google |
| KeyCDN Tools | tools.keycdn.com/http2-test | Multi-test |
Metodo 2 : Browser (DevTools)
- Apri il tuo sito in Chrome o Firefox
- Premi F12 per aprire i DevTools
- Vai alla scheda Network (Rete)
- Ricarica la pagina (F5)
- Clicca su un file (es: il documento HTML principale)
- Nella scheda Headers (Intestazioni), cerca :
Content-Encoding: gzip Se vedi Content-Encoding: gzip → La compressione è attiva ✅
Metodo 3 : Riga di comando (curl)
curl -I -H "Accept-Encoding: gzip,deflate" https://il-tuo-sito.com
Cerca nella risposta :
Content-Encoding: gzip
📊 Confrontare Prima/Dopo
Utilizzare GTmetrix
- Vai su gtmetrix.com
- Testa il tuo URL prima di attivare GZIP
- Annota il peso della pagina e il tempo di caricamento
- Attiva GZIP
- Testa di nuovo
- Confronta i risultati
Esempio di risultato
| Metrica | Prima di GZIP | Dopo GZIP | Miglioramento |
|---|---|---|---|
| Peso totale | 2.5 Mo | 850 Ko | -66% |
| Tempo di caricamento | 4.2s | 2.1s | -50% |
| Punteggio Performance | 72/100 | 89/100 | +17 punti |
🔧 Risoluzione dei problemi
GZIP non funziona
| ❌ Problema | ✅ Soluzione |
|---|---|
| Modulo mod_deflate non installato | Contatta l'hosting per attivarlo |
| Codice .htaccess ignorato | Verifica che AllowOverride sia attivato |
| Handler PHP incompatibile | CGI/FastCGI potrebbero richiedere una configurazione diversa |
| CDN disattiva la compressione | Attiva GZIP nelle impostazioni del CDN |
| Cache del browser | SVuota la cache e testa in navigazione privata |
Errore 500 dopo modifica .htaccess
-
Via FTP o Gestore file :
- Modifica il file
.htaccess - Rimuovi il codice GZIP aggiunto
- Salva
- Modifica il file
-
Il modulo mod_deflate non è disponibile :
- Il codice
<IfModule mod_deflate.c>dovrebbe evitare l'errore - Contatta l'hosting per verificare la disponibilità del modulo
- Il codice
GZIP attivo ma non su tutti i file
Controlla questi punti :
- Tipi MIME mancanti : Aggiungi i tipi mancanti al codice .htaccess
- Plugin di cache : Alcuni plugin servono file statici senza GZIP
- CDN : I file serviti dal CDN potrebbero non essere compressi
- Risorse esterne : I file ospitati altrove non sono sotto il tuo controllo
Conflitto con altre regole .htaccess
Posiziona il codice GZIP all'inizio del file .htaccess, prima delle regole di WordPress :
# COMPRESSIONE GZIP (mettere per primo)
<IfModule mod_deflate.c>
# ... codice di compressione ...
</IfModule>
# INIZIO WordPress
# ... regole WordPress ...
# FINE WordPress
⚡ GZIP vs Brotli
Brotli è un algoritmo di compressione più recente, che offre prestazioni migliori.
Confronto
| Criterio | GZIP | Brotli |
|---|---|---|
| Compressione | ~70% | ~75-80% |
| Supporto browser | 99%+ | 96%+ |
| Velocità di compressione | Veloce | Più lento |
| Velocità di decompressione | Veloce | Veloce |
| Supporto server | Universale | Moderno |
Attivare Brotli (se disponibile)
# COMPRESSIONE BROTLI (se mod_brotli disponibile)
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml
AddOutputFilterByType BROTLI_COMPRESS text/css text/javascript
AddOutputFilterByType BROTLI_COMPRESS application/javascript application/json
AddOutputFilterByType BROTLI_COMPRESS image/svg+xml
</IfModule>
💡 La maggior parte degli hosting condivisi utilizza GZIP. Brotli è più comune su VPS/dedicati e CDN come Cloudflare.
🎯 Buone Pratiche
Combinare GZIP con altre ottimizzazioni
| Ottimizzazione | Impatto | Priorità |
|---|---|---|
| ✅ Compressione GZIP | -70% dimensione file | 🔴 Alta |
| ✅ Minificazione CSS/JS | -10-30% aggiuntivo | 🟠 Media |
| ✅ Cache del browser | Evita i re-download | 🔴 Alta |
| ✅ Ottimizzazione immagini | -50-80% dimensione immagini | 🔴 Alta |
| ✅ CDN | Riduzione latenza | 🟠 Media |
| ✅ HTTP/2 | Multiplexing connessioni | 🟢 Bonus |
Codice .htaccess completo (GZIP + Cache)
# =============================================
# COMPRESSION GZIP
# =============================================
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml
AddOutputFilterByType DEFLATE text/css text/javascript
AddOutputFilterByType DEFLATE application/xml application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml application/atom+xml
AddOutputFilterByType DEFLATE application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/json application/ld+json
AddOutputFilterByType DEFLATE image/svg+xml image/x-icon
AddOutputFilterByType DEFLATE font/ttf font/otf font/woff font/woff2
</IfModule>
# =============================================
# CACHE NAVIGATORE
# =============================================
<IfModule mod_expires.c>
ExpiresActive On
# Immagini
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
ExpiresByType image/x-icon "access plus 1 year"
# Font
ExpiresByType font/ttf "access plus 1 year"
ExpiresByType font/otf "access plus 1 year"
ExpiresByType font/woff "access plus 1 year"
ExpiresByType font/woff2 "access plus 1 year"
# CSS e JavaScript
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
# HTML
ExpiresByType text/html "access plus 0 seconds"
</IfModule>
# =============================================
# INTESTAZIONI DI SICUREZZA E PRESTAZIONE
# =============================================
<IfModule mod_headers.c>
# Vary header per i proxy
Header append Vary Accept-Encoding
# Keep-Alive
Header set Connection keep-alive
</IfModule>
📝 Riepilogo
ATTIVARE LA COMPRESSIONE GZIP :
METODO 1 - Ottimizza il sito web (Consigliato) :
1. cPanel → Software → Ottimizza sito web
2. Selezionare "Comprimi tutto il contenuto"
3. Cliccare su "Aggiorna impostazioni"
4. Fatto! ✅
METODO 2 - .htaccess :
1. Aprire il Gestore file
2. Modificare .htaccess in public_html
3. Aggiungere il codice di compressione
4. Salvare
METODO 3 - Plugin WordPress :
└── WP Super Cache, W3 Total Cache, WP Fastest Cache...
VERIFICARE L'ATTIVAZIONE :
├── giftofspeed.com/gzip-test
├── gtmetrix.com
├── DevTools → Network → Headers
└── Cercare "Content-Encoding: gzip"
TIPI DA COMPRESSARE :
├── ✅ HTML, CSS, JavaScript, JSON, XML
├── ✅ Font (TTF, OTF, WOFF, WOFF2)
├── ✅ SVG, testo
└── ❌ Immagini, video, PDF (già compressi)
RISPARMI ATTESI :
├── 📉 Riduzione dimensione : 60-80%
├── ⚡ Caricamento : fino al 50% più veloce
└── 📊 Punteggio PageSpeed : +10-20 punti
