Résoudre les problèmes

Polylang et LiteSpeed Cache lors de la détection de la langue du navigateur

Vérifié le 4 min de lecture wordpress rendimiento traducciones

Polylang peut rediriger la page d'accueil selon la langue préférée du navigateur. Lorsque ce comportement est combiné à un cache de page, il faut d'abord vérifier si les différentes réponses sont stockées séparément ; un test isolé avec l'option activée ne prouve pas que LiteSpeed Cache a été désactivé.

Confirmer le comportement

  1. Notez l'URL d'accueil et les langues configurées.
  2. Testez avec deux profils vierges ayant des langues préférées différentes et ne conservant pas le cookie de langue de Polylang.
  3. Examinez dans chaque réponse les en-têtes de LiteSpeed Cache et l'URL finale. Répétez la visite pour distinguer un premier miss d'une réponse mise en cache.
  4. Désactivez temporairement la détection en staging et répétez exactement les mêmes requêtes.

Si les en-têtes ou le résultat changent de façon cohérente, vous disposez déjà d'une comparaison utile. S'ils ne changent pas, examinez d'abord les exclusions de cache, les cookies et les autres règles de redirection.

Choisir la solution

  • Si vous n'avez pas besoin de détecter la langue du navigateur, désactivez Détecter la langue du navigateur (option qui définit la langue des nouvelles visites) dans Langues > Réglages. Les utilisateurs pourront toujours choisir la langue avec le sélecteur.
  • Si vous avez besoin de la détection, conservez la fonction de Polylang et configurez une variation ou une exclusion de cache compatible avec le cookie et les URL de langue utilisés par votre site. Dans LiteSpeed, après avoir confirmé que Polylang utilise le cookie pll_language, une variation par cookie peut être déclarée avec RewriteRule .* - [E=Cache-Vary:pll_language] ; faites-le d'abord en staging et consultez la documentation officielle de Cache Vary.

Ne remplacez pas Polylang par une redirection générique basée sur Accept-Language. Ce n'est pas un comportement équivalent : elle peut ignorer la préférence déjà choisie par le visiteur et, sans stratégie de variation validée, stocker ou servir une mauvaise langue depuis le cache.

Vérifier le fonctionnement

Videz le cache une fois après avoir modifié la configuration. Répétez les tests avec des profils vierges, vérifiez que le choix manuel de la langue est conservé et confirmez que le contenu d'une langue n'est jamais servi sous l'URL d'une autre. Les en-têtes peuvent varier selon le serveur ; comparez-les à ceux qu'affichait votre installation avant le changement.

Tester aussi la première visite

Une visite sans cookie et une autre avec pll_language déjà choisi ne sont pas le même cas. Testez les deux, ainsi qu'une URL explicite de chaque langue. La variation par cookie ne sépare pas à elle seule deux premières visites sans cookie qui envoient des Accept-Language différents.

Vérifiez aussi les couches de cache du CDN, s'il y en a. Conservez des liens de langue explorables et des URL stables ; une redirection selon le navigateur ne remplace ni ces pages ni leur configuration SEO. Ne considérez pas comme valable un gain de vitesse s'il montre à un visiteur la réponse d'une autre langue.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.