Un client m'appelle en panique. Son trafic a chuté de 40 % en trois semaines. Rien n'a changé sur le site, m'assure-t-il. Pas de refonte, pas de migration, pas de nouveau concurrent. J'ouvre Search Console. Et là, je vois le carnage : 1 200 pages, dont 900 marquées « Page en double, Google a choisi une autre URL canonique ». Sauf que Google n'avait rien choisi du tout. Il avait obéi sagement à une balise canonical que le développeur avait posée partout, par sécurité, en pointant vers la page d'accueil.
Voilà le genre de scénario que je rencontre une à deux fois par an. La balise canonical est l'une des balises les plus simples du HTML, et pourtant, elle figure dans mon top 3 des erreurs qui coûtent le plus cher. Pas parce qu'elle est compliquée. Parce qu'on la pose sans comprendre ce qu'elle dit vraiment à Google.
Points clés à retenir
- La canonical est une suggestion, pas un ordre : Google peut la contredire
- Elle sert à désigner la version principale d'un contenu accessible sous plusieurs URL
- Une canonical contradictoire avec un
noindexou unhreflangcrée un blocage silencieux - L'auto-référence n'est pas une option, c'est le filet de sécurité qui évite 90 % des accidents
- La redirection 301 et la canonical ne jouent pas le même rôle : l'une déplace, l'autre désigne
- Un audit de canonicals se fait en une heure avec les bons rapports
Comprendre la balise canonical : ce qu'elle dit vraiment à Google
La canonical répond à une question précise : parmi toutes ces URL qui affichent à peu près le même contenu, laquelle dois-je considérer comme la version officielle ?
C'est tout. Elle ne supprime rien, ne redirige personne, ne cache aucune page de l'index. Elle déclare une préférence. Et une préférence, dans le langage de Google, ça se discute.
Pourquoi le même contenu finit sur plusieurs URL
Un site vitrine avec une seule version d'une page, ça n'existe presque plus. Trois mécanismes produisent de la duplication sans qu'on s'en rende compte :
- Les paramètres de tracking collés en fin d'URL par vos campagnes (utm_source, utm_campaign) qui génèrent des milliers de variantes indexables
- Les versions HTTPS et HTTP, avec ou sans www, qui coexistent quand la redirection n'a jamais été posée proprement
- Les facettes e-commerce. Un filtre de couleur crée autant d'URL que de teintes disponibles, chacune affichant presque le même catalogue
Sur une boutique que j'ai auditée en début d'année, le catalogue comptait 340 produits. L'index en contenait 11 800 URL. Les filtres, les tris et les paramètres de pagination avaient généré le reste. Le budget de crawl partait intégralement dans ces pages fantômes.
Ce qu'elle ne fait pas
Beaucoup croient qu'une canonical retire une page de l'index. Faux. Google peut parfaitement indexer l'URL secondaire si elle reçoit des liens externes, si son contenu diverge suffisamment, ou s'il juge la canonique mal placée. Ce sont d'ailleurs les cas de figure que je rencontre le plus souvent en audit.
Le vrai piège, c'est de confondre désignation et suppression. Pour supprimer, il faut un noindex ou un code de statut 404. Pour déplacer, une redirection. La canonical, elle, se contente de murmurer une recommandation.
Les conflits qui bloquent tout : canonical, noindex et hreflang
Trois semaines après le début d'un accompagnement, un responsable e-commerce me montre fièrement sa configuration multilingue. Canonical vers la version française sur toutes les pages, y compris les versions allemande et espagnole. « Comme ça, on consolide l'autorité », m'explique-t-il.
Spoiler : il était en train de tuer ses deux marchés étrangers. Les versions DE et ES existaient, mais chaque signal pointait vers le FR. Google n'avait aucune raison de les indexer séparément.
Que faire si la canonical pointe vers une page en noindex ?
C'est l'un des conflits les plus absurdes et les plus fréquents. Une page A déclare la page B comme sa canonique. Mais la page B porte un noindex. Résultat : Google reçoit deux ordres contradictoires. Il en ignore généralement un, et c'est rarement celui que vous espériez.
La règle que j'applique sans exception : une page canonique ne doit jamais porter de noindex. Si B doit sortir de l'index, elle ne peut pas être la cible d'une canonical. Soit vous retirez le noindex sur B, soit vous faites pointer A vers une troisième URL C qui, elle, est indexable.
Comment articuler canonical et hreflang sur un site multilingue ?
Ici, la logique est contre-intuitive pour beaucoup : chaque version linguistique est sa propre canonique. La page française se déclare canonique d'elle-même. La page allemande en fait autant. Ce sont deux contenus, pas deux doublons.
Ce qui les relie, c'est le hreflang, pas la canonical. Si vous faites pointer la version allemande vers la française, vous dites à Google « la version DE n'est qu'une copie ». Ce n'est pas ce que vous voulez.
J'ai corrigé exactement ce problème chez un client qui perdait 60 % de son trafic organique allemand depuis quatre mois. La correction a mis vingt minutes. La réindexation, une dizaine de jours.
| Configuration | Bon usage | Conséquence si mal fait |
|---|---|---|
| Canonical + noindex sur la cible | Retirer le noindex ou changer de cible | Page sommaire dans l'index, signaux dispersés |
| Canonical + hreflang | Auto-référence par langue | Versions étrangères non indexées |
| Canonical + redirection 301 | Choisir : soit rediriger, soit canoniser | Boucle ou signal ignoré |
| Canonical sur page paginée | Auto-référence conservée | Articles de fin de série invisibles |
Auditer vos canonicals : la méthode en quatre vérifications
Inutile de sortir l'artillerie. Quatre points suffisent à couvrir 95 % des cas.
Vérification n°1 : l'auto-référence
Chaque page indexable doit se déclarer elle-même canonique. C'est le point le plus souvent oublié et le plus simple à corriger. Sans auto-référence, une page dépend entièrement des signaux externes pour établir son identité.
Vérification n°2 : un échantillon des pages à paramètres
Prenez dix URL générées par vos filtres ou vos campagnes. Vérifiez vers quoi elles pointent. Si la réponse est « vers elles-mêmes », il y a un problème.
Vérification n°3 : le rapport « Page en double »
Search Console regroupe les URL qu'il considère comme équivalentes. Si vous y voyez des pages que vous pensiez uniques, c'est le signal d'alerte. Si vous y voyez vos pages principales, c'est une catastrophe en cours.
Vérification n°4 : un crawl complet
Un outil de crawl remonte toutes les canonicals d'un site en quelques minutes. Je le lance systématiquement en début de mission, et je compare la colonne « canonical déclarée » avec l'URL réelle. Les divergences parlent d'elles-mêmes.
Un exemple concret de divergence silencieuse
Sur un site de presse en ligne, la moitié des articles affichaient une canonical correcte. L'autre moitié pointait vers la page d'auteur, à cause d'un template copié entre deux gabarits. Aucune erreur visible en front. Trois mois de trafic perdu avant que personne ne s'en aperçoive.
Redirection 301 ou canonical : trancher sans hésiter
On me pose la question à chaque audit. La réponse tient en une phrase : si l'ancienne URL ne doit plus jamais servir, redirigez. Si elle doit rester accessible pour une raison légitime, canonisez.
Un cas typique : la version imprimable d'un article. Vous voulez qu'elle reste accessible aux lecteurs qui cliquent dessus, mais qu'elle ne soit pas indexée séparément. Canonical vers l'article original. Redirection serait brutal, et casserait l'usage.
Autre cas : une migration de domaine. Là, c'est redirection 301, sans hésitation. La canonical ne déplace pas les visiteurs.
Mon opinion, tranchée : quand quelqu'un hésite entre les deux, il n'a pas défini ce qu'il veut que l'utilisateur fasse. C'est la vraie question, pas une histoire de SEO. Posez-la d'abord, la réponse technique suivra.
Une dernière chose. En 2026, la plupart des CMS posent automatiquement une canonical sur chaque page, généralement en auto-référence. C'est une bonne base, et c'est aussi pour ça que les accidents deviennent plus rares qu'il y a cinq ans. Mais quand un développeur écrit une ligne manuelle pour « optimiser », c'est là que tout casse. La prochaine fois que vous voyez une balise canonical ajoutée à la main dans un template, demandez pourquoi. Neuf fois sur dix, la personne ne saura pas vous répondre.