Redação: 4SYSTEMPublicado em Atualizado em
9 min de leitura
Um cache WordPress eficiente reutiliza conteúdo público sem reutilizar os próprios dados do visitante. Um preço antigo, uma cesta que parece vazia ou uma forma rejeitada não pode necessariamente ser corrigida esvaziando tudo. Você precisa identificar a resposta envolvida, a camada que a mantém e as condições sob as quais ela varia.
A configuração correta não é “cache tudo”. Consiste em manter o que pode ser compartilhado, isolar sessões e planejar uma limpeza após modificação. A validação diz respeito ao conteúdo recebido e às possíveis ações, não apenas à velocidade de exibição.
Identifique o que cada camada mantém
Quatro camadas podem ocorrer na mesma visita. Distinguí-los evita pedir a uma extensão que corrija um problema que ela não controla.
- Navegador : Mantém as respostas localmente, incluindo arquivos e às vezes HTML. Este cache pertence ao cliente, ao contrário de um cache partilhado entre visitantes.[11]
- Página : uma extensão onde o servidor mantém uma resposta HTML já produzida. Se contiver um nome ou um cesto, a sua reutilização deve ser controlada.
- Assunto : o aplicativo reutiliza dados intermediários, em vez da página inteira. Descubra quais objetos estão armazenados, com quais chaves e quais invalidações. Não presuma que um defeito visual venha desta camada.
- CDN : Um serviço na frente da hospedagem pode reter respostas independentemente do cache da página. Uma limpeza em WordPress não prova que esta cópia desapareceu.
Observe a extensão ativa, as opções de host, o CDN possível e o cache de objeto persistente. Para cada camada, identifique quem define as exclusões e quem aciona a eliminação. Não sobreponha dois foscos de página sem saber como eles se encaixam.
Cache WordPress: leia as diretivas sem contradição
Três diretivas HTTP atendem a necessidades diferentes:
no-cachepermite armazenamento, mas requer revalidação antes da reutilização pelo cache HTTP. Isso não significa “sem cópias”.[11]no-storepede para não armazenar a resposta. Porém, não exclui respostas antigas já mantidas para esta URL: uma correção também deve processar essas cópias.[11]privatereserva armazenamento para caches privados, principalmente para o navegador. Não é criptografia nem controle de acesso à conta.[11]
Para uma resposta personalizada que precisa ser revalidada, Cache-Control: no-cache, private é um esquema documentado pelo MDN.[11] Não reserve armazenamento para respostas que sua política exige que não sejam retidas.
Um cache gerenciado pode seguir suas próprias regras: controlar a documentação e o comportamento do CDN ou do servidor, não apenas Cache-Control.[11] Por fim, um cookie não torna uma resposta privada automaticamente.[11]
Excluir rotas dinâmicas e sessões mestre
WooCommerce solicita a exclusão do carrinho de compras, validação do pedido e conta do cliente do cache, pois essas páginas exibem informações específicas do visitante.[10] Verifique os URLs configurados, suas variantes de idioma e as etapas da conta. Uma regra destinada apenas /cart/ é insuficiente se o seu carrinho usar outro endereço.
Nossa abordagem consiste então em rastrear as variações: conexão, cesta ativa, moeda ou preço de acordo com o perfil, caso existam essas funções. Para HTML compartilhado, opte por uma solução alternativa quando a sessão personalizar a resposta. Uma variação mais refinada requer chaves documentadas e uma receita demonstrando o isolamento.
Biscoitos woocommerce_cart_hash, woocommerce_items_in_cart e wp_woocommerce_session_ estão entre os sinais descritos por WooCommerce.[10] Configurar seu processamento após integração; não os remova para aumentar artificialmente as respostas servidas do cache.
A exclusão de _wc_session_ também é mencionado para sistemas que oferecem cache de banco de dados, dependendo da extensão ou hospedagem.[10] Este conselho condicional não justifica a desativação de qualquer cache de objeto.
Controle também a minicesta integrada às páginas públicas. Se este bloco for renovado separadamente, verifique a resposta que o alimenta em ambos os perfis: uma página excluída corretamente não protege um fragmento personalizado armazenado em outro lugar.
Tabela de diagnóstico por camada e cenário de usuário
Aqui está uma grade de trabalho, não uma lista de incidentes observados. Os sintomas são cenários de diagnóstico; a evidência indica o que sua receita deve estabelecer.
| Cenário do usuário | Camada a examinar | Controle de prioridade | Decisão e prova esperadas |
|---|---|---|---|
| Visitante anônimo, preço antigo | Página e CDN | Compare o registro gravado, o HTML recebido e a resposta após a limpeza direcionada | Invalidar as cópias afetadas; mantenha o preço e as respostas esperados. |
| Preço antigo em um navegador | Navegador | Comparar a mesma rota em um novo perfil | Examinar frescor HTTP; preservar cabeçalhos e comparação. |
| Cesta de outro visitante | Página e CDN | Sessões de teste A e B separadamente | Excluir jornada personalizada; provar que cada sessão mantém seus artigos. |
| Sessão inconsistente apesar de HTML recente | Objeto ou banco de dados | Revise chaves e exclusões documentadas | Ajustar a regra identificada; anexe sua configuração e o teste. |
| Formulário recusado após retornar à página | Página e navegador | Verifique possível token e envie resposta | Adapte a atualização ou ignore o cache; mantenha uma remessa de teste aceita. |
| Adicionar ao carrinho via URL | Servidor e CDN | Verifique a regra em ?add-to-cart= | Forneça uma solução alternativa adequada, como no exemplo do Varnish documentado por WooCommerce.[10] |
Verifique a ordem e guarde o comprovante de validação
Antes de qualquer modificação, prepare uma planilha de receitas: URL, cenário, estado da conexão, conteúdo esperado, camadas ativas e mudança planejada. Use contas de teste e detalhes de contacto fictícios. Observe os nomes dos cookies úteis, nunca seus valores ou tokens em um documento compartilhado.
- Estabelecer referência. Verifique os dados e o comportamento salvos sem reutilização pelos caches afetados. Em uma pré-produção protegida, teste primeiro o caminho dinâmico e depois ative as camadas separadamente. Uma preparação com regras de cache diferentes não valida a produção.
- Seguir resposta. Examine o navegador, depois o CDN, o cache da página e, finalmente, os objetos, se necessário. Observe os cabeçalhos e sinalizadores de provedor disponíveis. A ausência de um indicador não prova a ausência de cache.
- Decida e purgue. Corrija a camada identificada, limpe os URLs afetados e verifique as variantes. Organizar também a invalidação após alteração de preço, conteúdo ou configuração; não confie apenas no sangramento manual.
- Comprove o isolamento. Abra dois perfis de navegador separados, A e B. Adicione artigos diferentes, navegue até a conta e envie os formulários permitidos. Duas guias do mesmo perfil não constituem duas sessões isoladas. Em seguida, repita essas etapas após reutilizar o cache e depois de desconectar. Um teste bem-sucedido imediatamente após a eliminação não verifica todas as respostas retidas.
Arquive a configuração retida, as capturas editadas, as respostas relevantes e a decisão de aceitação. Não valide se os dados passam de uma sessão para outra, mesmo quando o carregamento parece melhor.
Caso fictício: preço antigo, cestas ainda distintas
Neste caso explicitamente fictício, uma loja exibe um preço antigo em uma ficha de produto, enquanto a cesta deve permanecer específica para cada visitante. Comece verificando o preço registrado e a resposta do público: uma cópia desatualizada HTML não é um erro de sessão.
Se o registro público for uma cópia obsoleta, direcione sua invalidação no cache de páginas e no CDN. Se o preço variar por conta, trate essa variação como personalizada, sem postar sua resposta em um cache comum.
A validação esperada combina duas observações: o formulário apresenta o preço de referência e as cestas A e B permanecem distintas após navegar e retornar ao formulário. Um preço corrigido não é suficiente para aceitar a configuração.
Formulários: exibição separada, envio e dados pessoais
Para cada formulário, identifique a página de exibição, o destino de envio, quaisquer tokens e dados pré-preenchidos. Nossa regra de receita é testar a exibição, o envio, a mensagem de confirmação e uma nova tentativa após a navegação. O HTML público e a resposta personalizada não devem receber automaticamente a mesma política.
Caso a extensão gere um token dependendo da sessão ou do seu período de validade, verifique seu mecanismo de renovação. Na ausência de compatibilidade documentada, ignore o cache da página nesta rota; não remova a proteção para tornar o formulário utilizável. Exclua respostas de envio que contenham dados pessoais ou estado da sessão do cache compartilhado.
Essas configurações não demonstram conformidade com o GDPR: elas não verificam a base legal do formulário nem sua política de retenção. Uma vez validada a receita funcional, nosso Guia Core Web Vitals ajuda a distinguir carregamento, interatividade e estabilidade antes de outras correções.
Perguntas frequentes
Por que a redefinição de senha volta ao login?
WooCommerce relata que uma página de conta em cache pode causar esse loop, especialmente se o cache do servidor não a excluir.[10] Solicite verificação ao host e teste novamente o link com uma conta fictícia, sem uma sessão já conectada. Inclua as etapas de redefinição na exclusão da jornada da conta, não apenas na tela principal.
Podemos manter CSS arquivos em cache na conta do cliente?
Sim, arquivos estáticos imutáveis são particularmente adequados para armazenamento em cache.[11] O HTML da conta e seus recursos públicos não têm a mesma política. Verifique se o arquivo permanece o mesmo para todos e não contém dados de sessão. Quando um arquivo for alterado, controle seu versionamento ou invalidação, sem desabilitar indiscriminadamente o cache de todos os elementos.
Tudo deve ser eliminado após uma modificação do produto?
Não sistematicamente. Liste as páginas que incluem os dados modificados: arquivo, categoria, pesquisa ou bloco de recomendações, dependendo do seu site. Uma eliminação direcionada é relevante se essas dependências forem conhecidas e cobertas pela integração. Caso contrário, escolha uma purga documentada maior e refaça a receita; não presuma que apenas o plugue muda.
Sua próxima ação: formalizar uma receita
Escolha uma ficha de produto, a cesta e um formulário de teste. Preencha a grade, identifique o responsável por cada camada e exija comprovação de isolamento antes de manter uma configuração. Se as regras de hospedagem, CDN e WordPress se sobrepuserem, o serviços web de 4SYSTEM pode ajudá-lo a enquadrar o diagnóstico e a validação.
Fontes
- How to configure caching plugins for WooCommerce | WooCommerce developer docs (acessado em 2026-10-08)
- HTTP caching - HTTP | MDN (acessado em 2026-10-08)