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

Mudou o CSS, o logótipo ou um script, e você vê a novidade mas os visitantes continuam a ver a versão antiga. A causa é a cache do navegador deles: o ficheiro 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 carreguem em Ctrl+F5. É dar ao ficheiro novo um endereço novo.

Primeiro: confirmar que é isto

1 Abra o site numa janela privada. Se aí aparece o novo e na janela normal o antigo, é cache do navegador.
2 Na janela normal, recarregue com Ctrl+Shift+R (ignora a cache). Se aparece o novo, é cache, de novo.
3 Para ver quanto tempo o ficheiro fica guardado: F12, separador Network, clique no ficheiro 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 a cache: a do navegador, a do computador e a do site.

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

Modo Exemplo Nota
Mudar o nome do ficheiro logo-2026.png em vez de logo.png O mais seguro. Serve para imagens e fontes. Lembre-se de actualizar 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 a sua cache tem prazos muito longos e os nomes têm versão ou impressão digital, pode dizer ao navegador que o ficheiro nunca muda com Cache-Control: public, max-age=..., immutable. Só o faça quando o nome muda de facto 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 actualizar. Se editou o ficheiro à mão, mude o número, ou acrescente-lhe uma versão no sítio onde o ficheiro é carregado.
2 Se o plugin de cache junta e minifica os ficheiros, 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 logótipo ou uma imagem, envie-a com outro nome em vez de substituir a antiga. Substituir o ficheiro na biblioteca de media 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 ficheiros com nome novo. Se ela própria for guardada por muito tempo, os visitantes nunca saberão que o nome mudou. A cache do site e a cache do navegador são coisas diferentes.
Quem já tem o ficheiro antigo guardado só se salva quando o prazo acabar. Para um defeito grave já em produção, o único atalho é pôr o ficheiro novo com outro nome e mudar a página. Planeie isto antes de pôr prazos muito longos.

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

Abrir um pedido de suporte

VEJA TAMBÉM

Cache do navegador com .htaccess

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

Cloudflare: quando ajuda e a 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 5.940,00 Kz/mês (plano de 3 anos, com cupão)

Ver planos
  • 0 Utilizadores acharam útil
Esta resposta foi útil?