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.
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.
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)
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”
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.
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:
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:
Tutto qui, nulla di più facile 🙂
20 responses to “Abilitare la compressione gzip o deflate su WordPress con htaccess o W3TC”
[…] Se invece sul tuo hosting il mod_gzip o il mod_deflate sono attivi leggi qui. […]
.. 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.
Ciao Alfredo,
sono contento che l’articolo ti sia stato utile 🙂
Purtroppo non so risponderti, quelle sono scelte degli sviuppatori, probabilmente preferivano non integrare quella funzionalità.
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
Ciao Simone, ottimo 🙂
La compressione non riguarda la cache, serve solo a ridurre il peso dei file che il server invia al tuo browser.
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!!
Ciao Luigi, come l’hai attivata la compressione?
Salve, io ho abilitato gzip ma dai tool di analisi mi dice che non è abilitato deflate, sono su VPS, ce ne bisogno? Grazie mille!
Ciao Tech Universe, la compressione è sempre utilie, visto che sei su vps potresti abilitarlo direttamente dalla macchina, eventualmente prova a contattare il tuo hosting e chiedi se possono abilitarlo da li.
[…] La compressione Gzip e un altro metodo che aiuta tantissimo a migliorare la velocita di caricamento del tuo sito web. In prattica comprime quasi tutto cio che viene inviato dal server al browser del utente. Questo bisogna impostarlo a lato server. Guarda questo articolo su come abilitare la compresione gzip. […]
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.
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
complimenti articolo chiarissimo e funzionale..grazie davvero!
Grazie mille Paolo
[…] 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. […]
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
Ciao Vale,
hai verificato che la compressione sia attiva con gli strumenti che ho indicato a fine articolo?
[…] 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. […]
ciao ho un rpoblema che non riesco a risolvere, spero tu mi possa dare un iuto….ho questo sito psicologaonlinesalerno.it in cui ho w3tcache settato coe consigli su gzip e quelli dell’hosting mi dicono che anche il server è abilitato in gzip, però in analisi con gtmetrix ho un file .less che non è compresso in enable gip compression, sono andto nell’htaccess e ho visto alcune chiamate ai file (txt|htm….) in cui manca il “less”, ho provato ad aggiungerlo io tra questi, ma non è cambiato niente 🙁 mi pui dare una dritta?
Ciao Ivano,
i file .less non devono essere caricati dal tema perché sono file da usare in sviluppo per compilare i file css, non so come sia stato sviluppato il tuo tema ma prima di tutto è da sistemare questo problema.