8 min de leitura

Cache no WordPress: o que resolve e o que não resolve

Páginas de website envolvidas por uma faixa vermelha, representando a reutilização de conteúdo em cache.

Quando um WordPress está lento, uma das primeiras recomendações costuma ser instalar um plugin de cache. Pode ser uma boa solução, mas depende de onde está a lentidão.

A cache evita repetir trabalho cujo resultado pode ser reutilizado. É particularmente eficaz em páginas públicas, mas não corrige automaticamente consultas lentas à base de dados, integrações externas ou operações do painel de administração. Para perceber o seu benefício, é necessário distinguir os diferentes tipos de cache e saber que pedidos podem utilizá-los em segurança.

O que é a cache e porque pode acelerar um website

Quando alguém visita uma página, o WordPress pode ter de executar código PHP, consultar a base de dados, processar plugins e construir o HTML enviado ao navegador. Se a página apresentar o mesmo conteúdo a centenas de visitantes, repetir todo esse trabalho pode ser desnecessário.

Com cache de página, o HTML gerado anteriormente pode ser servido de novo, reduzindo o processamento e a carga no servidor. Outras formas de cache reutilizam ficheiros, dados ou código já compilado. O princípio é semelhante, mas cada mecanismo atua numa fase diferente.

A condição essencial é que a informação guardada continue válida para quem a recebe. Uma página institucional e um carrinho de compras não podem ser tratados da mesma maneira.

Os principais tipos de cache no WordPress

CamadaO que reutilizaPrincipal limitação
Cache do navegadorImagens, CSS, JavaScript e fontes já descarregados.Não reduz diretamente as consultas à base de dados nem o processamento PHP.
Cache de páginaHTML previamente gerado, evitando executar novamente grande parte do WordPress.Exige regras para conteúdos personalizados e operações dinâmicas.
Cache de objetosDados e resultados de operações internas, incluindo certas consultas à base de dados.O benefício depende da reutilização dos dados; não corrige código ineficiente.
PHP OPcacheCódigo PHP já compilado, pronto a executar.O WordPress continua a executar PHP e a realizar operações necessárias.
Cache numa CDNFicheiros estáticos e, quando configurado, páginas HTML distribuídas pela rede.Não substitui a otimização da aplicação nem inclui automaticamente cache de páginas.

A cache de página pode funcionar através de um plugin WordPress, do servidor, de um proxy inverso ou de uma CDN. Quanto mais cedo o pedido for respondido sem carregar a aplicação, menos trabalho chega ao WordPress. Isso não significa que uma solução seja sempre superior: a compatibilidade com sessões, cookies e conteúdo dinâmico é decisiva.

Há duas distinções que merecem atenção:

Cache de objetos persistente. O WordPress inclui cache de objetos, mas, por defeito, os dados não se mantêm entre pedidos. Para os reutilizar em visitas posteriores, é necessária uma solução persistente, por exemplo com Redis ou Memcached. Pode ajudar em lojas e áreas autenticadas com consultas repetidas, mas nem todos os websites beneficiam da mesma forma.

CDN não é sinónimo de cache de página. Uma CDN pode distribuir imagens e outros ficheiros sem guardar o HTML do website. Na Cloudflare, por exemplo, as páginas HTML não são colocadas em cache por defeito; isso requer uma configuração ou funcionalidade apropriada. Ter uma CDN ativa não prova, por si só, que o WordPress deixou de gerar as páginas a cada pedido.

O que a cache melhora — e o que não resolve

A cache tende a ter maior impacto quando muitos visitantes pedem informação igual ou quando a aplicação repete operações dispendiosas. Os seus limites tornam-se mais visíveis nos pedidos específicos de cada utilizador.

SituaçãoO que se pode esperar
Artigos e páginas institucionaisA cache de página pode evitar gerar repetidamente o mesmo HTML.
Imagens e outros ficheiros estáticosO navegador e a CDN podem reduzir transferências e melhorar o carregamento.
Painel de administração (wp-admin)A cache pública de página não acelera normalmente as operações autenticadas.
Consultas complexas ou pouco reutilizadasA cache de objetos pode ajudar em alguns casos, mas a consulta pode continuar a precisar de otimização.
Finalização de compras e APIs externasA cache de página não elimina validações, operações de pagamento nem esperas por serviços externos.
Erros PHP ou infraestrutura insuficienteA cache pode aliviar parte da carga, mas não corrige a falha nem substitui os recursos necessários.

Imagine uma loja em que a página inicial e as categorias abrem rapidamente, mas a pesquisa, a finalização da compra e a gestão de encomendas continuam lentas. A cache pode estar a funcionar corretamente nas páginas públicas e, ainda assim, deixar intacto o problema nas operações dinâmicas.

Por isso, uma página rápida não demonstra que todo o WordPress está otimizado. É necessário identificar que pedidos foram servidos a partir da cache e quais exigiram processamento real.

WooCommerce e conteúdos personalizados: onde estão os riscos

Numa loja WooCommerce, o catálogo público pode beneficiar da cache de página, desde que o conteúdo apresentado seja adequado a diferentes visitantes e as alterações relevantes sejam atualizadas corretamente.

Já o carrinho, a finalização da compra (checkout) e a área de cliente apresentam informação específica de cada pessoa. A documentação oficial do WooCommerce recomenda excluir estas páginas da cache de página partilhada. A configuração também deve respeitar as sessões e os cookies da loja.

O mesmo cuidado aplica-se a websites com áreas reservadas, preços B2B, descontos por cliente ou conteúdos dependentes de permissões. Duas pessoas podem visitar o mesmo endereço e ter direito a respostas diferentes. Uma regra de cache incorreta pode apresentar preços desatualizados, provocar erros de funcionamento ou, em situações mais graves, expor informação de outro utilizador.

Pesquisa, filtros e APIs

Uma pesquisa pode variar conforme o termo introduzido, a categoria, os atributos, o preço ou o stock. Guardar páginas completas para todas as combinações nem sempre é eficaz. Pode ser mais útil melhorar as consultas à base de dados, a indexação da pesquisa ou a estrutura dos dados.

As APIs também exigem avaliação caso a caso. Algumas respostas podem ser reutilizadas durante um período definido; outras dependem de autenticação, parâmetros, stock ou informação atualizada em tempo real. A decisão deve considerar quem pode receber a resposta, quando deixa de ser válida e como será atualizada.

Quando a cache provoca conteúdo antigo ou comportamentos incorretos

Alterou uma página, atualizou um preço ou substituiu um ficheiro CSS, mas o website continua a mostrar a versão anterior? O problema pode estar numa das várias camadas de cache: navegador, plugin, servidor ou CDN. Limpar a cache de um plugin não elimina necessariamente as cópias guardadas nas restantes.

A gestão correta depende de dois conceitos:

TTL (Time to Live), ou tempo de validade:
período durante o qual uma entrada pode ser reutilizada. Um prazo longo reduz trabalho, mas pode prolongar a apresentação de conteúdo antigo se faltar um mecanismo de atualização.
Invalidação (purge):
remoção de uma entrada antes de terminar esse prazo, por exemplo quando uma página é alterada. Sempre que possível, deve incidir sobre o conteúdo afetado, em vez de eliminar indiscriminadamente toda a cache.

Não existe um TTL ideal para todos os websites. Uma página institucional, um ficheiro estático e um preço dependente de uma integração têm necessidades diferentes. O essencial é que as alterações relevantes desencadeiem a atualização das cópias certas.

Durante o desenvolvimento, a cache também pode ocultar alterações de código ou de estilos. Convém testar num ambiente adequado e distinguir uma resposta antiga de um problema real da aplicação. Se a limpeza manual resolver temporariamente a situação, mas o erro regressar, é necessário corrigir a regra ou o mecanismo de invalidação, não repetir a limpeza indefinidamente.

Como verificar se a cache está realmente a ajudar

A indicação «cache ativa» num plugin não comprova que os visitantes estejam a receber respostas guardadas. A avaliação deve comparar os pedidos adequados e observar o desempenho, sem confundir a resposta do servidor com o carregamento completo da página.

  1. Localize a lentidão. É numa página pública, na pesquisa, no painel de administração ou na finalização de uma compra? Os testes devem representar essa situação concreta.
  2. Compare condições equivalentes. Distinga visitantes anónimos de utilizadores autenticados e respostas com e sem cache, utilizando um método de teste controlado, sem desativar indiscriminadamente a cache em produção.
  3. Confirme o comportamento da camada analisada. Alguns sistemas disponibilizam cabeçalhos HTTP de diagnóstico. Na Cloudflare, CF-Cache-Status pode indicar HIT quando a resposta veio da sua cache, MISS quando não havia uma cópia disponível ou DYNAMIC quando o pedido não era elegível para essa cache.
  4. Meça o efeito. Compare o tempo até ao primeiro byte (TTFB), o carregamento da página e, quando possível, o trabalho efetuado pelo servidor, incluindo PHP e base de dados.

Um MISS na CDN não significa necessariamente que o WordPress teve de gerar a página: outra camada, no servidor, pode ter respondido a esse pedido. Da mesma forma, um HIT é uma confirmação sobre aquela cache, não uma garantia de que todas as funcionalidades do website são rápidas.

É necessário instalar um plugin de cache?

Não obrigatoriamente. O alojamento pode já disponibilizar cache de página no servidor, cache de objetos persistente ou integração com uma CDN. Um plugin pode facilitar a gestão destas funções e a atualização das páginas, mas acrescentá-lo sem conhecer a infraestrutura pode criar regras sobrepostas e dificultar o diagnóstico.

Também não é necessário escolher entre cache no servidor e CDN: as camadas podem complementar-se. O importante é perceber qual delas responde a cada pedido, como são coordenadas as atualizações e que áreas devem permanecer dinâmicas.

Antes de alterar configurações, vale a pena identificar o sintoma, confirmar que tipos de cache já estão ativos e medir a diferença entre pedidos guardados e não guardados. Só depois faz sentido ajustar tempos de validade, exclusões ou mecanismos de invalidação.

Conclusão

A cache é uma ferramenta eficaz para reduzir trabalho repetido e melhorar o desempenho de muitas páginas WordPress. O seu benefício, porém, depende do tipo de pedido e da informação que pode ser reutilizada com segurança.

Quando a lentidão está no painel de administração, numa operação do WooCommerce ou numa integração externa, o diagnóstico tem de ir além da cache. A solução adequada começa por identificar onde está o atraso, não por instalar mais um plugin.

A cache está a resolver a lentidão?

Páginas de website envolvidas por uma faixa vermelha, representando a reutilização de conteúdo em cache.

Se o seu WordPress ou WooCommerce continua lento, a MDigital ajuda a identificar as causas e a avaliar a configuração de cache antes de recomendar alterações.

Autor

Equipa MDigital

Especialistas em WordPress, WooCommerce, IA & Automação e Marketing Digital

Fale-nos sobre o seu projeto

Conte-nos o que pretende criar ou melhorar.

Prefere explorar primeiro? Conhecer preços e simulador →