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

SEO & GEO

WPML et le sitemap natif de WordPress : des doublons d’URL par langue

Chaque traduction apparaît comme une entrée séparée du sitemap, sans qu'aucune ne soit désignée comme la référence principale du contenu.

Par WordPress Développement • 23 février 2022 • 4 min de lecture • Aucun commentaire
WPML et le sitemap natif de WordPress : des doublons d'URL par langue

Trois entrées dans le sitemap XML pour ce qui devrait être une seule fiche de contenu déclinée en trois langues : c’est le symptôme qui a alerté sur ce site WordPress équipé de WPML, où le sitemap natif de WordPress restait activé en parallèle du système de traduction.

Ce billet détaille pourquoi cette cohabitation génère des doublons d’URL par langue dans le sitemap, et comment consolider une seule entrée canonique par contenu, sans entrer dans le choix plus large entre WPML et Polylang comme solution de traduction.

Le sitemap natif ignore la notion de traduction

Le générateur de sitemap intégré à WordPress depuis la version 5.5 fonctionne exclusivement à l’échelle d’une installation, sans aucune connaissance native du concept de traduction lié entre plusieurs contenus. Il liste chaque article publié comme une entrée indépendante, quel que soit le plugin multilingue installé par-dessus.

WPML, de son côté, stocke chaque traduction comme un article WordPress distinct dans la base de données, relié aux autres par une table de correspondance interne. Du point de vue du sitemap natif, ces trois articles distincts n’ont donc aucune raison apparente d’être traités différemment d’articles totalement indépendants : ils apparaissent chacun comme une entrée à part entière.

Pourquoi WPML génère son propre sitemap

L'essentiel à retenir : Le sitemap natif de WordPress n'a pas de notion native de traduction ; WPML génère son propre sitemap distinct pour éviter ce problème ; Faire cohabiter les deux systèmes revient à dupliquer chaque URL par langue

Pour éviter précisément ce problème, WPML propose son propre module de génération de sitemap, capable d’insérer les balises <xhtml:link rel="alternate" hreflang="..."> directement dans les entrées du sitemap, regroupant ainsi les traductions d’un même contenu sous un jeu d’annotations cohérent plutôt que de les traiter comme des URL totalement indépendantes.

Le problème observé sur ce site venait du fait que le sitemap natif de WordPress n’avait jamais été désactivé après l’installation du module de sitemap de WPML, laissant les deux systèmes tourner en parallèle. Search Console recevait alors deux sources concurrentes pour les mêmes contenus, l’une avec les annotations de traduction correctes, l’autre sans aucune indication de langue alternative.

Consolider une seule entrée canonique par contenu

La correction impose de choisir un seul générateur de sitemap actif pour l’ensemble du site :

add_filter( 'wp_sitemaps_enabled', '__return_false' );

Ce filtre, placé dans un plugin maison ou le fichier de fonctions du thème, désactive le sitemap natif de WordPress pour laisser WPML seul responsable de la génération, avec ses annotations de traduction correctement intégrées.

Vérifier la consolidation

  • Confirmer que l’URL /sitemap.xml native ne répond plus, ou redirige vers le sitemap généré par WPML.
  • Ouvrir le sitemap WPML et vérifier la présence des balises hreflang alternatives pour chaque entrée multilingue.
  • Resoumettre l’URL du sitemap actif dans Search Console pour chaque propriété linguistique concernée.

Un point d’attention après migration ou mise à jour

Ce type de doublon réapparaît fréquemment après une mise à jour majeure de WordPress ou une réinstallation du thème, le filtre de désactivation étant parfois perdu s’il n’est pas placé dans une extension maison indépendante du thème. Il est recommandé de documenter ce réglage dans un fichier de suivi technique du projet, au même titre que les autres personnalisations critiques du site.

Sur les sites multilingues sous WPML que nous suivons, on vérifie systématiquement l’état du sitemap natif après chaque mise à jour majeure de WordPress, car ce filtre a déjà disparu silencieusement lors d’un changement de thème mal anticipé.

En résumé

La cohabitation du sitemap natif de WordPress et du sitemap dédié de WPML produit systématiquement des doublons d’URL par langue, faute d’annotation de traduction dans le premier. La correction ne demande qu’un seul filtre de désactivation, mais elle exige une vigilance durable pour ne pas voir le problème réapparaître au fil des mises à jour 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