Um dos erros comuns que vemos proprietários de sites WordPress cometerem é negligenciar o cache do navegador. Seu site pode estar perdendo visitantes devido a tempos de carregamento lentos das páginas. Mesmo após otimizar imagens e atualizar a hospedagem, seu site ainda pode parecer lento até que você adicione cabeçalhos de expiração.
Os cabeçalhos de expiração funcionam dizendo aos navegadores dos visitantes para armazenarem os arquivos do seu site, como imagens, CSS e JavaScript, por um período específico. Isso significa que, quando alguém visita várias páginas do seu site, o navegador não precisa baixar tudo novamente.
O resultado são tempos de carregamento significativamente mais rápidos para visitantes recorrentes, o que melhora a experiência do usuário e pode impulsionar seu ranking de busca.
Implementamos cabeçalhos de expiração em muitos sites WordPress e refinamos o processo para dois métodos confiáveis que funcionam em qualquer configuração de hospedagem. Se você se sente confortável editando código ou prefere uma solução de plugin, mostraremos como adicionar cabeçalhos de expiração ao seu site WordPress.

Como os Cabeçalhos de Expiração são Usados no WordPress?
Na primeira vez que alguém visita uma página da web no seu site WordPress, todos os arquivos são carregados um por um. Todas essas requisições HTTP entre o navegador e seu servidor de hospedagem WordPress aumentam o tempo de carregamento da página da web.
O cache do navegador armazena alguns ou todos esses arquivos no computador do visitante. Isso significa que, da próxima vez que eles visitarem a página, os arquivos podem ser carregados do próprio computador deles, impulsionando o desempenho do seu site WordPress e melhorando a experiência do usuário.
Agora, você pode estar se perguntando como os navegadores sabem quais arquivos salvar e por quanto tempo mantê-los. É aí que entram os 'cabeçalhos de expiração'.
As regras sobre quais arquivos salvar e por quanto tempo salvá-los são definidas usando cabeçalhos de expiração ou cabeçalhos de controle de cache. Neste artigo, focaremos nos cabeçalhos de expiração porque eles são mais simples de configurar para a maioria dos usuários.
Os cabeçalhos de expiração definem uma data de expiração para cada tipo de arquivo armazenado no cache do navegador. Após essa data, os arquivos serão recarregados do seu servidor para fornecer aos visitantes a versão mais recente da página.
Mostraremos como adicionar cabeçalhos de expiração usando dois métodos diferentes. O primeiro método é mais fácil e recomendado para a maioria dos usuários. Você pode clicar nos links abaixo para pular para a seção de sua preferência:
- Adicionar Cabeçalhos de Expiração com o Plugin WordPress WP Rocket
- Adicionar Cabeçalhos de Expiração no WordPress Usando Código
- Perguntas Frequentes Sobre Cabeçalhos de Expiração no WordPress
- Tutorial em Vídeo
Método 1: Adicionar Cabeçalhos de Expiração com o Plugin WordPress WP Rocket
WP Rocket é o plugin de performance para WordPress mais amigável para iniciantes no mercado. Uma vez ativado, ele funciona imediatamente para melhorar a velocidade do seu site sem a necessidade de mexer em configurações complicadas como muitos outros plugins de cache.
O WP Rocket é um plugin premium, mas a melhor parte é que todos os recursos estão incluídos no plano mais básico.

A primeira coisa que você precisa fazer é instalar e ativar o plugin WP Rocket. Para mais detalhes, veja nosso guia passo a passo sobre como instalar um plugin do WordPress.
Uma vez instalado e ativado, o WP Rocket ativará automaticamente o cache do navegador. Por padrão, ele adiciona cabeçalhos de expiração e cabeçalhos de controle de cache com as melhores configurações para acelerar seu site WordPress.
É tudo o que você precisa fazer. Se quiser saber mais sobre o plugin, consulte nosso guia sobre como instalar e configurar corretamente o WP Rocket no WordPress.
Se você preferir usar um plugin de cache gratuito para adicionar cabeçalhos de expiração ao seu site, recomendamos que você dê uma olhada no W3 Total Cache.
O W3 Total Cache oferece alguns dos mesmos recursos que o WP Rocket, mas não é tão amigável para iniciantes. Ele também não oferece todos os recursos que você obtém em um plugin de desempenho tudo-em-um como o WP Rocket. Você terá que habilitar manualmente os cabeçalhos de expiração, pois ele não os habilita automaticamente.
Método 2: Adicionar Cabeçalhos de Expiração no WordPress Usando Código
O segundo método para adicionar cabeçalhos de expiração no WordPress envolve adicionar um trecho de código aos seus arquivos do WordPress. Não recomendamos para iniciantes, pois um erro no código pode causar erros graves e quebrar seu site.
Antes de fazer essas alterações, recomendamos que você primeiro faça um backup do seu site WordPress. Para mais detalhes, veja nosso guia sobre como fazer backup e restaurar seu site WordPress.
Dito isso, vamos ver como adicionar cabeçalhos de expiração adicionando código ao WordPress.
Determine se o seu site está rodando Apache ou Nginx
Primeiro, você precisa descobrir se o seu site está usando servidores Apache ou Nginx. Você precisa navegar até o seu site, clicar com o botão direito na página e selecionar a opção 'Inspecionar'.

Em seguida, você precisa clicar na aba 'Network' (Rede) na parte superior da página.
Pode ser necessário atualizar a página para que os resultados sejam carregados.

Depois disso, você pode clicar no nome do seu domínio no topo da coluna 'Nome'.
Em seguida, você deve rolar para baixo até a seção 'Cabeçalhos de Resposta' e verificar um item chamado 'server'.

Isso mostrará qual servidor web está sendo usado. Neste caso, o site está rodando em um servidor Nginx.
Agora que você sabe qual servidor web seu site está usando, use os links abaixo para pular para a seção correspondente:
Como Adicionar Cabeçalhos de Expiração no Apache
Para adicionar cabeçalhos de expiração a um servidor Apache, você precisa adicionar código ao seu arquivo .htaccess.
Para editar este arquivo, você precisa se conectar à sua conta de hospedagem WordPress com um cliente FTP ou a ferramenta de gerenciamento de arquivos do seu host. Você encontrará seu arquivo .htaccess na pasta raiz do seu site.

Observação: Às vezes, o arquivo .htaccess pode estar oculto. Se precisar de ajuda para encontrá-lo, consulte nosso guia sobre por que você não consegue encontrar o .htaccess no seu site WordPress.
Em seguida, você precisa adicionar cabeçalhos de expiração para ativar o cache do navegador. Isso informa ao navegador da web por quanto tempo ele deve armazenar os recursos do seu site antes que sejam excluídos.
Você pode adicionar o seguinte código perto do topo do seu arquivo .htaccess:
## 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 image/svg "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 3 days"
</IfModule>
## EXPIRES HEADER CACHING ##
Esses valores devem funcionar bem para a maioria dos sites, mas você pode ajustar os períodos de tempo se suas necessidades forem diferentes.
Observe que o código define datas de expiração de cache diferentes com base no tipo de arquivo. As imagens são armazenadas em cache por mais tempo do que HTML, CSS, Javascript e outros tipos de arquivo porque geralmente permanecem as mesmas.
Como Adicionar Cabeçalhos de Expiração no Nginx
Se você estiver usando um servidor Nginx para hospedar seu blog WordPress, precisará editar o arquivo de configuração do servidor para adicionar cabeçalhos de expiração.
Como você edita e acessa este arquivo depende do seu host, portanto, você pode entrar em contato com seu provedor de hospedagem se precisar de ajuda para acessar o arquivo.
Em seguida, você precisa adicionar o seguinte código:
location ~* \.(jpg|jpeg|gif|png|svg)$ {
expires 365d;
}
location ~* \.(pdf|css|html|js|swf)$ {
expires 3d;
}
Este código definirá os tempos de expiração para os diferentes tipos de arquivo. Observe novamente que as imagens são armazenadas em cache por mais tempo do que HTML, CSS, JS e outros tipos de arquivo, pois as imagens geralmente permanecem as mesmas.
Perguntas Frequentes Sobre Cabeçalhos de Expiração no WordPress
Abaixo estão algumas das perguntas mais comuns que recebemos sobre a implementação de cabeçalhos de expiração em sites WordPress. Estas devem ajudar a esclarecer quaisquer preocupações que você possa ter sobre o processo.
1. O que são exatamente os cabeçalhos expires e por que preciso deles?
Cabeçalhos expires são instruções que dizem aos navegadores da web por quanto tempo armazenar (cache) os arquivos do seu site localmente no computador de um visitante. Quando alguém visita seu site, arquivos como imagens, CSS e JavaScript são baixados e armazenados temporariamente. Com cabeçalhos expires, visitantes recorrentes não precisam baixar esses arquivos novamente até que expirem, o que acelera o tempo de carregamento do seu site.
2. Adicionar cabeçalhos expires quebrará meu site WordPress?
Quando implementados corretamente, os cabeçalhos expires não quebrarão seu site. No entanto, se você estiver usando o método de código manual e cometer um erro no seu arquivo .htaccess, isso pode causar problemas. É por isso que sempre recomendamos fazer backup do seu site antes de fazer qualquer alteração e usar um plugin como WP Rocket para iniciantes, pois ele cuida de tudo automaticamente, sem riscos.
3. Por quanto tempo devo definir meus cabeçalhos expires para diferentes tipos de arquivo?
Recomendamos definir tempos de expiração mais longos para arquivos que raramente mudam, como imagens (1 ano), e tempos mais curtos para arquivos que são atualizados com mais frequência, como CSS e JavaScript (1 mês). Arquivos HTML devem ter os tempos de cache mais curtos (alguns dias), pois seu conteúdo muda regularmente. Os exemplos de código em nosso artigo usam esses prazos comprovados que funcionam bem para a maioria dos sites WordPress.
4. Posso usar cabeçalhos expires com qualquer provedor de hospedagem WordPress?
Sim, os cabeçalhos expires funcionam com a maioria dos provedores de hospedagem, mas o método de implementação depende do tipo do seu servidor. A maioria das hospedagens compartilhadas usa servidores Apache, o que significa que você adicionará código ao seu arquivo .htaccess. Alguns hosts usam servidores Nginx, que exigem a edição do arquivo de configuração do servidor. Se você não tiver certeza sobre o tipo do seu servidor, mostraremos como verificar isso no artigo, ou você pode entrar em contato com seu provedor de hospedagem para obter assistência.
5. Preciso de cabeçalhos expires se já estiver usando um CDN?
Embora CDNs (Redes de Distribuição de Conteúdo) ajudem a acelerar seu site servindo arquivos de locais mais próximos aos seus visitantes, os cabeçalhos expires ainda oferecem benefícios adicionais. Eles trabalham em conjunto com CDNs para reduzir ainda mais as solicitações do servidor e melhorar os tempos de carregamento.
Muitos serviços de CDN também têm suas próprias regras de cache, mas definir cabeçalhos expires no seu servidor de origem garante um comportamento de cache consistente em todos os cenários.
6. Como posso testar se meus cabeçalhos expires estão funcionando corretamente?
Você pode testar seus cabeçalhos de expiração usando ferramentas online como GTmetrix, Google PageSpeed Insights ou Pingdom. Essas ferramentas analisarão seu site e mostrarão se o cache do navegador está configurado corretamente. Você também pode usar as ferramentas de desenvolvedor do seu navegador para verificar os cabeçalhos de resposta e ver se os cabeçalhos expires ou cache-control estão sendo enviados com seus arquivos.
Tutorial em Vídeo
Esperamos que este tutorial tenha ajudado você a aprender como adicionar cabeçalhos de expiração no WordPress. Você também pode querer ver nosso guia sobre como corrigir facilmente o aviso ‘Aproveitar o cache do navegador’ no WordPress ou nossa seleção especializada dos melhores serviços de CDN para WordPress.
Se você gostou deste artigo, por favor, inscreva-se em nosso Canal do YouTube para tutoriais em vídeo do WordPress. Você também pode nos encontrar no Twitter e no Facebook.


Mohan Hridoy
O 1º Método é muito fácil. Obrigado wpbeginner por este tutorial
WPBeginner Support
Glad to hear and you’re welcome!
Admin
Dennis Muthomi
Obrigado por este guia completo sobre como adicionar cabeçalhos de expiração no WordPress! Eu estava procurando maneiras de melhorar o desempenho do meu site, e este artigo fornece passos claros e acionáveis.
Eu aprecio particularmente a explicação de como os cabeçalhos de expiração funcionam e seu impacto nos tempos de carregamento. Os dois métodos que você descreveu atendem a diferentes níveis de habilidade, o que é ótimo. Para mim, o plugin WP Rocket parece uma excelente solução.
Estou implementando essas técnicas AGORA MESMO!
Jiří Vaněk
Gostaria de perguntar onde pode estar o erro. Tenho os cabeçalhos de Expiração definidos no htacess. As diretivas estão corretas. Mesmo assim, o AIO SEO continua me dizendo que eles não estão definidos. Onde devo procurar a seguir?
WPBeginner Support
Recomendamos que você entre em contato com o suporte da AIOSEO para garantir que não haja um problema de detecção com a configuração específica do seu site.
Admin
Jiří Vaněk
Obrigado pela dica. Entrei em contato com o suporte da AIO SEO porque ainda não resolvi o problema e, mesmo com as configurações corretas, o plugin continua relatando um erro. Espero que eles consigam identificar a raiz do problema. Obrigado por dedicar seu tempo para ajudar com meu problema.
Ivan Gneiding
Adicionei o código ao .htaccess (servidor apache), mas o pingdom.com ainda reclama sobre os cabeçalhos de expiração. O que mais devo fazer?
Obrigado desde já.
Arthur Morehead
As ferramentas de desenvolvedor não revelaram meu servidor
Greg Murch
Adorei o código para o .htaccess, menos provável de deixar o site lento com mais plugins.
Lasha
Muitas pessoas têm problemas com cabeçalhos de expiração e este é um ótimo guia. Mas para esse tipo de coisa, eu sempre prefiro plugins a injeções manuais de código.