Le WordPress d'aujourd'hui, décodé pour les développeurs

SEO & GEO

Polylang et Yoast SEO : un hreflang qui pointe vers de mauvaises URL traduites

Après une réorganisation de contenu, les balises hreflang continuent de pointer vers des URL qui ne correspondent plus à leurs traductions réelles.

Par WordPress Développement • 11 décembre 2021 • 4 min de lecture • Aucun commentaire
Polylang et Yoast SEO : un hreflang qui pointe vers de mauvaises URL traduites

« 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

L'essentiel à retenir : Le lien entre traductions repose sur un identifiant interne, pas sur l'URL ; Une réorganisation de contenu peut casser ce lien sans erreur visible ; La vérification demande de croiser plusieurs langues à la fois, pas une seule

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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi