Se connecter Commencer gratuitement

Audit du piège de redirection de locale

Les redirections de langue basées sur la session ou le cookie rendent régulièrement une langue inatteignable. Si la locale par défaut n'a pas de préfixe d'URL, un chemin sans préfixe ne porte aucun signal de locale : le middleware de redirection le considère comme non défini et envoie le visiteur vers ce qui a été stocké, la langue par défaut ne peut donc plus jamais être choisie. Le même mécanisme sert la mauvaise langue à quiconque ouvre un lien partagé, et peut ruiner complètement hreflang.

CATÉGORIE
SEO international
FORMAT
locale-redirect-trap-audit.md
ÉTAPES
6
PRIX
Gratuit — sans compte
QUAND S’EN SERVIR

À utiliser lorsque des visiteurs signalent ne pas pouvoir revenir à une langue, ou lorsqu'un lien partagé s'ouvre dans la mauvaise langue chez le destinataire.

Le fichier de compétence

locale-redirect-trap-audit.md
---
name: locale-redirect-trap-audit
description: À utiliser lorsque des visiteurs signalent ne pas pouvoir revenir à une langue, ou lorsqu'un lien partagé s'ouvre dans la mauvaise langue chez le destinataire.
---

# Audit du piège de redirection de locale

Les redirections de langue basées sur la session ou le cookie rendent régulièrement une langue inatteignable. Si la locale par défaut n'a pas de préfixe d'URL, un chemin sans préfixe ne porte aucun signal de locale : le middleware de redirection le considère comme non défini et envoie le visiteur vers ce qui a été stocké, la langue par défaut ne peut donc plus jamais être choisie. Le même mécanisme sert la mauvaise langue à quiconque ouvre un lien partagé, et peut ruiner complètement hreflang.

## Ce qu’il vous faut d’abord

- Le site avec le changement de locale activé
- curl ou tout client capable de conserver et rejouer des cookies

## Méthode

1. Demandez une URL préfixée dans une langue autre que la langue par défaut pour établir une préférence stockée.
2. Rejouez le même client en demandant cette fois l'équivalent sans préfixe. S'il renvoie un 302 vers la langue stockée, la locale par défaut est inatteignable et le bug est confirmé.
3. Répétez sur un chemin profond, pas seulement sur la page d'accueil. Une redirection qui ne se déclenche qu'à la racine est acceptable ; une qui se déclenche sur chaque chemin ne l'est pas.
4. Demandez l'URL en langue par défaut sans aucun cookie, c'est ce que voit un crawler. Si elle redirige, la validation hreflang échouera quelle que soit la justesse du balisage.
5. Corrigez en rendant l'URL faisant autorité : n'agissez sur une préférence stockée qu'à la racine nue, et n'enregistrez une préférence que lorsque le visiteur la demande explicitement via le sélecteur.
6. Retestez les quatre cas : choisir une langue, revenir à la racine, choisir la langue par défaut, et ouvrir un chemin explicite avec une préférence contradictoire stockée.

## Ce que ça produit

Une matrice réussite/échec sur quatre cas prouvant que chaque langue est atteignable, que les URL explicites ne sont jamais écrasées et qu'une requête sans cookie reçoit la version canonique par défaut.

## Là où ça dérape

- Ne tester que la page d'accueil, là où le bug est le moins visible
- Tester avec un navigateur détenant déjà une préférence, si bien que le chemin défectueux ne se déclenche jamais
- Supposer que les crawlers ne sont pas concernés, ils le sont, car la redirection change ce qui est servi à l'URL canonique

---

Extrait de la bibliothèque de compétences QuQi - https://www.quqi.io/fr/skills/locale-redirect-trap-audit
Téléchargement gratuit · sans compte, sans e-mail

Ce qu’il vous faut d’abord

  • Le site avec le changement de locale activé
  • curl ou tout client capable de conserver et rejouer des cookies

Méthode

  1. 01 Demandez une URL préfixée dans une langue autre que la langue par défaut pour établir une préférence stockée.
  2. 02 Rejouez le même client en demandant cette fois l'équivalent sans préfixe. S'il renvoie un 302 vers la langue stockée, la locale par défaut est inatteignable et le bug est confirmé.
  3. 03 Répétez sur un chemin profond, pas seulement sur la page d'accueil. Une redirection qui ne se déclenche qu'à la racine est acceptable ; une qui se déclenche sur chaque chemin ne l'est pas.
  4. 04 Demandez l'URL en langue par défaut sans aucun cookie, c'est ce que voit un crawler. Si elle redirige, la validation hreflang échouera quelle que soit la justesse du balisage.
  5. 05 Corrigez en rendant l'URL faisant autorité : n'agissez sur une préférence stockée qu'à la racine nue, et n'enregistrez une préférence que lorsque le visiteur la demande explicitement via le sélecteur.
  6. 06 Retestez les quatre cas : choisir une langue, revenir à la racine, choisir la langue par défaut, et ouvrir un chemin explicite avec une préférence contradictoire stockée.

Ce que ça produit

Une matrice réussite/échec sur quatre cas prouvant que chaque langue est atteignable, que les URL explicites ne sont jamais écrasées et qu'une requête sans cookie reçoit la version canonique par défaut.

Là où ça dérape

  • Ne tester que la page d'accueil, là où le bug est le moins visible
  • Tester avec un navigateur détenant déjà une préférence, si bien que le chemin défectueux ne se déclenche jamais
  • Supposer que les crawlers ne sont pas concernés, ils le sont, car la redirection change ce qui est servi à l'URL canonique

Utiliser cette compétence dans votre propre IA

Le fichier téléchargé est un simple markdown dont l'en-tête porte le nom et le déclencheur. Quand un assistant sait charger des compétences tout seul, c'est cet en-tête qu'il lit pour décider que celle-ci s'applique.

Claude Code Enregistrez-le sous ~/.claude/skills/locale-redirect-trap-audit/SKILL.md et Claude le charge tout seul dès que ce que vous faites correspond au déclencheur. Placez-le plutôt dans .claude/skills d'un projet si toute l'équipe doit l'avoir.
Claude Importez le fichier dans la section compétences de vos réglages. Une fois là, il s'applique tout seul dans toute conversation où le déclencheur colle, sans que vous ayez à y penser.
ChatGPT Il n'existe pas de format de compétences où l'installer, alors collez le contenu du fichier dans les instructions d'un Projet ou d'un GPT personnalisé. Il s'applique ensuite à toutes les conversations du projet, pas seulement à celle où vous l'avez collé.
Tout le reste Collez le markdown dans la conversation avant votre question. Cela fonctionne avec n'importe quel assistant, il faut simplement le recoller à chaque fois.

Plus dans SEO international