Como corrigir o erro "Especificar um validador de cache"
Publicados: 2022-06-11Se você testar o desempenho do seu site usando GTmetrix ou Pingdom, poderá encontrar um erro que diz "especificar um validador de cache". Essa mensagem significa que você não está aproveitando o cache do navegador em toda a sua extensão. Infelizmente, isso pode afetar negativamente o desempenho do seu site.
Neste artigo, falaremos sobre o que significa o erro “especificar um validador de cache”. Também mostraremos como corrigi-lo no WordPress e otimizar o desempenho do seu site. Vamos direto ao assunto!
O que significa “Especificar um validador de cache”?
Ao habilitar o armazenamento em cache, você pode instruir os navegadores ou “clientes” dos visitantes a armazenar arquivos críticos localmente quando visitam seu site. Dessa forma, os usuários não precisarão recarregar todo o site e seus recursos toda vez que abrirem sua página.
O cache é uma prática incrivelmente comum entre os sites. É também uma das formas mais eficazes de melhorar o desempenho do seu site. No entanto, uma implementação adequada requer uma “política” de armazenamento em cache.
Essa política significa incluir cabeçalhos de cache que fornecem instruções explícitas sobre o seguinte:
- Como validar os recursos em cache
- Quais recursos o cliente deve armazenar em cache
- Por quanto tempo o cliente deve armazenar recursos em cache
- Como o cliente deve procurar alterações nos recursos em cache
O erro "especifique um validador de cache" significa que seu site não possui os cabeçalhos de cache correspondentes em suas respostas. Essa falta de instruções não significa que o cache não funcionará. No entanto, não funcionará tão eficientemente quanto poderia:
Se você encontrar esse erro ao analisar o desempenho do seu site WordPress, isso significa que seu site pode não estar carregando o mais rápido possível. No entanto, você pode corrigir esse problema usando os cabeçalhos de cache apropriados.
Como especificar um validador de cache no WordPress (3 métodos)
Existem vários tipos de validadores de cache que você pode implementar nos cabeçalhos do seu site. O servidor os adiciona automaticamente em alguns casos, como com validadores modificados pela última vez ou ETag .
Se você está se deparando com o erro “especificar um validador de cache”, os culpados mais prováveis são a falta de controle de cache ou cabeçalhos de expiração . Vamos abordar como adicionar ambos ao WordPress.
1. Adicione cabeçalhos de controle de cache manualmente
Os cabeçalhos de controle de cache permitem que você especifique a duração ou “comprimento” do cache em segundos. Você também pode usar esses cabeçalhos para indicar a quais tipos de arquivo o comprimento se aplica. A estrutura do próprio cabeçalho irá variar dependendo de qual software de servidor web você está usando.
Para servidores Apache, você precisará editar o arquivo .htacess . Você pode encontrá-lo na pasta raiz do WordPress. No entanto, recomendamos acessá-lo via File Transfer Protocol (FTP).
Abra o arquivo .htaccess , adicione o seguinte trecho de código e personalize-o:
<filesMatch ".(jpg|jpeg|png|gif|js|css)$"> Header set Cache-Control "max-age=604800, public" </filesMatch>
Esse código indica o comprimento do cache para os tipos de arquivo dentro da tag filesMatch . Dependendo de quais elementos você deseja armazenar em cache, você pode adicionar ou remover tipos de arquivo.
Se você estiver usando o NGINX, precisará modificar o arquivo de configuração principal do servidor. Você pode encontrá-lo no diretório /etc/nginx .
Abra o arquivo e adicione o seguinte código a ele:
location ~* \.(jpg|jpeg|png|gif|js|css)$ { add_header Cache-Control "public"; }
Salve as alterações em seu arquivo e feche-o. Também recomendamos adicionar cabeçalhos de expiração antes de testar novamente o desempenho do seu site.
2. Adicionar cabeçalhos de expiração manualmente
Os cabeçalhos de expiração são tipos um tanto desatualizados de validadores de cache. Na verdade, os cabeçalhos de controle de cache agora os substituem. A maioria dos navegadores modernos procurará primeiro os cabeçalhos de controle de cache , mas você pode indicar os dois validadores para cobrir suas bases.
A adição manual de cabeçalhos de expiração funciona de maneira semelhante às entradas de controle de cache no Apache e no NGINX. Para adicionar cabeçalhos de expiração no Apache, você precisará editar o arquivo .htaccess .
Aqui está um exemplo de um cabeçalho que você pode copiar e recomendamos adicioná-lo ao final do arquivo para evitar conflitos:
## 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 ##
Os cabeçalhos de expira indicam datas de expiração específicas para cada tipo de arquivo. Se você não especificar uma data para um tipo de arquivo, ele usará o valor ExpiresDefault .
Para servidores NGINX, você precisará modificar o arquivo de configuração primário. Veja como é um cabeçalho de expiração no NGINX:
location ~* \.(png|jpg|jpeg|gif)$ { expires 7d; add_header Cache-Control "public"; }
Salve as alterações no arquivo que estiver usando e pronto. Vá testar o desempenho do seu site novamente e veja se o erro “especificar um validador de cache” persiste.
3. Use um plug-in de cache do WordPress
Finalmente, você pode considerar usar um plugin para especificar validadores de cache. Alguns dos plugins de cache do WordPress mais populares permitem que você configure cabeçalhos de expiração e controle de cache para o seu site sem tocar em nenhum código.
A desvantagem de usar um plug-in de cache é que muitos hosts da web não os permitem. Na verdade, muitos hosts da Web gerenciados, em particular, geralmente não permitem que você use plug-ins de cache porque eles configuram manualmente o cache para seus usuários para obter um desempenho ideal.
A maioria dos plug-ins de cache configurará automaticamente seu site para usar cabeçalhos ETag ou Last-Modified . Caso contrário, você pode usar como padrão os validadores de controle de cache e expiração .
O W3 Total Cache, por exemplo, oferece controle total sobre qual tipo de cabeçalho de cache você pode usar:
Se o seu host permite que você use plugins de cache, recomendamos explorar várias opções para ver com qual você se sente mais confortável. Alternativamente, você pode especificar validadores de cache manualmente (não é tão difícil!).
Conclusão
O armazenamento em cache é uma das maneiras mais eficientes de diminuir os tempos de carregamento para seus usuários. Os visitantes repetidos se beneficiarão de boas políticas de cache, pois os tempos de carregamento melhorarão com os arquivos armazenados localmente. No entanto, você não obterá o melhor desempenho do site se não configurar uma política de cache específica.
Existem várias maneiras de especificar um validador de cache no WordPress se o seu servidor não o fizer por padrão (o que é relativamente comum). Dependendo das necessidades do seu host e site, adicionar cabeçalhos de controle de cache manualmente, adicionar cabeçalhos de expiração manualmente ou usar um plug-in de cache resolverá seus problemas. Se nada disso acontecer, é hora de entrar em contato com o suporte do seu host para obter assistência mais detalhada.
Você tem alguma dúvida sobre como especificar um validador de cache no WordPress? Vamos falar sobre eles na seção de comentários abaixo!
Imagem em destaque via apghedia / shutterstock.com