State visualizzando l’avviso “Specify a Vary: Accept-Encoding Header” in Pingdom, GTmetrix o Google PageSpeed Insights per il tuo sito WordPress? Si tratta di un’intestazione HTTP e dovrebbe essere inclusa in ogni risposta del server di origine, in quanto indica al browser se il client può gestire o meno le versioni compresse del contenuto.

Ad esempio, supponiamo di avere un vecchio browser senza compressione gzip e, insieme a questo, un browser moderno. Se non si utilizza l’header Vary: Accept-Encoding, il server web o il CDN potrebbe memorizzare nella cache la versione non compressa e consegnarla per errore al browser moderno, il che a sua volta danneggerebbe le prestazioni del proprio sito WordPress. Utilizzando l’intestazione Vary: Accept-Encoding è possibile garantire che il proprio server Web o CDN fornisca la versione appropriata.

A seconda dello strumento o del software che lo segnala, l’avviso potrebbe apparire in due modi diversi:

  • “Specify a Vary: Accept-Encoding Header”
  • The following publicly cacheable, compressible resources should have a “vary: accept-encoding” header
Specify a Vary: Accept-Encoding header
L’avviso Specify a Vary: Accept-Encoding header in Pingdom

Seguite i passaggi sottostanti per eliminare l’avviso “Specify a Vary: Accept-Encoding Header”.

Eliminare l’avviso “Specify a Vary: Accept-Encoding Header”

La prima cosa che è importante notare per quanto riguarda questo avviso è che è possibile risolvere il problema solo per le richieste che si trovano sul proprio server. Se state vedendo questo avviso su richieste di terze parti, non c’è nulla che potete fare perché non avete il controllo sui loro server web. Ma sentitevi liberi di condividere con loro questo articolo. L’header Vary: Accept-Encoding viene aggiunto di default su tutti i server di Kinsta (come si vede qui sotto), quindi, se siete clienti Kinsta, non vedrete mai questo avviso e non dovrete preoccuparvi.

Vary: Accept-Encoding header
Vary: Accept-Encoding header sui server di Kinsta

L’header si applica sia alle risorse di WordPress che alla richiesta originale del server. Per quanto riguarda le vostre risorse, se state utilizzando un CDN, sappiate che molti già applicano di default l’avviso Vary: Accept-Encoding. KeyCDN, Cloudflare e CloudFront lo utilizzano tutti. o aggiungono anche molti plugin di caching.

Se avete ancora bisogno di risolvere questo problema, dovrete aggiungere del codice al vostro server.

Eliminare l’Avviso “Specify a Vary: Accept-Encoding Header” in Apache

Per risolvere il problema in Apache, aggiungete il seguente codice al vostro file .htaccess via FTP. Questo file si trova nella root del vostro server. Potete anche modificare il vostro file .htaccess con il plugin Yoast SEO, se le vostre autorizzazioni sono impostate correttamente.

Importante! La modifica del file .htaccess potrebbe interrompere il sito se non eseguito correttamente. Se non ti sentite sicuri nel fare queste modifiche, è meglio verificare prima con il vostro host web.
<IfModule mod_headers.c>
  <FilesMatch ".(js|css|xml|gz|html)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

Eliminare l’Avviso “Specify a Vary: Accept-Encoding Header” in NGINX

Per risolvere il problema in NGINX, aggiungete il seguente codice al vostro file di configurazione. Tutti i file di configurazione NGINX si trovano nella directory /etc/nginx/. Il file di configurazione principale è /etc/nginx/nginx.conf.

gzip_vary on

L’utilizzo dell’header Vary: Accept-Encoding può infatti aiutare a velocizzare il vostro sito WordPress, in quanto garantisce l’utilizzo della compressione gzip. E se tutto va bene e non avetei richieste di terze parti che non utilizzano correttamente l’header, dovreste vedere un miglioramento del vostro punteggio con strumenti di test della velocità dei siti web come Pingdom (come si può vedere qui sotto).

Punteggio 100 Specify a Vary: Accept-Encoding header
L’avviso Specify a Vary: Accept-Encoding header