Par l’équipe Limpi. Les faits externes sont distingués des méthodes Limpi et aucune visibilité, position ou citation automatique n’est garantie.
Comprendre plusieurs balises canonical
Une page qui expose plusieurs déclarations rel=canonical peut envoyer des préférences contradictoires. Le risque apparaît surtout lorsqu’un plugin, le thème, le rendu JavaScript ou une couche proxy ajoute chacun sa propre cible et que ces valeurs ne sont pas identiques.
Inspecter le comportement réellement servi
Analysez le HTML final reçu par le navigateur et recherchez toutes les déclarations canonical. Contrôlez aussi les modifications après rendu JavaScript lorsque le site en injecte. Pour chaque occurrence, conservez la cible absolue, sa provenance probable et le statut de l’URL visée.
Distinguer les notions qui se ressemblent
Plusieurs balises identiques ne sont pas une bonne pratique, mais plusieurs cibles différentes sont plus préoccupantes car elles expriment des préférences incompatibles. Distinguez aussi une canonical HTML d’un en-tête HTTP Link utilisé sur certains documents non HTML.
Identifier les causes les plus probables
Les doublons viennent souvent d’un plugin SEO combiné à un template maison, d’un composant partagé rendu deux fois, d’une migration où l’ancien système n’a pas été retiré ou d’un script client qui remplace la canonical sans supprimer celle du serveur.
Décider ce qui mérite d’être corrigé en premier
Déterminez d’abord quelle URL doit représenter la version préférée selon le contenu, le maillage, les redirections et la stratégie d’indexation. Ne choisissez pas une cible uniquement parce qu’elle apparaît en premier dans le code. La correction doit revenir à une seule source de vérité.
Corriger à la bonne couche
Supprimez les générateurs concurrents et laissez une déclaration canonical cohérente dans le rendu public. Si le CMS possède une couche dédiée, faites converger plugins et templates vers cette valeur. Évitez les correctifs CSS ou JavaScript qui masquent la balise sans corriger la source HTML.
Traiter les cas limites sans automatisme
Une page peut être servie différemment selon locale, paramètres ou expérience A/B. Vérifiez alors que la canonical reste déterministe pour une même version publique. Si un proxy modifie le head, comparez l’origine et la réponse réellement reçue par le crawler.
Valider la correction sur des cas réels
Rechargez plusieurs pages du même gabarit et comptez les canonicals dans la réponse rendue. La cible retenue doit répondre comme prévu et ne pas former de boucle ou de chaîne. Contrôlez ensuite le sitemap et les liens internes pour vérifier que les signaux restent cohérents.
Prévenir la régression dans le temps
Ajoutez un test qui échoue lorsqu’une page publique contient zéro ou plusieurs canonicals là où le contrat en exige exactement une. Documentez la couche propriétaire de cette balise afin qu’une future intégration ne réintroduise pas un second générateur.
Clôturer le contrôle sur plusieurs balises canonical
Pour clôturer le contrôle « Que se passe-t-il lorsqu’une page contient plusieurs balises canonical ? », conservez une preuve avant/après : URL ou composant testé, constat initial, origine technique, correction appliquée et résultat de la vérification. Contrôlez aussi les pages liées /seo/indexation-crawl, /seo/canonical-auto-referente, /seo/canonical-google-differente afin de vérifier que la correction reste cohérente avec le reste du corpus. Le périmètre documentaire reste volontairement borné : Expliquer que plusieurs déclarations canonical conflictuelles peuvent produire des résultats inattendus. Préférer une déclaration cohérente et éviter de prétendre que la canonical est une directive absolue. Si le comportement dépend d’un gabarit, d’un CDN, d’un navigateur ou d’un outil tiers, testez au moins un second cas représentatif. Une anomalie ambiguë doit rester en revue plutôt que d’être fermée sur une hypothèse. Attribuez enfin la règle à une source précise — composant, template, serveur, CMS ou configuration — pour pouvoir la retester après une refonte.
Conserver une preuve exploitable dans l’audit
Un contrôle sur plusieurs balises canonical est utile seulement si une autre personne peut reproduire le constat. Enregistrez la réponse ou l’état observé, l’outil utilisé, le contexte de test et l’élément exact qui justifie la conclusion. Évitez les captures isolées sans URL, statut ou propriété mesurée. Pour les anomalies répétées, comptez les occurrences par gabarit avant et après correction. Cette trace permet de distinguer une résolution globale d’un exemple corrigé manuellement et évite de rouvrir le même diagnostic sans information nouvelle. Lorsque la documentation officielle est la borne du contrôle, notez également la source utilisée afin de pouvoir réévaluer la règle si elle évolue.
Tester un scénario représentatif
Prenez une URL dont le CMS génère une canonical, activez ensuite le plugin SEO puis observez le HTML source et le DOM rendu. Si deux balises apparaissent, notez leurs cibles et l’ordre de génération. Répétez sur une page à paramètres et une page paginée. Le cas critique est celui où le template pointe vers l’URL propre tandis qu’un script client remplace la cible par l’URL courante avec paramètres. Vérifiez aussi qu’un proxy ou un outil de traduction n’injecte pas une troisième valeur. Une fois le propriétaire choisi, désactivez les autres générateurs et contrôlez que chaque page du gabarit contient exactement une canonical. Croisez enfin avec sitemap, redirection éventuelle et liens internes afin que la préférence déclarée ne soit pas contredite par le reste de l’architecture. Le tableau de preuve doit séparer canonical dans le HTML source, canonical après rendu DOM, éventuel Link HTTP, générateur supposé et cible finale. Ajoutez les variantes http/https, www/sans-www, slash final, paramètres UTM, pagination ou facettes si elles existent. Une cible absolue, accessible et cohérente doit émerger d’une seule règle. Les valeurs produites par Yoast, thème, middleware ou script client doivent pouvoir être attribuées sans ambiguïté. Ajoutez un test de pagination où page=2 ne doit pas hériter accidentellement de la canonical de page=1 si la stratégie du site exige des pages distinctes. Ce cas permet de détecter un helper qui calcule la cible depuis une URL de base sans tenir compte du contexte du gabarit. Contrôlez les templates article, catégorie, pagination, recherche interne, fiche produit et variante. Relevez query parameters, fragments ignorés, URL encodée, hostname, port et protocole dans chaque cible. Une canonical calculée à partir de request.url peut diverger d’une valeur issue du CMS si des paramètres de tracking ou des normalisations de slash interviennent avant le rendu.
Sources officielles
Les règles des moteurs et des fournisseurs de crawlers peuvent évoluer. Les affirmations techniques de cette page sont bornées par les documentations officielles ci-dessous.
Continuer à comprendre votre visibilité
À lire ensuite
Indexation et crawl : comprendre pourquoi Google trouve ou ignore vos pages Faut-il toujours utiliser une canonical auto-référente ? Pourquoi Google choisit-il une autre canonical que celle déclarée ?