Cache do navegador com .htaccess

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

O cache do navegador é o que fica no computador do visitante: se o logotipo, o CSS e o JavaScript trazem instruções de «guarde isto durante algum tempo», nas visitas seguintes o navegador nem os pede outra vez. Dá-se essa instrução com cabeçalhos HTTP, e numa conta de hospedagem faz-se no arquivo .htaccess da raiz do site. O servidor usa LiteSpeed, que lê estas regras ao estilo Apache.

Primeiro: já não há quem faça isto por si?

Se o site é WordPress e o plugin LiteSpeed Cache está ativo com «Browser Cache» ligado, o plugin já escreve estas regras no .htaccess. Acrescentar as suas por cima só duplica. Veja as primeiras configurações do LiteSpeed Cache. O resto do artigo é para sites sem esse plugin: um site em PHP à mão, um site estático, ou qualquer aplicação.

Como acrescentar as regras

1 Faça uma cópia do .htaccess atual. No Gerenciador de Arquivos do cPanel, ligue «Mostrar arquivos ocultos», faça duplicar o arquivo e dê-lhe outro nome. Um erro neste arquivo deita o site abaixo.
2 Abra o .htaccess da raiz do site (a pasta do domínio) e acrescente o bloco abaixo fora de qualquer parte marcada com «# BEGIN» e «# END»: essas partes são gerenciadas por plugins e reescritas.<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/webp "access plus 1 month"
ExpiresByType image/svg+xml "access plus 1 month"
ExpiresByType text/css "access plus 1 week"
ExpiresByType text/javascript "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType font/woff2 "access plus 1 month"
</IfModule>
3 Guarde e abra o site. Se aparecer um erro 500, é um erro de sintaxe: redefina a cópia. Os tempos acima são exemplos: a escolha é sua, e depende de com que frequência muda cada tipo de arquivo.
4 Confirme nos cabeçalhos. No navegador, F12, aba Rede, recarregue a página, clique numa imagem e procure cache-control ou expires nos cabeçalhos da resposta. Ou, num terminal: curl -I https://yourcompany.com/logo.png (com o endereço de um arquivo seu).
Tipo de arquivo Muda muitas vezes? Que duração faz sentido
Imagens e logotipo Raramente. Longa.
Fontes Quase nunca. Longa.
CSS e JavaScript A cada atualização do site. Média, se os nomes ou os números de versão mudarem quando o arquivo muda.
Páginas HTML e respostas de aplicações Sim. Não ponha duração aqui. Estas páginas tratam-se pelo cache de páginas, não pelo do navegador.
Uma duração longa tem um preço: o visitante fica com a versão antiga. Se mudar um arquivo de CSS e o nome for o mesmo, quem já o tem guardado continua vendo o antigo até a duração acabar. A solução é mudar o nome ou acrescentar um número de versão ao endereço, como em estilo.css?v=2. Os temas de WordPress costumam fazer isto sozinhos; num site à mão, é consigo. Para ver o que fazer quando é o seu navegador a mostrar o antigo, veja limpar o cache.
Prefere Cache-Control a Expires? Com o módulo de cabeçalhos, a regra é Header set Cache-Control "public, max-age=2592000" dentro de um FilesMatch para as extensões que quer, e o valor é em segundos. Os tipos de arquivo que o servidor conhece estão em tipos MIME e páginas de erro.

Mexeu no arquivo e o site passou a dar erro 500? Diga-nos o domínio e a hora a que o fez, e ajudamos a repor.

Abrir um pedido de suporte

VEJA TAMBÉM

LiteSpeed Cache no WordPress: as primeiras configurações

Regras de cache num site WordPress, sem esconder o painel

Erros de um site: 500, 403, 404, 508 e o que fazer

PRODUTO RECOMENDADO

Hospedagem 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.