Come correggere l'errore "Specifica un validatore cache".

Pubblicato: 2022-06-11

Se verifichi le prestazioni del tuo sito Web utilizzando GTmetrix o Pingdom, potresti riscontrare un errore che dice di "specificare un validatore di cache". Quel messaggio significa che non stai sfruttando appieno la memorizzazione nella cache del browser. Sfortunatamente, ciò può influire negativamente sulle prestazioni del tuo sito.

In questo articolo parleremo del significato dell'errore "specifica un validatore della cache". Ti mostreremo anche come risolverlo in WordPress e ottimizzare le prestazioni del tuo sito web. Andiamo subito!

Cosa significa "Specificare un validatore di cache"?

Abilitando la memorizzazione nella cache, puoi indicare ai browser o ai "client" dei visitatori di archiviare file critici in locale quando visitano il tuo sito web. In questo modo, gli utenti non avranno bisogno di ricaricare l'intero sito e le sue risorse ogni volta che aprono la tua pagina.

La memorizzazione nella cache è una pratica incredibilmente comune tra i siti Web. È anche uno dei modi più efficaci per migliorare le prestazioni del tuo sito. Tuttavia, una corretta implementazione richiede una "politica" di memorizzazione nella cache.

Tale politica significa includere intestazioni di memorizzazione nella cache che forniscono istruzioni esplicite su quanto segue:

  • Come convalidare le risorse memorizzate nella cache
  • Quali risorse il client dovrebbe memorizzare nella cache
  • Per quanto tempo il client deve memorizzare nella cache le risorse
  • Come il client dovrebbe cercare le modifiche nelle risorse memorizzate nella cache

L'errore "specifica un validatore di cache" significa che il tuo sito web non ha le intestazioni di memorizzazione nella cache corrispondenti nelle sue risposte. Quella mancanza di istruzioni non significa che la memorizzazione nella cache non funzionerà. Tuttavia, non funzionerà nel modo più efficiente possibile:

Specifica un errore di convalida della cache in WordPress

Se riscontri questo errore durante l'analisi delle prestazioni del tuo sito Web WordPress, significa che il tuo sito Web potrebbe non caricarsi il più rapidamente possibile. Tuttavia, puoi risolvere questo problema utilizzando le intestazioni di memorizzazione nella cache appropriate.

Come specificare un validatore di cache su WordPress (3 metodi)

Esistono diversi tipi di validatori di cache che puoi implementare nelle intestazioni del tuo sito web. Il server li aggiunge automaticamente in alcuni casi, ad esempio con validatori dell'ultima modifica o ETag .

Se stai riscontrando l'errore "specifica un validatore della cache", i colpevoli più probabili mancano il controllo della cache o scadono le intestazioni. Vediamo come aggiungerli entrambi a WordPress.

1. Aggiungi manualmente le intestazioni di controllo della cache

Le intestazioni di controllo della cache consentono di specificare la durata o la "lunghezza" della cache in secondi. Puoi anche utilizzare queste intestazioni per indicare a quali tipi di file si applica la lunghezza. La struttura dell'intestazione stessa varia a seconda del software del server Web in uso.

Per i server Apache, dovrai modificare il file .htacess . Puoi trovarlo nella tua cartella principale di WordPress. Tuttavia, si consiglia di accedervi tramite File Transfer Protocol (FTP).

Apri il file .htaccess e aggiungi il seguente frammento di codice, quindi personalizzalo:

<filesMatch ".(jpg|jpeg|png|gif|js|css)$">
Header set Cache-Control "max-age=604800, public"
</filesMatch>

Quel codice indica la lunghezza della cache per i tipi di file all'interno del tag filesMatch . A seconda degli elementi che desideri memorizzare nella cache, puoi aggiungere o rimuovere tipi di file.

Se stai usando NGINX, dovrai modificare il file di configurazione principale del server. Puoi trovarlo nella directory /etc/nginx .

Apri il file e aggiungi il seguente codice:

location ~* \.(jpg|jpeg|png|gif|js|css)$ {
add_header Cache-Control "public";
}

Salva le modifiche al tuo file e chiudilo. Ti consigliamo inoltre di aggiungere le intestazioni di scadenza prima di testare nuovamente le prestazioni del tuo sito web.

2. Aggiungi manualmente le intestazioni di scadenza

Le intestazioni Expires sono tipi di validatori di cache alquanto obsoleti. In effetti, le intestazioni di controllo della cache ora le sostituiscono. La maggior parte dei browser moderni cercherà prima le intestazioni di controllo della cache , ma puoi indicare entrambi i validatori per coprire le tue basi.

L'aggiunta manuale di intestazioni di scadenza funziona in modo simile alle voci di controllo della cache sia in Apache che in NGINX. Per aggiungere le intestazioni di scadenza in Apache, dovrai modificare il file .htaccess .

Ecco un esempio di intestazione che puoi copiare e ti consigliamo di aggiungerla in fondo al file per evitare conflitti:

## EXPIRES HEADER CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresDefault "access 7 days"
</IfModule>
## EXPIRES HEADER CACHING ##

Le intestazioni Expires indicano date di scadenza specifiche per ogni tipo di file. Se non specifichi una data per un tipo di file, utilizzerà il valore ExpiresDefault .

Per i server NGINX, dovrai modificare il file di configurazione principale. Ecco come appare un'intestazione di scadenza in NGINX:

location ~* \.(png|jpg|jpeg|gif)$ {
expires 7d;
add_header Cache-Control "public";
}

Salva le modifiche su qualsiasi file stai utilizzando e il gioco è fatto. Prova di nuovo le prestazioni del tuo sito Web e verifica se l'errore "specifica un validatore di cache" persiste.

3. Usa un plugin di memorizzazione nella cache di WordPress

Infine, potresti prendere in considerazione l'utilizzo di un plug-in per specificare i validatori di cache. Alcuni dei più popolari plug-in di memorizzazione nella cache di WordPress ti consentono di configurare le scadenze e le intestazioni di controllo della cache per il tuo sito senza toccare alcun codice.

Lo svantaggio dell'utilizzo di un plug-in di memorizzazione nella cache è che molti host web non lo consentono. In effetti, molti host Web gestiti, in particolare, spesso non ti consentono di utilizzare i plug-in di memorizzazione nella cache perché configurano manualmente la memorizzazione nella cache per i loro utenti per prestazioni ottimali.

La maggior parte dei plug-in di memorizzazione nella cache configurerà automaticamente il tuo sito Web per utilizzare le intestazioni ETag o Last-Modified . In caso contrario, puoi impostare automaticamente il controllo della cache e scade i validatori.

W3 Total Cache, ad esempio, ti dà il controllo completo sul tipo di intestazioni della cache che puoi utilizzare:

Configurazione della cache totale W3

Se il tuo host web ti consente di utilizzare i plug-in di memorizzazione nella cache, ti consigliamo di esplorare più opzioni per vedere quale ti senti più a tuo agio. In alternativa, puoi specificare manualmente i validatori di cache (non è così difficile!).

Conclusione

La memorizzazione nella cache è uno dei modi più efficienti per ridurre i tempi di caricamento degli utenti. I visitatori abituali trarranno vantaggio da buone politiche di memorizzazione nella cache poiché i tempi di caricamento miglioreranno con i file archiviati localmente. Tuttavia, non otterrai le migliori prestazioni del sito Web se non configuri una politica di memorizzazione nella cache specifica.

Esistono diversi modi per specificare un validatore di cache in WordPress se il tuo server non lo fa per impostazione predefinita (che è relativamente comune). A seconda delle esigenze dell'host e del sito, l'aggiunta manuale di intestazioni di controllo della cache , l'aggiunta manuale di intestazioni di scadenza o l'utilizzo di un plug-in di memorizzazione nella cache risolveranno i tuoi problemi. Se nessuno di questi funziona, è il momento di contattare il supporto del tuo host per un'assistenza più approfondita.

Hai domande su come specificare un validatore di cache in WordPress? Parliamo di loro nella sezione commenti qui sotto!

Immagine in primo piano tramite apghedia / shutterstock.com