« Pourquoi la version anglaise de cette page pointe-t-elle vers l’ancienne version française qui a été fusionnée avec une autre page depuis ? » Cette question, posée après une réorganisation de contenu sur un site multilingue, mène directement au cœur d’un problème récurrent entre Polylang et Yoast SEO : le lien entre traductions ne se recalcule pas toujours automatiquement quand une page change de statut.
Ce billet détaille l’origine de ce désalignement des balises hreflang après une réorganisation de contenu, et la marche à suivre pour le corriger sans dépendance à la traduction du contenu elle-même.
Comment Polylang associe les traductions entre elles
Polylang ne relie pas les traductions d’un contenu par leur URL, mais par un identifiant interne stocké en métadonnée sur chaque article, indépendant de son slug ou de son statut de publication. Yoast SEO s’appuie ensuite sur cette table de correspondance pour générer automatiquement les balises <link rel="alternate" hreflang="..."> dans le <head> de chaque page.
Le problème survient lorsqu’une page française est supprimée ou fusionnée avec une autre dans le cadre d’une réorganisation de contenu, sans que la relation de traduction correspondante soit explicitement rompue ou réassignée dans Polylang. La table de correspondance continue de pointer vers un identifiant d’article qui n’existe plus, ou qui a changé de contenu de fond en comble sans que sa relation de traduction n’ait été mise à jour en conséquence.
Repérer le désalignement

La vérification ne peut pas se faire langue par langue isolément : il faut ouvrir simultanément les balises hreflang de chaque version linguistique d’un même contenu et s’assurer qu’elles convergent toutes vers le même jeu d’URL. Un script simple, exécuté depuis la ligne de commande avec WP-CLI, permet d’extraire la table de correspondance de traduction pour tout le site :
wp post list --post_type=post --fields=ID,post_title --format=csv | \
while IFS=, read id titre; do
wp eval "echo pll_get_post_translations( $id );" --url=exemple.fr
done
Ce type d’extraction permet de repérer rapidement les identifiants qui pointent vers des articles supprimés ou dont le statut n’est plus publié, une source fréquente de balises hreflang cassées invisibles à l’œil nu depuis l’interface d’administration.
Corriger la relation de traduction
La correction se fait directement dans l’interface d’édition de Polylang, en réassignant manuellement la traduction correcte pour chaque page concernée par la fusion ou la suppression :
- Ouvrir la page dans la langue source et vérifier, dans l’encart Polylang de l’éditeur, la traduction actuellement associée pour chaque langue.
- Réassigner la bonne URL de destination si la page fusionnée a changé d’identifiant.
- Retirer purement et simplement la relation de traduction si aucune page équivalente n’existe plus dans la langue concernée, plutôt que de laisser un lien cassé.
Le cas particulier de la suppression sans redirection
Lorsqu’une page est supprimée sans redirection vers son équivalent fusionné, les balises hreflang des autres langues continuent parfois de pointer vers une URL qui renvoie désormais un code 404. Ce cas doit être traité en priorité, car il ne s’agit plus seulement d’un désalignement de traduction, mais d’un signal d’erreur direct envoyé à Google sur l’ensemble du groupe de pages liées entre elles.
Sur les sites multilingues qu’on gère, toute fusion ou suppression de contenu passe systématiquement par une vérification des relations de traduction avant publication, pas après : c’est un réflexe qui coûte deux minutes et qui évite des semaines de désalignement silencieux.
En résumé
Le désalignement des balises hreflang après une réorganisation de contenu ne vient jamais d’un bug de Polylang ou de Yoast SEO pris isolément, mais d’une relation de traduction qui n’a pas été mise à jour au moment du changement. La vérification croisée entre toutes les langues d’un même contenu reste le seul moyen fiable de repérer ce type de désalignement avant qu’il n’affecte l’indexation internationale du site.