SEO technique

URL canonique : définition, rôle SEO et rel=canonical

Avatar
Responsable des contenus @ Ahrefs (ce qui veut dire en gros, que je dois m’assurer que chaque article publié est ÉPIQUE).
L’URL canonique que vous indiquez aux moteurs de recherche (notamment via la balise canonical qu’on appelle aussi tag canonique) aide à prévenir les problèmes de contenu dupliqué qui peuvent nuire à votre SEO.

Voici comment elles 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.

Schéma illustrant le fonctionnement d'un balisage canonique

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 canonical 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)
Note.
Si vous republiez du contenu sur d’autres sites, c’est également le moment d’utiliser les balises canonical. Sans cela, Google risque de considérer la version republiée du contenu comme l’originale et de la positionner devant votre site dans les résultats de recherche.

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 canonical, la « mauvaise » version de l’URL pourrait être indexée et apparaître dans les résultats de recherche.

Les balises canonical 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.

Nos recherches montrent une corrélation entre les backlinks et le trafic organique

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.

Google est intelligent et arrêtera de "recrawler" un contenu dupliqué, mais il doit le crawler dans un 1er temps pour comprendre quel contenu est gaspillé dans le budget crawl

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 :

  1. 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 canonical (par exemple, https://example.com/sample-page/).
  2. 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 canonical. Cela pourrait semer la confusion chez Google et produire des résultats inattendus.
  3. Ne spécifiez qu’une seule balise canonical par page. Google ignorera toutes les balises canonical 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 :

Configurer les balises canonical dans 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 canonical.

wordpress-parametrer-url-canonique

Configurer les balises canoniques dans Wix

Suivez leur guide étape par étape. C’est un peu plus compliqué que sur WordPress, mais cela reste accessible.

Configurer les balises canonical dans Shopify

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 canonical 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).

Configurer les balises canoniques dans Squarespace

Rendez-vous dans les paramètres avancés de votre page pour injecter des balises canonical dans le header.

ajouter-balise-canonique-via-squarespace

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 :

  1. Les redirections
  2. rel=“canonical” dans l’en-tête HTTP
  3. Le sitemap
Note.
Si aucune de ces méthodes n’est utilisée, Google s’appuiera sur d’autres signaux comme les balises hreflang, le maillage interne et la longueur de l’URL pour choisir une version canonical à votre place s’il estime que vous avez du contenu dupliqué.

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 canonical 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 canonical.

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 canonical doivent figurer dans votre sitemap, même si Google précise qu’il s’agit d’un signal de canonicalisation faible.

Note.
Les liens, internes comme externes, constituent un autre signal de canonicalisation, comme John Mueller le mentionne dans cette vidéo.

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 canonical 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 canonical.

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 canonical 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 canonical et, par conséquent, ne pourra pas transférer le « link equity » vers la version canonical.

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.

Note.
Vous devriez également utiliser les balises rel=prev/next pour la pagination. Elles ne sont plus utilisées par Google, mais Bing les utilise encore.

Erreur n°5 : ne pas utiliser les balises canonical 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 canonical dans la même langue, ou la meilleure langue de substitution possible si aucune page canonical 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 canonical.

Un autre cas problématique concerne les balises canonical ajoutées avec JavaScript. Si aucune URL canonical 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 canonical 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 canonical 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 canonical 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 canonical 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 canonical.

Voici les 14 problèmes de canonical que Site Audit peut détecter, et comment les corriger :

1. La balise canonical pointe vers une page 4XX

Une ou plusieurs pages sont canonicalisées vers une URL morte (4XX)

Pourquoi c’est un problème

Les moteurs de recherche n’indexent pas les pages 4XX, car elles ne fonctionnent pas. Par conséquent, ils ignorent toute balise canonical pointant vers ces pages et finissent souvent par indexer la mauvaise version (non canonical) de la page.

Comment corriger

Examinez les pages concernées et remplacez les liens canonical morts (4XX) par des liens vers des pages fonctionnelles (200) que vous souhaitez voir indexées.

2. La balise canonical pointe vers une page 5XX

Une ou plusieurs pages sont canonicalisées vers une URL 5XX.

Pourquoi c’est un problème

Les codes de statut HTTP 5XX indiquent des problèmes de serveur, ce qui rend la page canonical inaccessible. Google est peu susceptible d’indexer des pages inaccessibles et peut donc ignorer la balise canonical.

Comment corriger

Remplacez les URL canonical erronées par des URL valides. Vérifiez les erreurs de configuration du serveur si l’URL canonical spécifiée semble correcte. Notez que ce problème peut être temporaire si le crawl a eu lieu pendant une maintenance de votre site ou une surcharge du serveur.

3. La balise canonical pointe vers une redirection

Une ou plusieurs pages sont canonicalisées vers une URL redirigée.

Pourquoi c’est un problème

Les balises canonical doivent toujours pointer vers la version la plus autoritaire d’une page. Ce n’est pas le cas avec des URL qui redirigent. Par conséquent, les moteurs de recherche peuvent mal interpréter ou ignorer la balise canonical.

Comment corriger

Remplacez les liens canonical par des liens directs vers la version la plus autoritaire de la page (c’est-à-dire une version qui renvoie un code de statut HTTP 200 et ne redirige pas).

4. L’URL canonical n’a aucun lien interne entrant

Une ou plusieurs URL canonical spécifiées n’ont aucun lien interne entrant.

Pourquoi c’est un problème

Les URL canonical sans liens internes sont inaccessibles aux visiteurs du site. Quelque part sur le site, les utilisateurs sont dirigés vers une version non canonical de la page à la place.

Comment corriger

Remplacez tous les liens internes vers les pages canonicalisées par des liens directs vers la version canonical.

5. L’URL canonical n’a aucun lien interne entrant

Aucun lien interne ne pointe vers une ou plusieurs URL canonical déclarées.

Pourquoi c’est un problème

Parce qu’il n’existe aucun moyen pour les personnes qui naviguent sur votre site d’atteindre l’URL canonical. Les liens internes sont également un signal de canonicalisation pour Google.

Comment corriger

Vérifiez la navigation de votre site et l’architecture de vos liens pour vous assurer que toutes les pages canonical sont facilement accessibles. Vous devriez toujours créer des liens internes pointant directement vers l’URL canonical lorsque c’est possible.

6. Pages dupliquées sans canonical

Une ou plusieurs pages dupliquées ou très similaires existent sans spécifier de version canonical.

Pourquoi c’est un problème

En l’absence de canonical spécifiée, Google tentera d’identifier lui-même la version la plus appropriée à afficher dans les résultats de recherche. Ce ne sera pas forcément la version que vous souhaitez voir indexée.

Comment corriger

Examinez les groupes de doublons. Choisissez une version canonical qui doit être indexée dans les résultats de recherche. Spécifiez-la comme version canonical sur l’ensemble des doublons (et ajoutez une balise canonical auto-référente sur la version canonical).

7. hreflang vers une page non canonical

Une ou plusieurs pages spécifient une URL non canonical dans leurs annotations hreflang.

Pourquoi c’est un problème

Les liens dans les balises hreflang doivent toujours pointer vers les pages canonical. Créer un lien vers une version non canonical d’une page depuis les annotations hreflang peut induire les moteurs de recherche en erreur.

Comment corriger

Remplacez les liens dans les annotations hreflang des pages concernées par leurs URL canonical.

8. Page non canonical dans le sitemap

Une ou plusieurs pages non canonical figurent dans le sitemap.

Pourquoi c’est un problème

Google indique que vous ne devriez pas inclure d’URL non canonical dans votre sitemap. La raison : Google considère les pages présentes dans les sitemaps comme des canonical suggérées. Vous ne devriez lister dans vos sitemaps que les pages que vous souhaitez voir indexées.

Comment corriger

Supprimez les URL non canonical de votre sitemap.

9. Page non canonical spécifiée comme canonical

Une ou plusieurs pages spécifient une URL canonical qui est elle-même canonicalisée vers une page différente. Cela crée une « chaîne de canonical » où la page A est canonicalisée vers la page B, qui est ensuite canonicalisée vers la page C.

exemple-chaine-canonique-pour-seo

Pourquoi c’est potentiellement un problème

Les chaînes de canonical peuvent induire les moteurs de recherche en erreur. Par conséquent, ils peuvent mal interpréter ou ignorer la canonical spécifiée.

Comment corriger

Remplacez les liens non canonical dans les balises canonical des pages concernées par des liens directs vers la version canonical. Par exemple, si la page A est canonicalisée vers la page B, qui est elle-même canonicalisée vers la page C, remplacez le lien canonical de la page A par un lien vers la page C.

10. L’URL Open Graph ne correspond pas à la canonical

L’URL spécifiée dans la balise Open Graph og:url et dans la balise rel=canonical ne correspondent pas.

Pourquoi c’est potentiellement un problème

Ce n’est pas un problème pour le SEO sur Google, mais c’est la version non canonical de la page qui sera partagée sur les réseaux sociaux.

Comment corriger

Assurez-vous que l’URL spécifiée dans og:url correspond à l’URL de la page canonical.

11. Canonical de HTTPS vers HTTP

Une ou plusieurs pages sécurisées (HTTPS) spécifient une version non sécurisée (HTTP) comme canonical.

Pourquoi il peut être utile de corriger

HTTPS est un facteur de positionnement, il est donc logique de spécifier les versions sécurisées des pages comme canonical lorsque c’est possible.

Comment corriger

Redirigez la page HTTP vers son équivalent HTTPS. Si ce n’est pas possible, ajoutez un lien rel=“canonical” depuis la version HTTP de la page vers la version HTTPS.

“Note”
Google mentionne également l’implémentation de HSTS comme solution potentielle.

12. Canonical de HTTP vers HTTPS

Une ou plusieurs pages non sécurisées (HTTP) spécifient une version sécurisée (HTTPS) comme canonical.

Pourquoi il peut être utile de corriger

HTTPS est préféré à HTTP. Avoir une version HTTP d’une page puis spécifier la version HTTPS comme canonical est illogique. Cela ne causera probablement pas de problème majeur, mais cela vaut tout de même la peine d’être corrigé si possible.

Comment corriger

Mettez en place une redirection 301 de HTTP vers HTTPS. Vous devriez également remplacer tous les liens internes vers la version HTTP de la page par des liens directs vers la version HTTPS.

13. L’URL canonical a changé

La canonical déclarée sur une ou plusieurs URL a changé depuis le dernier crawl.

Pourquoi il peut être utile de corriger

Cela pourrait indiquer une erreur ou un problème survenu depuis le dernier crawl. N’oubliez pas que la canonical déclarée doit être la version de la page que vous souhaitez voir indexée et positionnée par Google.

Comment corriger

Examinez les pages concernées et assurez-vous que les modifications sont intentionnelles.

14. Une page non canonical reçoit du trafic organique

Une ou plusieurs pages non canonical apparaissent dans les résultats de recherche et reçoivent du trafic organique (ce qui ne devrait pas se produire).

Pourquoi il peut être utile de corriger

Soit vos balises canonical sont mal configurées, soit Google a choisi d’ignorer la canonical spécifiée.

Comment corriger

Vérifiez que les balises rel=canonical sont correctement configurées sur toutes les pages signalées. Si ce n’est pas le problème, utilisez l’outil d’inspection des URL dans Google Search Console pour voir si Google considère l’URL canonical spécifiée comme canonical. En cas de divergence, cherchez à comprendre pourquoi.

Lisez le guide sur la canonicalisation de mon collègue Patrick sur le blog Ahrefs en anglais (article canonicalization) : il entre plus en détail sur les signaux de canonicalisation et explique comment vérifier la façon dont Google perçoit le canonical d’une URL à l’aide de l’outil d’inspection des URL dans Google Search Console.

Des questions ? Venez en parler sur la page LinkedIn Ahrefs en français, on répond à tout le monde.