Abilitare la compressione Gzip sul nostro server apache

di | Giugno 18, 2023

La compressione del codice HTML e CSS con gzip su server Apache riduce tipicamente dal 50 al 70 per cento della dimensione dei file. Questo significa che il browser impiegherà un tempo minore per caricare le pagine , e significa anche meno larghezza di banda utilizzata. In questi tempi è diventato uno standard e se non lo utilizzate per qualche ragione, il caricamento delle vostre pagine web sarà più lento rispetto alla concorrenza .

 

 Come fare per abilitare la compressione Gzip sul tuo sito.

La compressione può essere attivata aggiungendo una serie di direttive in un file chiamato .htaccess che si trova nella directory radice del server web. Per poterlo modificare dovrete scaricarlo sul vostro computer con un client ftp, editarlo con un qualsiasi software di elaborazione testi (va bene anche il notepad, ma io vi consiglio di utilizzare uno di quegli editors gratuiti reperibili in rete come PSPad), e successivamente ricaricarlo nella posizione originale. Può essere opportuno salvare una copia del file .htaccess prima di operare qualsiasi modifica per non trovarsi nella spiacevole situazione di non poter ritornare alla configurazione iniziale in caso di malfunzionamenti. 

Per ottenere la compressione dei contenuti del sito si deve utilizzare la direttiva AddOutputFilterByType. Aggiungete il codice che segue in coda al file .htaccess:

<IfModule mod_deflate.c>
       <IfModule mod_setenvif.c>
             BrowserMatch ^Mozilla/4 gzip-only-text/html
             BrowserMatch ^Mozilla/4\.0[678] no-gzip
             BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
             BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
       </IfModule>
 AddOutputFilterByType DEFLATE text/css application/x-javascript application/xml text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
 </IfModule>

 

Le operazioni che il codice appena visto esegue sono in sequenza:

  1. Controlla l’esistenza e il caricamento del modulo mod_setenvif;
  2. Comprime solo alcuni file o disabilita completamente la compressione se la pagina è richiesta da un determinato tipo di browser;
  3. Elenca tutti i tipi di file per i quali la compressione sarà eseguita;

Un altro modo per ottenere lo stesso risultato è utilizzare invece la direttiva mod_gzip in questo modo:


<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 handler ^cgi-script$ mod_gzip_item_include mime ^text/.* mod_gzip_item_include mime ^application/x-javascript.* mod_gzip_item_exclude mime ^image/.* mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* </ifModule>

Con la direttiva  mod_gzip_item_include si includono i tipi di file che possono essere compressi, viceversa con la direttiva mod_gzip_item_exclude quelli da non comprimere per evitare problemi.

Che abbiate usato il primo o il secondo metodo dovrete salvare il file .htaccess e ricaricarlo con il client ftp sul vostro sito, per verificare che la compressione è abilitata potete utilizzare Page Speed Insights e sottoporvi la vostra homepage.

Se tutto avrà funzionato il punteggio che Google assegnerà al vostro sito sarà sicuramente aumentato.