Une URL canonique est l’adresse que vous désignez comme version de référence d’une page lorsque plusieurs URL affichent un contenu identique ou très similaire. Elle est déclarée via la balise rel=“canonical”, pour indiquer aux moteurs de recherche quelle version indexer et positionner dans les résultats.
Quand on vise une requête mais qu’on a plusieurs contenus qui se positionnent dessus, comment indiquer LE contenu à privilégier ?
Avec cette balise canonique, vous limitez les problèmes de contenu dupliqué qui peuvent nuire à votre SEO.
Voici comment ces balises fonctionnent et quand les utiliser.
Une balise canonique (rel=“canonical”) est un extrait de code HTML qui indique aux moteurs de recherche quelle version d’une page est la principale lorsqu’il existe des URL similaires ou dupliquées. Cela permet de s’assurer que seule la version principale est indexée.

Voici un exemple de balise canonical :
<link rel="canonical" href="https://example.com/" />
L’URL que vous donnez correspond à la version principale de la page que vous souhaitez voir indexée.
Vous devez utiliser les balises canoniques chaque fois que le même contenu, ou un contenu similaire, est accessible à plusieurs URL.
Voici quelques-unes des nombreuses raisons pour lesquelles cela peut arriver :
- Vous avez du contenu dupliqué sur des URL avec et sans barre oblique finale (par ex. example.com/ et example.com)
- Vous avez du contenu dupliqué sur les versions desktop et mobile de vos pages (par ex. example.com et m.example.com)
- Vous avez du contenu dupliqué sur des versions paramétrées d’URL (par ex. example.com et example?tracking-code)
Par exemple, imaginons que vous ayez une boutique en ligne vendant des widgets. Vous pourriez avoir une page catégorie listant tous vos widgets bleus à cette URL : example.com/widgets/blue/. Mais exactement le même contenu pourrait être accessible via une URL peu élégante comme celle-ci lorsque les visiteurs appliquent des filtres produits : example.com/widgets?color=blue
Si vous ne spécifiez pas la balise canonique, la « mauvaise » version de l’URL pourrait être indexée et apparaître dans les résultats de recherche.
Les balises canoniques contribuent aussi à ce que les signaux de positionnement, comme les liens, se consolident vers une seule page. C’est important, car les liens sont un facteur de positionnement Google confirmé, et il existe une forte corrélation entre les liens et le trafic.

Trop de contenu dupliqué peut également gaspiller le « crawl budget » :
Google gaspille ses ressources à explorer des versions dupliquées du contenu au lieu de nouvelles pages que vous souhaitez réellement voir indexées.
Certes, il finira probablement par comprendre qu’il ne doit pas explorer ces pages régulièrement, mais il doit d’abord les explorer une première fois avant de pouvoir le déterminer, et c’est précisément ce qui gaspille le crawl budget.

Vous pouvez le faire manuellement en ajoutant <link rel="canonical" href="https://example.com"/> à la section <head du code de votre page, mais presque personne ne procède ainsi, car c’est trop fastidieux. Il est généralement bien plus simple de passer par la plateforme de votre site web.
Quelle que soit la méthode choisie, veillez à respecter ces règles d’or :
- Utilisez des URL absolues. Google recommande de ne pas utiliser d’URL relatives (par exemple,
/sample-page/), même si elles sont prises en charge. Cela signifie que vous devez spécifier des URL absolues complètes dans les balises canoniques (par exemple,https://example.com/sample-page/). - Utilisez le bon domaine. Si vous êtes passé au SSL (ce qui devrait déjà être fait !), assurez-vous de ne déclarer aucune URL non-SSL (c’est-à-dire HTTP) dans vos balises canoniques. Cela pourrait semer la confusion chez Google et produire des résultats inattendus.
- Ne spécifiez qu’une seule balise canonique par page. Google ignorera toutes les balises canoniques déclarées si vous en déclarez plus d’une.
Je vais vous montrer comment ajouter des balises canoniques pour les plateformes les plus utilisées, y compris WordPress :
Installez Yoast SEO, puis faites défiler jusqu’à la section « Advanced » d’une page ou d’un article, où vous trouverez une option pour spécifier une balise canonique.

Suivez leur guide étape par étape. C’est un peu plus compliqué que sur WordPress, mais cela reste accessible.
Shopify gère la canonicalisation plutôt bien par défaut.
Est-ce que cela signifie que c’est toujours parfait ? Non. Mais la plupart des boutiques de petite et moyenne taille n’auront probablement pas besoin d’ajouter des balises canoniques manuellement. On recommande de faire appel à un développeur si nécessaire, car vous devrez modifier directement le code de votre thème (fichiers .liquid).
PrestaShop génère nativement les balises canonical, à condition que les URL simplifiées soient activées dans Paramètres de la boutique > Trafic & SEO.
La balise est ensuite injectée automatiquement dans le <head> du thème, mais son bon fonctionnement dépend de l’implémentation du thème utilisé, donc mieux vaut vérifier sa présence dans le code source de vos pages produit et catégorie.
Attention, les fiches produit avec déclinaisons (taille, couleur) et les pages de filtres génèrent souvent des URL distinctes pour un même contenu, ce qui crée des doublons. Si vous êtes concerné, je vous conseille de vous assurer que la canonical de ces variantes pointe bien vers l’URL principale du produit ou de la catégorie parente, au besoin en corrigeant le fichier head.tpl du thème.
Rendez-vous dans les paramètres avancés de votre page pour injecter des balises canoniques dans le header.

Les balises canoniques ne sont pas le seul moyen de déclarer la version canonical d’une page. On peut utiliser trois autres méthodes :
- Les redirections
- rel=“canonical” dans l’en-tête HTTP
- Le sitemap
Redirects
Google recommande de n’utiliser cette méthode que lorsque vous supprimez une page dupliquée, car elle redirige Googlebot (et les visiteurs) vers une URL différente. C’est une option particulièrement utile pour le contenu dupliqué causé par des pages accessibles à la fois en HTTP et en HTTPS.
Pour aller plus loin
rel=“canonical” dans l’en-tête HTTP
Pour des documents comme les PDF, il est impossible de placer des balises canoniques dans l’en-tête de la page, car il n’y a pas de section <head>. Dans ce cas, vous devez utiliser les en-têtes HTTP pour définir les canoniques.
Voici à quoi cela pourrait ressembler pour une version PDF de cet article de blog :HTTP/1.1 200 OK
Content-Type: application/pdf
Link: <https://ahrefs.com/blog/canonical-tags/>; rel="canonical"
On peut également utiliser un canonical dans les en-têtes HTTP sur des pages web classiques.
Pour aller plus loin
Sitemap
Seules les URL canoniques doivent figurer dans votre sitemap, même si Google précise qu’il s’agit d’un signal de canonicalisation faible.
La canonicalisation peut être complexe. C’est pourquoi il existe beaucoup de malentendus et d’idées reçues sur la manière de canonicaliser correctement.
Erreur n°1 : bloquer l’URL canonicalisée via robots.txt
Bloquer une URL dans le fichier robots.txt empêche Google de la crawler, ce qui signifie qu’il ne peut pas voir les balises canoniques présentes sur cette page. Cela l’empêche par conséquent de transférer le « link equity » de la version non-canonical vers la version canonique.
Erreur n°2 : appliquer noindex à l’URL canonicalisée
Ne mélangez jamais noindex et rel=canonical. Ce sont des instructions contradictoires.
John Mueller a déclaré sur Reddit que Google privilégie généralement la balise canonique par rapport à la balise noindex, mais ce n’est pas garanti. La documentation officielle de Google indique que noindex supprimera complètement la page des résultats de recherche. C’est peut-être le résultat souhaité, mais d’autres méthodes de canonicalisation devraient produire le même effet sans les inconvénients potentiels (par exemple, l’impossibilité pour Google de consolider le « link equity »).
Erreur n°3 : définir un code de statut HTTP 4XX pour l’URL canonicalisée
Définir un code de statut HTTP 4XX pour une URL canonicalisée produit le même effet que l’utilisation de la balise noindex : Google ne pourra pas voir la balise canonique et, par conséquent, ne pourra pas transférer le « link equity » vers la version canonique.
Erreur n°4 : canonicaliser toutes les pages paginées vers la page racine
Google recommande de ne pas canonicaliser les pages paginées vers la première page de la série.
Erreur n°5 : ne pas utiliser les balises canoniques avec hreflang
Les balises hreflang servent à spécifier la langue et le ciblage géographique d’une page web.
Google précise que lorsque vous utilisez hreflang, vous devez « spécifier une page canonique dans la même langue, ou la meilleure langue de substitution possible si aucune page canonique n’existe dans la même langue ».
Erreur n°6 : avoir plusieurs balises rel=canonical
Avoir plusieurs balises rel=canonical entraînera probablement leur ignorance par Google. Dans de nombreux cas, cela se produit parce que les balises sont insérées dans un système à différents niveaux, par exemple par le CMS, le thème et le(s) plugin(s). C’est pourquoi de nombreux plugins proposent une option de remplacement destinée à garantir qu’ils sont la seule source de balises canoniques.
Un autre cas problématique concerne les balises canoniques ajoutées avec JavaScript. Si aucune URL canonique n’est spécifiée dans la réponse HTML et que vous ajoutez ensuite une balise rel=canonical avec JavaScript, elle devrait être prise en compte lorsque Google rend la page. En revanche, si une balise canonique est spécifiée dans le HTML et que vous remplacez la version préférée avec JavaScript, vous envoyez des signaux contradictoires à Google.
Erreur n°7 : rel=canonical dans le <body>
Rel=canonical ne doit apparaître que dans le <head> d’un document. Une balise canonique dans la section <body> d’une page sera ignorée.
Le problème peut survenir lors de l’analyse du document. Le code source d’une page peut bien contenir la balise rel=canonical au bon endroit, mais lorsque la page est effectivement construite dans un navigateur ou rendue par un moteur de recherche, de nombreux éléments comme des balises non fermées, du JavaScript injecté ou des éléments <iframe> dans la section <head> peuvent provoquer une fermeture prématurée du <head> lors du rendu. Dans ces cas, une balise canonique peut se retrouver accidentellement dans le <body> de la page rendue, où elle ne sera pas prise en compte.
Il est facile de faire des erreurs avec la canonicalisation, c’est pourquoi il est important d’auditer régulièrement votre site web pour détecter les problèmes liés aux balises canoniques et de les corriger au plus vite.
Vous pouvez le faire avec Site Audit d’Ahrefs, un outil utilisable gratuitement pour les sites vérifiés via un compte Ahrefs Webmaster Tools (AWT). Il explore votre site web à la recherche de plus de 170 problèmes SEO, y compris ceux liés aux balises canoniques.
Voici les 14 problèmes canoniques que Site Audit peut détecter, et comment les corriger :
| # | Problème | Pourquoi c’est gênant | Comment corriger |
|---|---|---|---|
| 1 | Canonical pointe vers une page 4XX | Google ignore les canonical vers des pages mortes et indexe la mauvaise version | Remplacer par une URL fonctionnelle (200) |
| 2 | Canonical pointe vers une page 5XX | La page canonical est inaccessible, Google ne peut pas l’indexer | Corriger l’URL ou vérifier le serveur (peut être temporaire) |
| 3 | Canonical pointe vers une redirection | La canonical doit pointer vers la version finale, pas vers un intermédiaire | Pointer directement vers la page finale (200) |
| 4 | URL canonical sans lien interne entrant | La page canonical est difficile à atteindre pour les utilisateurs | Créer des liens internes vers la version canonical |
| 5 | Aucun lien interne vers l’URL canonical déclarée | Google perd un signal important de canonicalisation | Revoir le maillage interne du site |
| 6 | Pages dupliquées sans canonical | Google choisit lui-même la version à indexer, pas toujours la bonne | Choisir une version canonical et l’appliquer partout (+ auto-référence) |
| 7 | hreflang vers une page non canonical | Peut induire les moteurs de recherche en erreur sur la version à indexer | Faire pointer les hreflang vers les URL canonical |
| 8 | Page non canonical dans le sitemap | Google traite les sitemaps comme des canonical suggérées | Retirer les URL non canonical du sitemap |
| 9 | Chaîne de canonical (A→B→C) | Peut être mal interprétée ou ignorée par les moteurs | Faire pointer A directement vers C |
| 10 | og:url ≠ canonical | Pas d’impact SEO, mais mauvaise URL partagée sur les réseaux sociaux | Aligner og:url sur l’URL canonical |
| 11 | Canonical HTTPS → HTTP | HTTPS est un facteur de positionnement | Rediriger HTTP vers HTTPS (ou ajouter un canonical HTTP→HTTPS) |
| 12 | Canonical HTTP → HTTPS | Incohérent, mais rarement bloquant | Rediriger en 301 vers HTTPS + adapter liens internes |
| 13 | L’URL canonical a changé | Peut signaler une erreur depuis le dernier crawl | Vérifier que le changement est intentionnel |
| 14 | Page non canonical qui reçoit du trafic organique | Signal que Google ignore ou mal interprète la canonical | Vérifier la config + Google Search Console (inspection d’URL) |
Des questions ? Venez en parler sur la page LinkedIn Ahrefs en français, on répond à tout le monde.
