La balise Canonical
Comment indiquer la version de référence d'une page dupliquée par des paramètres d'URL, et éviter les erreurs qui désindexent des pages entières.
La balise canonical indique aux moteurs quelle URL doit être considérée comme la version de référence lorsque plusieurs adresses affichent un contenu identique ou très proche. Mal posée, elle peut faire disparaître des pages entières des résultats.
Le problème du contenu dupliqué
Un même contenu accessible via plusieurs URL (avec ou sans slash final, avec des paramètres de tri, en version « impression », via HTTP et HTTPS simultanément) crée une ambiguïté : le moteur doit deviner laquelle de ces URL indexer et afficher. Sans indication claire, il choisit lui-même, parfois différemment d'un moteur à l'autre, ce qui dilue l'autorité de la page entre plusieurs adresses au lieu de la concentrer sur une seule.
Cette dilution a un coût concret : les liens externes qui pointent vers différentes variantes d'une même page (certains vers la version avec slash, d'autres sans) répartissent leur valeur entre plusieurs URL au lieu de la concentrer sur une seule adresse de référence. Une canonical bien posée regroupe ce signal sur une unique URL, ce qui renforce sa position par rapport à une situation où l'autorité resterait éclatée.
Le cas fréquent des paramètres d'URL
Les filtres, tris et identifiants de campagne génèrent souvent des dizaines de variantes d'une même page :
https://exemple.com/chaussures?couleur=rouge&tri=prix
https://exemple.com/chaussures?tri=prix&couleur=rouge
https://exemple.com/chaussures?utm_source=newsletter
Ces trois URL affichent le même contenu de fond. Chacune doit pointer, via sa balise canonical, vers la version « propre » de la page :
<link rel="canonical" href="https://exemple.com/chaussures">
Syntaxe et bonnes pratiques
La balise se place dans le <head> du document, avec une URL absolue (jamais relative) pointant vers la version que vous souhaitez voir indexée. Une URL relative (/produit/nom-du-produit au lieu de https://exemple.com/produit/nom-du-produit) peut être mal interprétée selon le contexte de résolution du navigateur ou du robot, et représente une source d'erreur facilement évitable :
<head>
<link rel="canonical" href="https://exemple.com/produit/nom-du-produit">
</head>
Quelques règles à respecter :
- une page canonique vers elle-même est la situation par défaut correcte (ce n'est pas une erreur, c'est même recommandé) ;
- l'URL canonique doit être accessible (pas de redirection, pas de 404) et cohérente avec le protocole et le sous-domaine réellement utilisés (https vs http, www vs sans www) ;
- n'indiquez qu'une seule URL canonique par page — une balise canonical n'est pas une liste.
Quand poser une canonical (et quand s'abstenir)
Posez une canonical lorsque plusieurs URL affichent un contenu identique ou quasi identique (pagination technique, tri, tracking). Ne l'utilisez pas comme substitut à une redirection : si une ancienne page n'a plus vocation à exister, une redirection 301 est le bon outil, pas une canonical qui laisse les deux URL actives.
Une confusion fréquente consiste à croire que la canonical est un ordre impératif adressé au moteur. En réalité, il s'agit d'une forte suggestion : si d'autres signaux contredisent nettement votre choix (des liens externes massifs pointant vers la version « non canonique », par exemple), certains moteurs peuvent choisir d'indexer une autre URL que celle indiquée. Cette situation reste rare lorsque le balisage est cohérent avec le reste du site, mais elle explique pourquoi une canonical mal justifiée par le contexte réel de la page a plus de chances d'être ignorée.
Erreurs fréquentes
- Canonical pointant vers une page différente par erreur de configuration (souvent après une migration ou un changement de CMS), ce qui peut désindexer une page par accident.
- Canonicals contradictoires entre elles (page A pointe vers B, qui pointe vers C), ce qu'on appelle une chaîne de canonicals — à éviter au même titre qu'une chaîne de redirections.
- Oublier la canonical sur les versions multilingues, qu'il faut combiner avec la balise hreflang plutôt que de les faire pointer les unes vers les autres comme des duplicatas.
- Poser une canonical vers une page bloquée par le robots.txt, ce qui empêche le moteur de vérifier la cohérence du contenu.
Le cas de la pagination et du contenu proche mais non identique
La pagination (page 1, page 2, page 3 d'une liste d'articles) mérite une attention particulière : chaque page de résultats affiche un contenu différent, même si la structure générale se ressemble. Y poser une canonical unique vers la page 1 pour l'ensemble des pages suivantes revient à demander au moteur d'ignorer le contenu propre des pages 2, 3, etc. — ce qui est rarement souhaitable si ce contenu a une valeur propre. La bonne pratique consiste, dans la grande majorité des cas, à laisser chaque page de pagination canonique vers elle-même, et à s'appuyer sur un maillage interne clair plutôt que sur la canonical pour signaler la relation entre les pages.
Le cas du contenu « presque » dupliqué (deux fiches produit très proches mais avec une variante de couleur ou de taille) demande également du discernement : si la différence est significative pour l'utilisateur (et donc pour la requête qu'il tape), chaque variante mérite en général sa propre indexation plutôt qu'une canonicalisation vers une seule version.
Pour une vue d'ensemble de tous les points techniques à vérifier avant de publier, consultez la checklist technique complète.