Come abilitare la compressione GZIP per velocizzare i siti WordPress
Pubblicato: 2020-10-16Il modo più semplice per velocizzare il tuo sito WordPress è eliminare tutte le sue risorse indesiderate. Il secondo modo più semplice per accelerarlo è comprimere tutte le risorse desiderate. Abilitare la compressione GZIP sul tuo server web è uno dei modi più semplici ed efficienti per ottenerlo.
Tutti i browser moderni includono il supporto per la compressione GZIP per impostazione predefinita. Tuttavia, per fornire le risorse compresse ai tuoi utenti senza intoppi, devi configurare correttamente il tuo server.
In questo post imparerai le basi della compressione dei dati sul Web, cos'è la compressione GZIP, i suoi vari vantaggi e come puoi usarla per velocizzare i tuoi siti WordPress su diverse configurazioni del server.
Emozionato? Decomprimiamo!
Preferisci guardare la versione video?
Le basi della compressione dei dati sul Web
La compressione dei dati sul web è il processo di riduzione delle dimensioni dei dati trasmessi dai siti web. A seconda del tipo di dati (testo, immagini, fogli di stile, script, caratteri) esistono vari modi per comprimere i dati.

Ad esempio, la minimizzazione di HTML, CSS e JavaScript è un modo semplice per ridurre la quantità di dati inviati dai browser. Qui, il minifier comprime il testo rimuovendo i caratteri non necessari come commenti e spazi bianchi dal codice sorgente.
Nell'esempio seguente di un semplice documento HTML, ci sono tre tipi di contenuto: markup HTML, stili CSS e codice JavaScript.
Ogni tipo di contenuto ha una sintassi e una semantica uniche. Complessivamente, questo documento HTML ha 357 caratteri in totale.
< html > < head > < style > /* kinsta-banner is used on the homepage only */ .kinsta-banner { font-size: 150% } .kinsta-banner { width: 75% } </ style > </ head > < body > <!-- kinsta banner START --> < div >...</ div > <!-- kinsta banner END --> < script > kinstaScripts(); // random scripts used on the page </ script > </ body > </ html >
Il codice sopra è facile da leggere e da seguire. È l'ideale per lo sviluppo. Tuttavia, non è necessario che il browser legga i commenti e abbia tag perfettamente rientrati. Un compressore intelligente può analizzare questo documento e rimuoverne tutti i bit non necessari.
< html >< head >< style >.kinsta-banner{font-size:150%;width:75%}</ style ></ head >< body >< div >...</ div >< script >kinstaScripts();</ script ></ body ></ html >
Dopo la minimizzazione, il documento HTML si riduce a soli 141 caratteri. Questo è un risparmio del 60,50% nel numero di caratteri. Non è così facile per gli occhi, ma non importa per il browser. Verrà comunque visualizzata la stessa pagina per l'utente.
Per sfruttare entrambe le versioni, puoi mantenere il documento originale come una "versione di sviluppo", ma minimizzare tutto il codice prima di pubblicarlo.
La maggior parte dei plug-in per le prestazioni di WordPress si occupa di questo automaticamente per te.

Ad esempio, la versione non compressa della libreria jQuery 3.5.1 è più di 3 volte più grande della versione ridotta dello stesso file.
Allo stesso modo, le stesse tecniche di compressione sopra descritte possono ottimizzare altri tipi di contenuto come immagini, video, caratteri e altro. Riduzioni specifiche del contenuto come queste sono il primo passo per ottimizzare le dimensioni delle risorse testuali del tuo sito web.
Ma c'è di più nella compressione dei dati oltre alla semplice minimizzazione. Utilizzando tecniche matematiche avanzate, gli algoritmi di compressione dei dati possono ridurre ulteriormente la dimensione dei dati.
Uno degli esempi più popolari di tale metodo di compressione dei dati è GZIP . Consente un'efficiente trasmissione dei dati e ha contribuito in modo significativo a rendere Internet un mezzo di comunicazione globale praticabile.
Che cos'è la compressione GZIP?
GZIP, abbreviazione di GNU Zip , è il metodo di compressione dei dati senza perdita di dati più popolare sul web. Ti consente di ridurre le dimensioni delle pagine HTML, dei fogli di stile e degli script del tuo sito.
Oltre ad essere un algoritmo di compressione dei dati, GZIP è anche un'estensione di file ( .gz ) e un software utilizzato per la compressione/decompressione di file.
Si basa sull'algoritmo DEFLATE, che è una combinazione di codifica LZ77 e algoritmi di codifica Huffman.

Un compressore GZIP prende un insieme di dati grezzi e lo comprime senza perdite. I dati grezzi possono provenire da qualsiasi tipo di file, ma GZIP funziona meglio con risorse basate su testo (ad esempio HTML, CSS, JS).
La sezione successiva illustra in modo approfondito come funziona la compressione GZIP.
Come GZIP comprime i dati

Per cominciare, il compressore GZIP esegue l'algoritmo di compressione LZ77 sui dati grezzi per rimuovere le ridondanze. Questo algoritmo funziona trovando schemi ripetuti in una finestra scorrevole predefinita (una piccola sezione dei dati grezzi).
Quindi sostituisce tutte le stringhe ripetute con tuple per comprimere i dati grezzi.

Nell'esempio sopra, la dimensione della finestra scorrevole è lunga solo 13 caratteri (13 byte). Tuttavia, la compressione GZIP può utilizzare una dimensione massima della finestra scorrevole di 32 KB (32.768 byte). La dimensione della finestra scorrevole gioca un ruolo chiave nelle prestazioni di compressione dell'LZ77.
Dopo aver compresso i dati grezzi con l'algoritmo LZ77, il compressore GZIP utilizza quindi l'algoritmo di codifica Huffman per comprimerli ulteriormente. Lo fa assegnando ai caratteri che ricorrono più frequentemente il minor numero di bit, mentre assegnando ai caratteri rari il numero più alto di bit.
Questa tecnica è come quella usata nel codice Morse, in cui le lettere che ricorrono più frequentemente nella lingua inglese ottengono le sequenze più brevi.
Per capire come funziona l'algoritmo di codifica di Huffman, considera la parola BOOKKEEPER
. È lungo 10 caratteri, ma ha solo 6 caratteri unici. Questa parola ha un buon mix di lettere singole, doppie e triple.
Quasi tutti i siti Web utilizzano la codifica dei caratteri UTF-8 per rappresentare lettere e simboli. Ogni carattere ASCII in UTF-8, che include anche l'alfabeto inglese, utilizza 1 byte (8 bit).

Una stringa di 10 caratteri come BOOKKEEPER
richiederà 10 byte (80 bit) di memoria. Puoi vedere che contiene 1 istanza delle lettere B , P , R
, 2 istanze delle lettere O
e K
e 3 istanze della lettera E
L'algoritmo di codifica di Huffman utilizza questa conoscenza per comprimere la stringa senza perdite. Lo fa generando un albero binario con ogni lettera univoca come una foglia.
Le lettere con la frequenza più bassa (es. B , P , R ) si troveranno in fondo all'albero, mentre quelle che compaiono frequentemente (es. E , O , K ) si troveranno idealmente in cima.
Il nodo più in alto nell'albero è la radice e il suo valore è uguale al numero totale di caratteri nella stringa.

Dopo aver generato l'albero di Huffman, a tutte le frecce di ramificazione sinistra e destra vengono assegnati rispettivamente 0 e 1 numeri. È quindi possibile generare il codice di Huffman per qualsiasi carattere tracciando il percorso da radice a foglia e unendo tutti gli 0 s e 1 s.

Puoi notare che le lettere con la frequenza più alta hanno codici Huffman con le dimensioni dei bit più piccole.
Nota: l'algoritmo di codifica Huffman può generare codici binari alternativi utilizzando una diversa strategia di ordinamento per caratteri con le stesse frequenze. Tuttavia, la dimensione totale della stringa codificata rimarrà la stessa.

Questa è una riduzione del 68,75% della memoria richiesta per memorizzare la parola originale.
L'utilizzo dell'albero di Huffman con la convenzione 0/1 genera codici binari che soddisfano la proprietà del prefisso. Garantisce che il codice di Huffman di qualsiasi carattere specifico non sia un prefisso del codice di qualsiasi altro carattere, semplificando la decodifica della stringa codificata utilizzando l'albero di Huffman. Questo gioca un ruolo primario nella velocità di decompressione GZIP.
Proprio come con la parola sopra, il compressore GZIP utilizza l'algoritmo di codifica Huffman per ottimizzare ulteriormente le tuple generate dall'algoritmo LZ77. Ciò si traduce in file altamente compressi con estensione .gz.
Se sei interessato a saperne di più su come funziona GZIP, fai riferimento a questo video per una rapida panoramica.
Quanto è buona la compressione GZIP?
In genere, GZIP raggiunge un rapporto di compressione di circa il 70% per file di piccole dimensioni, ma può raggiungere fino al 90% per risorse di testo più grandi.

Nella tabella sopra, puoi vedere che la compressione di file minimizzati con GZIP può ridurne ulteriormente le dimensioni.
Nota: puoi comprimere qualsiasi tipo di file con GZIP, ma per le risorse già compresse con altri metodi (ad es. immagini, video), non sarà un risparmio. A volte, può anche aumentare la dimensione del file.
La forza di un algoritmo di compressione non dipende solo dal suo rapporto di compressione, ma anche dalla velocità e dall'efficienza con cui può comprimere e decomprimere i dati. È qui che GZIP eccelle per la maggior parte dei casi d'uso.
Poiché GZIP si decomprime rapidamente utilizzando un algoritmo di streaming, è perfetto per i protocolli Web in cui la velocità è essenziale. Inoltre, GZIP utilizza risorse minime per comprimere e decomprimere i dati, rendendolo ideale sia per i server che per i client.

I grafici sopra confrontano le prestazioni di compressione degli algoritmi di compressione brotli , bzip2 , gzip e xz . GZIP perde un leggero margine nel test del rapporto di compressione, ma per le velocità di compressione e decompressione batte nettamente la concorrenza.
Osservando il grafico della velocità di compressione, possiamo concludere che GZIP è l'ideale per la compressione in tempo reale nei server HTTP e in altri flussi di dati sul Web. Considerando tutti i suoi aspetti positivi nell'avanzamento del Web, IETF ha ratificato GZIP come uno dei tre formati standard per la compressione in HTTP/1.1.
Nota: un'astrazione della libreria di compressione di GZIP chiamata zlib è utilizzata in molti sistemi operativi popolari (Linux, macOS, iOS) e moderne console di gioco (PlayStation 4, Wii U, Xbox One). Viene anche utilizzato nel formato di file PNG senza perdita di dati per la compressione delle immagini.
6 Vantaggi della compressione GZIP
Diamo un'occhiata più da vicino ai vantaggi più importanti della compressione GZIP.
Offre un rapporto di compressione decente
Come discusso in precedenza, GZIP non ha il miglior rapporto di compressione rispetto alla concorrenza. Ma non è nemmeno così lontano da loro. In genere, può aiutarti a ridurre le dimensioni delle risorse basate su testo del 70-90%.
Compressione e decompressione super veloci
Per le velocità di compressione e decompressione dei dati, GZIP è il chiaro vincitore. È altamente desiderabile per la compressione al volo nei server HTTP e altri flussi di dati.
Richiede pochissima memoria
GZIP lascia un'impronta di memoria minima, rendendolo adatto a server e sistemi con capacità di memoria limitata. Quindi, lo troverai supportato anche dai provider di hosting web più economici.
Non si espande molto anche nei casi peggiori
Gli algoritmi di compressione dei dati senza perdita di dati come GZIP hanno un limite rigoroso oltre il quale non possono comprimere i dati.
In genere, ciò accade quando la risorsa è già ben compressa o se è piccola e l'overhead dell'aggiunta del dizionario GZIP è maggiore del risparmio di compressione. Possiamo attribuire questo fenomeno a un concetto chiamato codifica dell'entropia. GZIP è altamente resistente a questo effetto.
Gratuito da usare e Open Source
GZIP è stato creato principalmente come sostituto gratuito e open source per il programma compress brevettato utilizzato nei primi sistemi Unix. Pertanto, non è gravato da alcun brevetto e può essere utilizzato liberamente da chiunque.
Gode del supporto universale
Secondo W3Techs, la compressione GZIP viene utilizzata dall'82% di tutti i siti Web che tracciano, rendendolo l'algoritmo di compressione più utilizzato sul Web.
GZIP è supportato da quasi tutti i server e client. Indipendentemente dal server su cui ospiti il tuo sito, puoi velocizzarlo abilitando GZIP su di esso.
Avvisi GZIP negli strumenti di test della velocità del sito web
Oltre alla minimizzazione, l'abilitazione di GZIP è una delle ottimizzazioni di velocità più semplici ed efficaci che puoi implementare sul tuo sito web.
È anche uno dei modi più semplici per ottimizzare WordPress. Nonostante ciò, molti siti WordPress non lo utilizzano ancora.
Quando visiti un sito Web, il tuo browser verifica se il server Web ha abilitato GZIP controllando la content-encoding: gzip
. Se l'intestazione esiste, recupera i file compressi, li decomprime e quindi fornisce automaticamente i file più piccoli.

Se il browser non rileva l'intestazione della risposta GZIP, scarica i file non compressi. Nella maggior parte dei casi, la differenza nelle velocità di caricamento della pagina può essere di diversi secondi. Pertanto, se non hai abilitato GZIP, vedrai avvisi negli strumenti di test della velocità del sito Web.
Avviso GZIP in Google PageSpeed Insights / Faro
Google PageSpeed Insights genera un avviso quando non hai alcuna compressione del testo abilitata sul tuo sito web.
Nota: Google PageSpeed Insights e Google Lighthouse erano due strumenti di test delle prestazioni dei siti Web separati. Hanno lavorato indipendentemente l'uno dall'altro fino al 2018, quando Google ha aggiornato PageSpeed Insights per utilizzare Lighthouse come motore di analisi. Quindi, PageSpeed Insights e Lighthouse sono la stessa cosa ora.

Nel sito di esempio sopra, la compressione delle risorse basate su testo può ridurre il peso della pagina di oltre il 78% e accelerare il tempo di caricamento della pagina di 2,1 secondi .
Nota: PageSpeed Insights si basa sulle intestazioni di risposta restituite al browser dal server. A volte, potrebbe mostrare un falso avviso anche quando la compressione GZIP è abilitata. Potrebbe essere dovuto all'esecuzione del test di velocità su una macchina che utilizza un server proxy intermedio o un software di sicurezza. Possono interferire con il download di file compressi da server esterni.
Avviso GZIP in GTmetrix
GTmetrix mostra un avviso se il tuo sito web non offre risorse di testo compresse. Come Google PageSpeed Insights, ti mostrerà anche i potenziali risparmi che puoi ottenere.

Nota: GTmetrix sta aggiornando il suo algoritmo di test della velocità per sostituire le vecchie librerie PageSpeed Insights e YSlow con le ultime metriche di Google Lighthouse. Puoi aspettarti che il suo avviso di compressione GZIP sia simile a quello mostrato da Lighthouse.
Avviso GZIP in Pingdom Tools
Pingdom Tools lancia un semplice avvertimento per comprimere i componenti del tuo sito web con GZIP.

Nella sezione della descrizione, Pingdom Tools ti fornisce anche alcune statistiche sull'importanza di GZIP. Fagioli freschi!

Avviso GZIP in WebPageTest
WebPageTest mostra un avviso nella scheda Revisione delle prestazioni se rileva che le risposte comprimibili non vengono fornite nel modo più ottimizzato.

WebPageTest fornirà anche un punteggio graduato per mostrare quanto sia grave un avviso. Ad esempio, valuta l'avviso di cui sopra 23 su 100, il che significa che dovresti risolverlo come priorità.
Come verificare se la compressione GZIP è abilitata
L'intestazione Accept-Encoding: gzip, deflate
HTTP è effettivamente supportata da tutti i browser moderni. Quindi, la maggior parte degli host web, incluso Kinsta, abilita la compressione GZIP per impostazione predefinita su tutti i loro server.
Quando i server Web vedono questa intestazione inviata da un browser, riconoscono il supporto del browser per GZIP e rispondono con una risposta HTTP compressa utilizzando content-encoding: gzip
.
Ma se stai utilizzando un altro provider di hosting WordPress, o se vuoi semplicemente confermare se il tuo sito web sta servendo correttamente contenuto compresso GZIP, controlla sempre se è abilitato.
Di seguito sono riportati alcuni semplici modi per verificare la compressione GZIP.
1. Strumenti di test di compressione GZIP online
L'utilizzo di uno strumento online è il modo più semplice per verificare se la compressione GZIP è abilitata sul tuo sito web. Consiglio di utilizzare gli strumenti gratuiti Verifica compressione GZIP o Test di compressione HTTP. Inserisci semplicemente l'URL del tuo sito web e premi il pulsante Verifica o Prova .
Entrambi questi strumenti online ti mostreranno un breve rapporto sull'abilitazione o meno di GZIP e sulla quantità di trasferimento di dati che hai salvato (o che potresti salvare) servendo l'URL di prova con la compressione GZIP abilitata.
Il primo strumento ti mostrerà anche altre informazioni rilevanti come il tipo di server del tuo sito web, il tipo di contenuto e il tempo di compressione.


Dovresti notare che l'ottimizzazione GZIP non si ferma solo alla tua pagina web, ma include anche le sue risorse statiche basate su testo come fogli di stile, script e caratteri. Se utilizzi una CDN per servire queste risorse, devi assicurarti che la CDN le serva anche con la compressione GZIP abilitata.
La maggior parte dei CDN moderni come Cloudflare, Kinsta CDN, KeyCDN e CloudFront supportano la compressione GZIP. Puoi testare le risorse servite da CDN per la compressione GZIP collegandoti direttamente alle risorse.

Nel rapporto sopra, puoi vedere che Kinsta CDN utilizza il motore KeyCDN, che è un tradizionale pull CDN. Se stai utilizzando Kinsta per ospitare il tuo sito WordPress, non devi preoccuparti di nulla della compressione GZIP poiché è abilitata per impostazione predefinita.
2. L'intestazione della risposta HTTP "codifica del contenuto: gzip".
Il secondo modo per verificare se un sito Web fornisce contenuto compresso GZIP è verificare la content-encoding: gzip
HTTP response header.
Stanco del supporto per l'hosting di WordPress di livello 1 inferiore senza le risposte? Prova il nostro team di supporto di livello mondiale! Dai un'occhiata ai nostri piani
Puoi aprire Chrome DevTools o Firefox Developer Tools e cercare questa intestazione di risposta nella sezione Rete .
Ho già mostrato come appare in Chrome DevTools in precedenza. Ecco come appare negli Strumenti per sviluppatori di Firefox.

Puoi anche abilitare l'opzione "Usa righe di richiesta di grandi dimensioni" nel pannello delle impostazioni di Chrome DevTools per vedere sia la dimensione originale che quella compressa della pagina. Come puoi vedere di seguito, la dimensione della pagina originale è stata ridotta da 118 KB a soli 22,9 KB dopo averla compressa con GZIP.

3. Strumenti per il test della velocità della pagina Web
La maggior parte degli strumenti di test della velocità dei siti Web ti avviserà di non utilizzare la compressione come GZIP per servire le tue pagine Web. Molti lettori che arrivano a questo articolo probabilmente arriveranno proprio a causa di questi avvisi GZIP, molti dei quali ho già discusso in precedenza in modo approfondito.

Puoi utilizzare strumenti come PageSPeed Insights, GTmetrix, Pingdom Tools e WebPageTest per verificare se la compressione GZIP è abilitata sul tuo sito Web WordPress.
Come abilitare la compressione GZIP
Se non hai la compressione GZIP abilitata sul tuo server web, ci sono molti modi per abilitarla. Il metodo esatto dipende dal server web che stai utilizzando per ospitare il tuo sito web.
Importante: come sempre, esegui un backup dei file di configurazione del tuo sito e del server prima di modificarli.
Abilita GZIP con un plugin per WordPress
Il modo più semplice per abilitare la compressione GZIP sul tuo sito WordPress è utilizzare un plug-in di memorizzazione nella cache o di ottimizzazione delle prestazioni.
Ad esempio, se ospiti il tuo sito WordPress su un server Web Apache, W3 Total Cache include un'opzione per abilitare la compressione GZIP nel pannello delle impostazioni della cache del browser .
Allo stesso modo, WP Rocket ti consente di aggiungere automaticamente regole di compressione GZIP. Questi plugin abilitano la compressione GZIP aggiungendo il modulo mod_deflate
di Apache al file .htaccess.

I plugin di WordPress richiedono autorizzazioni per modificare i file sul tuo server web. Se non hanno le autorizzazioni giuste, non riusciranno o mostreranno un errore.
In questi casi, è necessario contattare il provider di hosting o modificare manualmente i file di configurazione del server Web utilizzando i frammenti di codice riportati di seguito.
Nota: Kinsta ha ottimizzato la sua piattaforma per prestazioni elevate, affidabilità e sicurezza. Ciò include anche l'abilitazione della compressione GZIP per impostazione predefinita per tutti i suoi piani di hosting.
Poiché i plug-in di memorizzazione nella cache di terze parti possono causare conflitti con le ottimizzazioni interne delle prestazioni di Kinsta, Kinsta non ne consente la maggior parte sui propri server. Per ulteriori informazioni, puoi vedere l'elenco completo dei plugin vietati di Kinsta.
Abilita GZIP su Apache Web Server
Secondo Netcraft, Apache serve siti più attivi di qualsiasi altro server Web in uso oggi. È anche uno dei due server web consigliati da WordPress.
Per abilitare la compressione GZIP sui server Apache, devi usare i suoi moduli mod_filter
e mod_deflate
e configurarli correttamente con le giuste direttive. Indirizzeranno Apache a comprimere l'output del server prima di inviarlo ai client sulla rete.
Hai due opzioni per modificare le configurazioni del server di Apache in base al livello di accesso che hai:
- Se puoi accedere al file di configurazione del server principale (di solito chiamato httpd.conf ), ti consigliamo di usarlo per configurare Apache poiché i file .htaccess possono rallentare Apache.
- Se non riesci ad accedere al file di configurazione del server principale, che di solito è il caso della maggior parte dei provider di hosting condiviso di WordPress, devi configurare Apache utilizzando il file .htaccess .
La prima opzione è riservata agli amministratori di sistema, poiché i provider di hosting raramente consentono di modificare il file di configurazione del server principale. Spiegare come farlo in questo modo è fuori dallo scopo di questo articolo. Per iniziare, puoi fare riferimento alle configurazioni del server Apache di esempio condivise dal progetto HTML5 Boilerplate e alla documentazione di Apache.
La seconda opzione è l'ideale per la maggior parte dei proprietari di siti WordPress poiché molti provider di hosting condiviso consentono di modificare i file .htaccess .
Per iniziare, usa SFTP o il file manager online del tuo host per trovare il file .htaccess nella directory principale del tuo sito WordPress. Quindi aggiungi lo snippet di codice seguente.
Importante: assicurati che il modulo mod_filter
sia attivo sul tuo server. La maggior parte degli host Web lo ha abilitato per impostazione predefinita, ma in caso contrario, la direttiva AddOutputFilterByType
non funzionerà e potrebbe generare un errore HTTP 500. Puoi controllare i log degli errori del tuo server in caso di problemi dopo aver aggiunto lo snippet di codice di seguito.
<IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml # Remove browser bugs (only needed for ancient browsers) BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html Header append Vary User-Agent </IfModule>
Aggiungi il codice sopra solo dopo le direttive esistenti del tuo file .htaccess . Salva il file e quindi controlla se abilita la compressione GZIP sul tuo server.

Il tuo server web dovrebbe ora servire file compressi per tutte le estensioni di file sopra elencate. Puoi confermarlo utilizzando uno dei metodi menzionati in precedenza.
Se vuoi assicurarti che i proxy e il software di sicurezza sul lato client non interferiscano con la compressione GZIP, puoi sostituire il frammento di codice sopra con quello sotto.
<IfModule mod_deflate.c> # force compression for clients that mangle 'Accept-Encoding' request headers <IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> # compress all output with one of the following file extensions <IfModule mod_filter.c> AddOutputFilterByType DEFLATE "application/atom+xml" \ "application/javascript" \ "application/json" \ "application/ld+json" \ "application/manifest+json" \ "application/rdf+xml" \ "application/rss+xml" \ "application/schema+json" \ "application/geo+json" \ "application/vnd.ms-fontobject" \ "application/wasm" \ "application/x-font-ttf" \ "application/x-javascript" \ "application/x-web-app-manifest+json" \ "application/xhtml+xml" \ "application/xml" \ "font/eot" \ "font/opentype" \ "font/otf" \ "font/ttf" \ "image/bmp" \ "image/svg+xml" \ "image/vnd.microsoft.icon" \ "text/cache-manifest" \ "text/calendar" \ "text/css" \ "text/html" \ "text/javascript" \ "text/plain" \ "text/markdown" \ "text/vcard" \ "text/vnd.rim.location.xloc" \ "text/vtt" \ "text/x-component" \ "text/x-cross-domain-policy" \ "text/xml" </IfModule> # define and map media types to their appropriate encoding type # Using SVG format (Scalable Vector Graphics) is highly recommended to # load logos, icons, text, and simple images. You can compress .SVG files # further using GZIP to create .SVGZ files. However, most browsers don't # know that they need to decompress them first if they're not served # without an appropriate 'content-encoding' HTTP response header. Thus, # these images wouldn't show up in the browser. Hence, this module. <IfModule mod_mime.c> AddType image/svg+xml svg svgz AddEncoding gzip svgz </IfModule> </IfModule>
Puoi saperne di più su tutte le direttive utilizzate qui andando al suo repository di codice e seguendo tutte le risorse collegate lì.
Abilita GZIP su Nginx Web Server
Secondo Netcraft, Nginx è il server Web più utilizzato dai computer con connessione Web. Se la tendenza attuale continua, presto supererà Apache diventando il server web più utilizzato dai siti attivi. Anche Kinsta utilizza Nginx per potenziare le sue soluzioni di hosting ottimizzate per le prestazioni per WordPress.
Puoi abilitare la compressione GZIP sul tuo server web Nginx usando le direttive definite in ngx_http_gzip_module.
Per iniziare, aggiungi le direttive fornite di seguito al tuo file nginx.conf . In genere, puoi trovare questo file nella posizione /etc/nginx/nginx.conf
del tuo server.
# enables GZIP compression gzip on; # compression level (1-9) # 6 is a good compromise between CPU usage and file size gzip_comp_level 6; # minimum file size limit in bytes to avoid negative compression outcomes gzip_min_length 256; # compress data for clients connecting via proxies gzip_proxied any; # directs proxies to cache both the regular and GZIP versions of an asset gzip_vary on; # disables GZIP compression for ancient browsers that don't support it gzip_disable "msie6"; # compress outputs labeled with the following file extensions or MIME-types # text/html MIME-type is enabled by default and need not be included gzip_types application/atom+xml application/geo+json application/javascript application/x-javascript application/json application/ld+json application/manifest+json application/rdf+xml application/rss+xml application/vnd.ms-fontobject application/wasm application/x-web-app-manifest+json application/xhtml+xml application/xml font/eot font/otf font/ttf image/bmp image/svg+xml text/cache-manifest text/calendar text/css text/javascript text/markdown text/plain text/xml text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;
Se il tuo sito gestisce file JS e CSS di grandi dimensioni, puoi aumentare la dimensione del buffer utilizzata per la compressione aggiungendo la seguente direttiva al tuo file nginx.conf :
# sets the 'number' and 'size' of buffers for GZIP compression # default buffer size is 4K or 8K depending on the platform gzip_buffers 16 8k;
Non dimenticare di ricaricare Nginx dopo aver salvato il file nginx.conf .
sudo service nginx reload
Infine, dovresti verificare se il tuo server ha la compressione GZIP abilitata. Puoi fare riferimento alla documentazione di Nginx per un elenco aggiornato di tutte le direttive ngx_http_gzip_module
.
Abilita GZIP sul server Web IIS
Internet Information Services (IIS) di Microsoft è il terzo server Web più popolare in uso oggi. IIS viene distribuito principalmente in ambienti aziendali in esecuzione su Windows, in particolare per la configurazione di server Intranet ed Extranet specifici dell'azienda.
Viene utilizzato raramente per ospitare siti WordPress a causa di vari problemi di compatibilità.
Tuttavia, se ti trovi in una di quelle rare situazioni in cui devi abilitare la compressione GZIP su IIS, puoi fare riferimento alla documentazione di Microsoft per iniziare. Potresti anche trovare utile questo thread di Stack Overflow.
Alternative alla compressione GZIP
Il mondo della compressione dei dati sul web è in continua evoluzione. Con la dimensione media del peso della pagina in costante aumento, anche la tecnologia Web sta cercando di recuperare il ritardo per rendere più efficiente il trasferimento dei dati sul Web.

Un nuovo algoritmo di compressione ha guadagnato popolarità negli ultimi anni: Brotli. La compressione dei caratteri Web WOFF2 era originariamente l'obiettivo principale di Brotli, ma da allora si è ampliato per supportare la compressione per qualsiasi tipo di dati.
Brotli comprime i dati meglio di GZIP, ma richiede molto più tempo e risorse per comprimere i dati. Tuttavia, il suo tempo di decompressione è paragonabile a quello di GZIP, anche se è ancora un po' più lento.

La maggior parte dei browser oggi supporta Brotli, ma utilizzarlo sui siti WordPress è ancora alquanto complicato. Devi ospitare il tuo sito con un provider di hosting che supporta Brotli o ti consente di installare la libreria Brotli. La maggior parte degli host WordPress gestiti non lo supporta ancora a titolo definitivo, ma se utilizzi un CDN come Cloudflare o KeyCDN, puoi abilitarlo facilmente.
Brotli mostra grandi promesse per la compressione di risorse statiche. Akamai ha pubblicato un articolo dettagliato che confronta Brotli e GZIP. You can check it out to learn more about Brotli.
Sommario
A well-optimized web is great for everyone. Users love snappier websites, website owners love the reduced hosting charges, and web hosts love the optimization achieved on their servers. Compression techniques like GZIP are one of the best ways to speed up page load times for your visitors.
WordPress site owners can speed up their sites instantly by enabling GZIP compression. Kinsta enables it by default on all its servers, but for others, this article covers multiple ways to enable GZIP compression on various web servers.
Speed is critical for any website. Just compress!