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

SEO & GEO

Yoast SEO et Rank Math installés ensemble : le conflit de sitemaps qui trompe

Deux sitemaps XML actifs en même temps sur un même site, ça arrive plus souvent qu'on ne le pense après un changement d'extension SEO mal terminé.

Par Clément Hadrot • 1 janvier 2020 • 5 min de lecture • Aucun commentaire
Yoast SEO et Rank Math installés ensemble : le conflit de sitemaps qui trompe

Deux fichiers sitemap_index.xml qui répondent avec un code 200 sur le même nom de domaine : voilà ce que révèle un simple curl -I sur certains sites WordPress qui ont changé d’extension SEO sans finir le ménage. Le symptôme est discret, parce qu’aucun message d’erreur ne s’affiche jamais dans l’administration.

Le cas typique : Yoast SEO était installé, quelqu’un a ajouté Rank Math pour tester ses fonctionnalités de balisage, puis Yoast est resté activé « au cas où ». Deux générateurs de sitemap tournent alors en parallèle, chacun convaincu d’être la seule source de vérité pour Google.

Symptôme : deux sitemaps qui se contredisent

Le signe le plus fiable n’est pas visuel, il est structurel. En ouvrant /sitemap_index.xml, on obtient un fichier généré par Rank Math. Mais l’ancienne URL /sitemap.xml (sans le suffixe _index), historiquement utilisée par Yoast, répond elle aussi avec un contenu XML valide. Search Console, de son côté, ne référence parfois que l’un des deux, selon celui qui a été soumis en premier dans la propriété.

Autre indice révélateur : les dates de dernière modification (<lastmod>) divergent entre les deux fichiers pour les mêmes URL, parce que chaque extension recalcule ses propres métadonnées à des moments différents.

Vérifier rapidement en ligne de commande

Un simple test suffit pour confirmer le doublon sans passer par l’interface :

curl -s -o /dev/null -w "%{http_code}\n" https://exemple.fr/sitemap.xml
curl -s -o /dev/null -w "%{http_code}\n" https://exemple.fr/sitemap_index.xml

Si les deux commandes renvoient 200, le doublon est confirmé.

Diagnostic : qui génère quoi

L'essentiel à retenir : Deux sitemaps peuvent cohabiter sans erreur visible ; Google choisit celui qu'il veut, pas vous ; Le nettoyage prend cinq minutes une fois repéré

WordPress dispose depuis la version 5.5 d’un générateur de sitemap natif, désactivé automatiquement dès qu’une extension SEO déclare gérer cette fonctionnalité. Yoast et Rank Math le font tous les deux via le filtre wp_sitemaps_enabled. Le problème ne vient donc pas du cœur de WordPress, mais du fait que les deux extensions restent actives simultanément, chacune enregistrant son propre jeu de règles de réécriture d’URL au chargement.

Pour savoir lequel des deux plugins répond réellement sur une URL donnée, on peut inspecter les en-têtes HTTP renvoyés :

curl -sI https://exemple.fr/sitemap_index.xml | grep -i x-powered

En pratique, l’en-tête ne suffit pas toujours à trancher : le plus fiable reste d’ouvrir le fichier et de comparer sa structure. Un sitemap Yoast utilise des noms de fichiers du type page-sitemap.xml, tandis que Rank Math nomme les siens différemment selon la configuration des types de contenu inclus.

Correctif : ne garder qu’un seul générateur

La correction ne consiste pas à supprimer un plugin dans la précipitation, mais à désactiver proprement le module sitemap de celui qu’on ne garde pas :

  • Dans Rank Math : Général → Sitemaps, puis basculer l’interrupteur sur désactivé si Yoast doit rester le générateur officiel.
  • Dans Yoast SEO : SEO → Réglages généraux → onglet Fonctionnalités, désactiver l’option Sitemaps XML.
  • Vérifier ensuite que l’URL du plugin désactivé renvoie bien un code 404, et non plus 200.

Si aucun des deux plugins n’est censé rester, on peut réactiver le sitemap natif de WordPress avec un simple filtre dans le thème ou une extension maison :

add_filter( 'wp_sitemaps_enabled', '__return_true' );

Sur nos projets, on ne désinstalle jamais l’extension SEO perdante avant d’avoir confirmé, plusieurs jours de suite, que le sitemap gagnant est bien celui indexé dans Search Console.

Prévention : verrouiller le choix dès l’installation

Le vrai correctif est organisationnel plus que technique. Avant d’ajouter une deuxième extension SEO à un site existant, il faut documenter dans un fichier de suivi de projet quelle extension gère quoi : sitemaps, balisage schema.org, réglages de canonical. Un simple tableau partagé avec l’équipe évite qu’un collègue réactive « juste pour voir » un module déjà neutralisé ailleurs.

Il est également utile de soumettre une seule URL de sitemap dans Search Console et de surveiller, dans le rapport de couverture, l’apparition soudaine d’un nombre d’URL découvertes qui ne correspond à aucun sitemap connu : c’est souvent le signe qu’un ancien générateur s’est réactivé après une mise à jour.

En résumé

Un conflit de sitemaps ne provoque jamais d’erreur bloquante, ce qui le rend redoutable : Google choisit sa propre source de vérité sans prévenir personne. La solution tient en trois étapes reproductibles : repérer le doublon avec deux requêtes curl, désactiver proprement le module sitemap de l’extension perdante, puis documenter le choix pour que personne ne le défasse par erreur six mois plus tard.

Partager :

À propos de l'auteur

Clément Hadrot

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

Voir tous ses articles

Dans la même veine

À lire aussi