Resolver problemas

Polylang e LiteSpeed Cache ao detetar o idioma do navegador

Revisto a 4 min de leitura WordPress desempenho traduções

O Polylang pode redirecionar a página inicial segundo o idioma preferido do navegador. Ao combinar esse comportamento com uma cache de página, é preciso verificar primeiro se as diferentes respostas são guardadas em separado; um teste isolado com a opção ativada não demonstra que o LiteSpeed Cache tenha sido desativado.

Confirmar o comportamento

  1. Anote o URL da página inicial e os idiomas configurados.
  2. Teste com dois perfis limpos que tenham idiomas preferidos diferentes e não conservem o cookie de idioma do Polylang.
  3. Reveja em cada resposta os cabeçalhos do LiteSpeed Cache e o URL final. Repita a visita para distinguir um primeiro miss de uma resposta em cache.
  4. Desative temporariamente a deteção em staging e repita exatamente os mesmos pedidos.

Se os cabeçalhos ou o resultado mudarem de forma consistente, já tem uma comparação útil. Se não mudarem, reveja antes as exclusões de cache, os cookies e outras regras de redirecionamento.

Escolher a solução

  • Se não precisar de detetar o idioma do navegador, desative Detect browser language em Languages > Settings. Os utilizadores poderão continuar a escolher o idioma através do seletor.
  • Se precisar da deteção, mantenha a função do Polylang e configure uma variação ou exclusão de cache compatível com o cookie e os URLs de idioma utilizados pelo seu site. No LiteSpeed, depois de confirmar que o Polylang utiliza o cookie pll_language, uma variação por cookie pode ser declarada com RewriteRule .* - [E=Cache-Vary:pll_language]; faça-o primeiro em staging e consulte a documentação oficial de Cache Vary.

Não substitua o Polylang por um redirecionamento genérico baseado em Accept-Language. Não é um comportamento equivalente: pode ignorar a preferência já escolhida pelo visitante e, sem uma estratégia de variação validada, guardar ou servir um idioma incorreto a partir da cache.

Verificar o funcionamento

Limpe a cache uma vez depois de alterar a configuração. Repita os testes com perfis limpos, verifique que a escolha manual de idioma se mantém e confirme que nunca é entregue conteúdo de um idioma sob o URL de outro. Os cabeçalhos podem variar segundo o servidor; compare-os com os que a sua instalação mostrava antes da alteração.

Testar também a primeira visita

Uma visita sem cookie e outra com pll_language já escolhido não são o mesmo caso. Teste ambas, além de um URL explícito de cada idioma. A variação por cookie não separa por si só duas primeiras visitas sem cookie que enviam Accept-Language diferentes.

Verifique também as camadas de cache da CDN, se existirem. Mantenha ligações de idioma rastreáveis e URLs estáveis; um redirecionamento segundo o navegador não substitui essas páginas nem a sua configuração SEO. Não dê por válida uma melhoria de velocidade se mostrar a um visitante a resposta de outro idioma.

Também lhe pode ser útil

Algo não bate certo ou mudou? Diga-nos e revemos.