Vediamo in questo articolo un argomento ormai “vecchio” nel suo genere ma sempre attuale come pratica per incrementare le performance del proprio sito WordPress e non, abilitare la compressione gzip su Apache.

Gzip e deflate sostanzialmente sono la stessa cosa ma riferite a due versioni differenti di Apache, mod_deflate è la “più nuova”.

Perché abilitare la compressione gzip o deflate?

Abilitare la compressione porta non pochi benefici, il primo fra tutti è sicuramente una riduzione notevole della banda mensile consumata e questo risparmio si traduce anche in un risparmio in denaro (il tuo hosting mica te la regala la banda :-)), il secondo vantaggio è che gli utenti mobile ti ringrazieranno sia perché da mobile le connessioni sono più lente che da desktop (dipende ovviamente dove vivi) sia perché molti contratti sono a consumo, questo significa che minore sarà il consumo di MB più siti con le donnine potranno guardarsi ;-), il terzo motivo è sicuramente una maggiore velocità di download delle risorse, prima il browser scarica i file prima può “leggerli” e questi tre messi insieme si traducono in migliorare la UX (user experience = esperienza utente).

Se conosci altri benefici ovviamente puoi scrivermeli nei commenti qui sotto ;-).

Ora che hai compreso l’importanza della compressione (ma probabilmente non saresti arrivato qui se non fosse stato così) vediamo finalmente come attivarla sul proprio sito:

Per farlo ci sono due metodi, con il primo bisogna mettere mano al file htaccess e inserire qualche riga di codice, con il secondo (nel caso il tuo sito sia realizzato con WordPress) usare il plugin W3TC che farà lui la procedura di inserimento del codice necessario.

IMPORTANTE: Ovviamente il modulo mod_gzip o mod_deflate devono essere attivi sul sul server, in alternativa puoi usare il metodo che ho spiegato in questa guida.

Primo metodo, quello manuale

Partiamo con il primo metodo, apri il tuo file .htaccess e inserisci alla fine di tutto il codice che segue e poi salva:

#Codice per abilitare la compressione
<IfModule mod_deflate.c>
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
</IfModule>
AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
<IfModule mod_mime.c>
# DEFLATE by extension
AddOutputFilter DEFLATE js css htm html xml
</IfModule>
</IfModule>
#Fine codice per abilitare la compressione

(Codice creato da W3TC – Qui puoi avere maggiori informazioni sul significato dei parametri)

Disclaimer: Mettere mano al file htaccess può portare all’esplosione del tuo server e la colpa è solo tua, fai un backup prima.

Secondo metodo, quello “automatico”

Il secondo metodo è quello di utilizzare il plugin W3 Total Cache che si incaricherà lui stesso di mettere mano al file htaccess e inserire il codice visto sopra, appena installato e attivato di default dovrebbe già inserire le righe necessarie ad attivare correttamente la compressione (puoi verificarlo aprendo il file htaccess con il tuo editor preferito) nel caso non dovesse essere così devi verificare che in “General setting > Browser Cache” ci sia la spunta su “Enable”

Immagine per l'articolo abilitare la compressione gzip

e verificare anche che siano spuntate tutte le voci “Enable HTTP (gzip) compression” dei vari moduli (General, CSS & JS, HTML & XML, Media & Other Files), nel caso in cui ancora non sia stato aggiunto nulla probabilmente è questione di permessi di scrittura da parte del plugin sul file htaccess.

Immagine per l'articolo abilitare la compressione gzip

Strumenti di verifica compressione attiva:

Ora però dobbiamo verificare se la compressione è attiva e per questo possiamo usare alcuni strumenti utili, il primo e il più semplice con il browser firefox e il tool Web Developer installato è andare su “Information > View response headers” e verificare che gzip sia attivo:

Compressione gzip strumenti di verifica web developer overclokk.net

In alternativa anche gtmetrix e tutti gli altri tool di verifica delle performance hanno la possibilità di verificare se la compressione sia attiva o meno, qui alcuni esempi:

Gtmetrix

Compressione attiva su Gtmetrix

Web Page test o Speedo

Compressione attiva su Speedo

Tutto qui, nulla di più facile 🙂

Last edit:

18 Responses to “Abilitare la compressione gzip o deflate su WordPress con htaccess o W3TC”

  1. Alfredo

    .. articolo vecchio ma utilissimo.
    Grazie.
    Ti chiedo però come mail WP Super Cache, che è molto più utilizzato (almeno così sembra dalle statistiche), non dia la possibilità di abilitarlo come W3.
    Io l’ho fatto, leggendo il tuo articolo a mano con il primo metodo che hai esposto.
    A.

  2. simone

    quelle due righe di codice da inserire nel htcaccess mi hanno portato il page-speed da 20/100 a 57/100.. Sono senza parole!!! 🙂

    ma gioca con la cache?! nel senso devo stare attento a pulire la cache quando aggiungo qualcosa al sito?

    Grazie mille!!
    Simone

  3. luigi

    Grazie, per l’articolo, chiaro ed esaustivo. Una domanda però, perché gtmetrix mi dice che devo abilitare la gzip compression, ed invece il tool di web developer mi dice che c’é? cosa devo fare?? Grazie!!

  4. Giuseppe

    Ciao, ho un problema sul mio sito realizzato con Joomla. Ho il Gzip attivo in configurazione globale, ma Pagespeed mi segnala il seguente messaggio :

    Attiva la compressione per le seguenti risorse al fine di ridurre le relative dimensioni di trasferimento di 45,1 KiB (riduzione del 66%).

    La compressione di http://staticxx.facebook.com/connect/xd_arbiter.php?version=42 potrebbe consentire di risparmiare 22,6 KiB (riduzione del 66%).

    La compressione di https://staticxx.facebook.com/connect/xd_arbiter.php?version=42 potrebbe consentire di risparmiare 22,6 KiB (riduzione del 66%).

    Credo che dipenda dal plugin di richiamo alla pagina facebook del mio sito. Sapresti indicarmi un metodo per risolvere ? Grazie.

    • Enea Overclokk

      Ciao Giuseppe,
      il problema non lo puoi risolvere direttamente poiché quelle sono risorse caricate da un server esterno a cui non hai accesso, l’unico modo è quello di applicare il lazy load su quele risorse quindi dovrai trovare un modulo/plugin per Joomla che faccia questo.
      Ciao

  5. Vale

    Ciao, trovo il tuo articolo molto interessante e chiaro!!
    Ho modificato a mano il file httpd.conf e verificato con Mozilla che la compressione è attiva! Dopo il restar del servizio httpd ho rilanciato immediatamente il test su WebPageTest e gtmetrix, ma non è cambiato nulla. Devo aspettare il tempo di propagazione o ho sbagliato qualcosa? Grazie

  6. […] La compressione Gzip è un altro metodo che aiuta tantissimo a migliorare la velocità di caricamento del tuo sito web. In pratica comprime quasi tutto ciò che viene inviato dal server al browser dell’ utente. Questo bisogna impostarlo a lato server, ovvero sul computer dell’hosting. Guarda questo articolo su come abilitare la compresione gzip. […]

Rispondi a Enea Overclokk Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Puoi formattare meglio il testo con questi tag HTML

Pre Code Bold Italico Link Quote