Resolver problemas
Polylang e LiteSpeed Cache ao detetar o idioma do navegador
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
- Anote o URL da página inicial e os idiomas configurados.
- Teste com dois perfis limpos que tenham idiomas preferidos diferentes e não conservem o cookie de idioma do Polylang.
- Reveja em cada resposta os cabeçalhos do LiteSpeed Cache e o URL final. Repita a visita para distinguir um primeiro
missde uma resposta em cache. - 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 comRewriteRule .* - [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
- Erros 404 em elementos estáticos tornam a navegação lenta Deteta recursos estáticos inexistentes que acionam o PHP e consomem CPU, serve-os como 404 leves e o...
- WordPress 6.7: as traduções não funcionam corretamente Documenta a falha histórica de traduções do WordPress 6.7 e orienta os casos atuais para versões seg...
- Aprender a depurar um erro do WordPress Explica como ler um erro fatal do WordPress, distinguir o que demonstra das suas possíveis causas e...
- Como resolver o erro cURL 60 de certificado SSL no WordPress Como diagnosticar e resolver o erro cURL 60 do WordPress sem desativar a verificação de certificados...
Algo não bate certo ou mudou? Diga-nos e revemos.