Os visitantes ainda veem o CSS ou o logotipo antigo: nomes versionados e “cache busting”

Velocidade, Cache e CDN··· 247 visualizações· 4 min de leitura

Mudou o CSS, o logotipo ou um script, e você vê a novidade mas os visitantes continuam vendo a versão antiga. A causa é o cache do navegador deles: o arquivo foi guardado com a indicação “mantenha isto durante algum tempo”, e enquanto esse tempo não acabar o navegador nem pergunta ao servidor se mudou. A cura não é pedir aos visitantes que pressionem Ctrl+F5. É dar ao arquivo novo um endereço novo.

Primeiro: confirmar que é isto

1 Abra o site numa janela anônima. Se aí aparece o novo e na janela normal o antigo, é cache do navegador.
2 Na janela normal, recarregue com Ctrl+Shift+R (ignora o cache). Se aparece o novo, é cache, de novo.
3 Para ver quanto tempo o arquivo fica guardado: F12, aba Network, clique no arquivo e leia nos cabeçalhos da resposta o cache-control ou o expires.
4 Se há um serviço à frente do site (como o Cloudflare) ou um plugin de cache, limpe-os também, pela ordem: o site, o serviço, o navegador. Veja limpar o cache: a do navegador, a do computador e a do site.

A cura: mudar o endereço quando o arquivo muda

Modo Exemplo Nota
Mudar o nome do arquivo logo-2026.png em vez de logo.png O mais seguro. Serve para imagens e fontes. Lembre-se de atualizar a página que o chama.
Acrescentar um número de versão style.css?v=7 O WordPress faz isto sozinho com o ?ver= dos temas e dos plugins bem escritos. Alguns serviços de cache ignoram o que vem depois do ponto de interrogação.
Nome com impressão digital style.3f9a1c.css Gerado por ferramentas de construção. O nome muda sempre que o conteúdo muda.

Se o seu cache tem prazos muito longos e os nomes têm versão ou impressão digital, pode dizer ao navegador que o arquivo nunca muda com Cache-Control: public, max-age=..., immutable. Só o faça quando o nome muda de fato com o conteúdo. Para escolher durações, veja cache do navegador com .htaccess.

Em WordPress

1 Se foi o CSS do tema que mudou: o tema deve subir o número de versão ao atualizar. Se editou o arquivo à mão, mude o número, ou acrescente-lhe uma versão no lugar onde o arquivo é carregado.
2 Se o plugin de cache junta e minifica os arquivos, ele gera um nome novo quando o conteúdo muda. Use “Purge All” depois de alterar. Veja minificar CSS e JavaScript sem partir o site.
3 Se trocou o logotipo ou uma imagem, envie-a com outro nome em vez de substituir a antiga. Substituir o arquivo na biblioteca de mídia pelo mesmo nome é o que deixa o antigo preso nos navegadores.
A própria página (HTML) não deve ter cache longa no navegador. É ela que aponta para os arquivos com nome novo. Se ela própria for guardada por muito tempo, os visitantes nunca saberão que o nome mudou. O cache do site e o cache do navegador são coisas diferentes.
Quem já tem o arquivo antigo guardado só se salva quando o prazo acabar. Para um defeito grave já em produção, o único atalho é pôr o arquivo novo com outro nome e mudar a página. Planeje isto antes de pôr prazos muito longos.

Mudou o arquivo e uma parte dos visitantes continua vendo o antigo? Envie-nos o endereço do arquivo e o que o cabeçalho cache-control diz.

Abrir um pedido de suporte

VEJA TAMBÉM

Cache do navegador com .htaccess

Limpar o cache: a do navegador, a do computador e a do site

Cloudflare: quando ajuda e o cache que engana

Planos de hospedagem e o que cada um inclui

PRODUTO RECOMENDADO

Alojamento de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.