Pular para o conteúdo

Meu post sumiu da home do WordPress — e a culpa era de dois plugins de cache

por Lucas Almeida 5 min de leitura

Em setembro deste ano publiquei um post no DigitalRadar e ele simplesmente não apareceu na home. Nem na página da categoria. O post existia — abrindo a URL direto, ele carregava normalmente. Mas a home continuava mostrando a lista antiga, como se nada tivesse sido publicado.

O detalhe que entregou o problema foi este: quando eu acessava digitalradar.com.br/?lang=pt, o post aparecia. Na URL limpa, digitalradar.com.br, não aparecia. Mesmo conteúdo, mesmo servidor, duas respostas diferentes dependendo de ter ou não uma query string.

O que esse sintoma significa

Quando a mesma página responde diferente com e sem query string, o problema quase nunca está no WordPress. Está em alguma camada de cache antes dele — e a query string está fazendo essa camada ser ignorada.

É o comportamento padrão de cache de página em arquivo: ele guarda uma cópia estática de cada URL “limpa” e serve esse arquivo direto, sem nem acordar o PHP. URL com ?alguma-coisa normalmente não é tratada como a mesma página, então escapa do arquivo salvo e chega ao WordPress de verdade.

Ou seja: o que eu via com ?lang=pt era o site real. O que eu via na URL limpa era uma fotografia antiga.

O diagnóstico

O site roda na Hostinger, que usa LiteSpeed. Eu tinha o plugin LiteSpeed Cache ativo — e, por herança de uma configuração antiga, também o WP Fastest Cache.

Abri o Gerenciador de Arquivos e fui em wp-content/cache/. Lá estava a prova:

wp-content/cache/all/index.html          ← gerado em 4 de junho
wp-content/cache/all/categoria/noticias/index.html
wp-content/cache/wpfc-minified/

O WP Fastest Cache salvava uma cópia estática de cada URL em wp-content/cache/all/<url>/index.html e servia esse arquivo para qualquer visita sem query string. A home que eu estava vendo tinha sido gerada meses antes.

E o problema central: quando eu publicava um post, quem recebia o aviso e limpava o próprio cache era o LiteSpeed. O WP Fastest Cache não era notificado e continuava servindo o arquivo velho. Dois plugins de cache de página no mesmo site não se falam — cada um acha que é o único.

A correção, na ordem que importa

A ordem aqui não é detalhe: se você apagar a pasta de cache antes de desativar o plugin, ele recria tudo em segundos.

  1. Plugins → desativar e excluir o WP Fastest Cache. Desativar só não basta; a desinstalação é que remove as regras que ele escreveu.
  2. Apagar as pastas que sobraram: wp-content/cache/all e wp-content/cache/wpfc-minified. Plugin removido costuma deixar os arquivos para trás.
  3. Limpar o .htaccess. O WP Fastest Cache escreve um bloco próprio de regras de reescrita. Guarde uma cópia do arquivo antes de editar — eu salvei a minha como .htaccess.wpfc-backup — e remova apenas o bloco dele, deixando intactos o bloco LSCACHE e o bloco WordPress.
  4. LiteSpeed Cache → Purge All. Só agora, com um plugin de cache apenas, a limpeza vale para o site inteiro.

Como confirmar que resolveu

Publique um post de teste e, numa janela anônima, abra a home pela URL limpa. Se o post aparecer de primeira, acabou. A janela anônima importa porque o cache do seu navegador pode mascarar o resultado.

Dá para checar pelo cabeçalho da resposta também. Em servidor LiteSpeed, a resposta traz um x-litespeed-cache com hit ou miss. Se aparecer cabeçalho de outro sistema de cache junto, ainda há dois na jogada.

No terminal:

curl -sI https://seusite.com.br/ | grep -i cache

A regra que ficou

Nunca manter dois plugins de cache de página no mesmo site. Cache de objeto, de navegador e CDN convivem bem com um plugin de página — mas dois plugins gerando HTML estático vão, mais cedo ou mais tarde, servir versões diferentes do seu site.

Se a sua hospedagem já é LiteSpeed (Hostinger, por exemplo), use o LiteSpeed Cache e só ele. Ele cobre cache de página, cache de navegador, minificação, lazy-load e conversão para WebP. Qualquer plugin adicional de cache de página vira concorrente, não reforço.

Perguntas frequentes

Por que o post aparecia com ?lang= na URL e não na URL limpa?

Porque o cache em arquivo guarda uma cópia só das URLs sem query string. Com a query string, a requisição escapava do arquivo estático e chegava ao WordPress, que devolvia a home atualizada.

Desativar o plugin resolve, ou preciso excluir?

Precisa excluir. Desativar interrompe a geração de novos arquivos, mas os arquivos já salvos e as regras no .htaccess continuam lá e seguem sendo usados.

Posso apagar a pasta wp-content/cache inteira?

Pode — ela é reconstruída sozinha. O cuidado é fazer isso depois de remover o plugin, senão ele recria os arquivos na mesma hora.

Como sei se tenho mais de um plugin de cache?

Olhe a lista de plugins ativos procurando por “cache”, “speed”, “optimize” ou “rocket”, e confira se wp-content/cache/ tem subpastas de sistemas diferentes. Pastas como all/ e wpfc-minified/ são do WP Fastest Cache.

No DigitalRadar, documentamos os problemas que resolvemos no próprio site. Fique no radar.

Lucas Almeida
Redação DigitalRadar

Desenvolvedor e fundador da Elion Estúdio, Lucas Almeida é especialista em tecnologias emergentes, games e análise de mercado. Com experiência em SEO e growth marketing, foca em conteúdo aprofundado que conecta o universo da tecnologia com o dia a dia das pessoas.

Apurado a partir das fontes citadas e verificado antes da publicação. Veja a nossa Política Editorial.

Deixe seu comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *