Balise canonique : ce qui se cache derrière les URL canoniques

Lorsque les moteurs de recherche indexent le contenu des sites Web, ils suivent deux grands principes : d’abord, chaque page incluse dans l'index doit pouvoir répondre à au moins une requête de recherche pertinente. D'autre part, le contenu d'une page ne peut être accessible qu’à partir d’une seule URL, faute de quoi il est classé comme contenu dupliqué : cela signifie que la page en question n'entre pas dans l'index, ou disparaît de celui-ci. Cela constitue un défi notamment pour les projets Web qui offrent un contenu presque identique dans la même langue dans des domaines spécifiques à différents pays (par exemple, des boutiques, avec des pages pour la France, la Suisse et la Belgique). Les descriptions des produits ne diffèrent souvent que par la devise et les frais d'expédition. Pour de nombreuses boutiques en ligne, il existe en général un risque de contenu dupliqué si elles proposent plusieurs variantes d'un produit et que la description ne diffère que sur quelques termes isolés, par exemple des chaussures disponibles en plusieurs couleurs différentes.

Comme solution possible à ce problème, on peut utiliser une balise canonique pour déclarer une URL ou URI en tant que ressource par défaut pour l'indexation.

Qu’est-ce qu’une balise canonique ?

En 2009, Yahoo, Microsoft et Google ont introduit un nouveau type de lien appelé canonical, qui est rapidement devenu l'un des outils les plus importants pour le référencement, et qui est devenu en 2012 un standard officiel du Web dans la RFC 6596. En tant que composant d’un lien, il est implémenté dans l'en-tête HTML d'une page Web, au même endroit où se trouvent par exemple le titre et la méta-description. Si le lien canonique est inclus dans une page, il se réfère à une URL standard spécifiée ou URI, qui est également appelée URL canonique et doit être utilisée comme source d'indexation à la place de cette page.

En conséquence, l'URL canonique combine sa propre popularité avec celles des pages de référencement, générant ainsi un meilleur classement. Comme les URL marquées avec la balise ne sont pas incluses dans l'index, il n'y a pas de problème de contenu dupliqué. Toutefois, l'attribution n'est qu'une suggestion aux moteurs de recherche qui, pour leur part, n'ont pas nécessairement à saisir l'attribut de lien et à l'inclure dans l'évaluation. Si l'implémentation est incomplète ou incorrecte, il existe même un risque que l'ensemble du site soit ignoré : il est donc très important d'utiliser correctement la balise canonique.

Comment fonctionne une balise canonique ?

Deux éléments sont nécessaires pour que la balise canonique fonctionne correctement : tout d'abord, vous avez besoin de l'URL exacte de la page canonique désirée, afin de la déclarer ressource par défaut. D'autre part, vous avez besoin d'un élément de lien dans lequel vous pouvez insérer l'URL canonique, y compris l’élément canonique. Le code correspondant se présente comme ceci :

<link rel="canonical" href="URL/URI de la page canonique">

L'élément de lien, qui n'a pas de balise de fin en HTML, ne contient que les attributs rel et href comme élément vide ; le premier est requis pour spécifier la relation entre le document actuel et le document relié, tandis que le second précise où se trouve le document relié. À cette fin, les valeurs requises se trouvent entre guillemets : la valeur rel "canonical" spécifie que l'URL reliée doit être une URL canonique, ce qui est spécifié dans l'attribut href ci-dessous.

Conseil

Vous pouvez non seulement utiliser une balise canonique pour les liens internes, mais aussi faire référence à un domaine externe. La procédure est identique, c'est pourquoi dans ce cas vous devez également spécifier l'URL exacte et non l'adresse standard du site Web.

Pour que les pages alternatives puissent faire référence à la ressource standard spécifiée, le code doit être inséré dans la zone d'en-tête des documents HTML concernés. Si le contenu n'est pas disponible en HTML, comme par exemple pour un fichier PDF, il peut également être implémenté dans l'en-tête HTTP. Ceci implique logiquement une syntaxe légèrement différente :

Link: <URL/URI de la page canonique>; rel="canonical"

Quand est-il pertinent d'utiliser des éléments canoniques ?

Par définition, la balise canonique n'est pas un facteur que les moteurs de recherche doivent nécessairement inclure. En spécifiant une version précise et représentative d'un contenu qui existe plus d'une fois, vous ne faites que fournir de l'aide aux robots des moteurs de recherche, et vous ne pouvez en aucun cas être sûr que cela sera remarqué. Dans la mesure où le code doit également être mis en œuvre de façon indépendante pour chaque contenu et chaque URI alternative, il faut se demander si l’effort en vaut vraiment la peine. Dans ce qui suit, nous expliquons quatre contextes dans lesquels il peut être intéressant d’utiliser des balises canoniques.

Le contenu est distribué à des URL dynamiques

Les URL dynamiques jouent un rôle important aujourd'hui, en particulier dans le commerce électronique. Les pages spécifiques à l'utilisateur constituent une option simple et excellente pour présenter le même contenu (y compris de légères variations) à différents utilisateurs, mais ils créent toujours des problèmes pour le moteur de recherche. Ici, il est fortement recommandé d’avoir recours à des balises canonicales sont pour éviter d'éventuels doublons dans les classifications de contenu.

Le contenu est accessible via différentes URL

En raison de leur structure, certains projets Web tels que les blogs, les boutiques en ligne ou les portails de guides, offrent simultanément du contenu dans plusieurs catégories, souvent sous différentes URL. Par exemple, une boutique pourrait lister une page d'aperçu de l'article "chemise verte" sous les URL suivantes :

  • mon-ecommerce.shop/mode/chemise-verte
  • mon-ecommerce.shop/modeete/chemise-verte
  • mon-ecommerce.shop/modehiver/chemise-verte

Il arrive souvent que l’on puisse accéder au contenu via différentes URL, même si les structures d'un site Web changent, ou même si l’on procède à un transfert de domaine complet. Dans ce type de cas, on a recours à des redirections 301, mais si ce n'est pas possible pour des raisons techniques, la balise link rel="canonical" constitue une bonne alternative.

Le contenu est disponible sur différents domaines

La balise canonique inter-sites permet de proposer vos messages sur un autre domaine sans aucun problème et sans créer de contenu dupliqué. En outre, les signaux positifs de l'utilisateur, les liens ou d'autres facteurs pertinents de classement sont transférés à l'URL d'origine, ce qui peut considérablement améliorer ses performances.

Les contenus présentent des formats différents

Dans certaines situations, il est judicieux de publier le contenu dans différents formats et, par exemple, de proposer un formulaire non seulement en version HTML, mais aussi sous forme de fichier PDF et d'édition imprimée. Pour que les moteurs de recherche n'évaluent pas chaque variante indépendamment et, dans le pire des cas produisent un mauvais classement, il est recommandé d’utiliser des balises canoniques. Selon le format, il est possible que vous deviez intégrer la balise dans la syntaxe modifiée dans l'en-tête HTTP.

Conseil

Si vous disposez d’un certificat SSL/TLS valide, il est recommandé d’utiliser des URL canoniques HTTPS sécurisées et d’y faire référence à partir des variantes non sauvegardées (HTTP). Il en va de même pour les pages mobiles ou AMP. Pour celles-ci, il même obligatoires d’utiliser des balises canoniques.

Différences entre les balises canoniques et la redirection 301

À première vue, la balise canonique semble très similaire aux redirections 301. Ces redirections, qui sont basées sur le code d'état HTTP 301 (Moved Permanently), signalent également aux moteurs de recherche que les différentes pages Web doivent être comptées comme un seul exemplaire. En outre, les redirections conduisent également les visiteurs à l'URL déclarée comme étant l'originale, tandis que toutes les autres variantes sont supprimées. Les pages avec une balise canonique ne sont identifiées que comme des copies pour les moteurs de recherche, et restent donc toujours accessibles pour les utilisateurs.

Par ailleurs, les moteurs de recherche n'ignorent jamais une redirection, alors qu’ils peuvent ignorer la balise recommandée de l'élément de lien. Enfin, les deux méthodes diffèrent également dans leur fonctionnalité pour l'utilisation inter-domaines (cross-domains) : alors que les redirections 301 déplacent une page d’un domaine A vers un domaine B, une balise canonique indique seulement qu'il existe un équivalent d'une page du site A sur le site B.

Balise canonique : les erreurs fréquentes

Une URL canonique est la solution optimale dans de nombreux cas pour éviter la duplication de contenu sur votre site Web. Les principaux moteurs de recherche prennent en compte le marquage canonique lors de l'indexation, et comprennent ainsi que vous ne souhaitez pas vous classer avec le même contenu ou un contenu similaire en parallèle. En outre, les signaux positifs des moteurs de recherche sont combinés dans l'URL principale, ce qui améliore leur classement. Toutefois, il convient également de noter que l'utilisation de balises canoniques peut rapidement s'avérer contre-productifs si elles ne sont pas correctement mises en œuvre. Les sections suivantes expliquent quelles sont les erreurs les plus courantes dans l’utilisation des balises canoniques.

Les pages numérotées renvoient à une URL canonique

Afin de présenter le contenu d'une façon attrayante, de nombreux webmasters ont recours à la pagination. Les portails d'information en particulier utilisent cette méthode, dans laquelle le contenu est divisé et numéroté sur plusieurs pages. Cependant, si vous utilisez des balises canoniques pour ce type de contenu et que vous vous référez à l'URL source sur les pages ultérieures avec link-rel="canonical", il s’agit une grave erreur : les pages suivantes ne sont en aucun cas des doublons, ce qui explique pourquoi le contenu unique n'est pas inclus dans l'index. Si vous souhaitez toujours fournir aux moteurs de recherche des informations sur la pagination sélectionnée, ce sont les deux procédures qui sont recommandées :

  • Renvoyer à la page précédente et à la page suivante sur chaque URL. Pour cela, vous avez également besoin de l'attribut link rel, mais il faut remplacer la valeur "canonical" par "prev" ou "next".
  • Avec link-rel="canonical", renvoyer à une version d'une page du contenu en question, qui combine toutes les pages numérotées.

Les URL relatives ne renvoient pas vers la page canonique souhaitée

Comme la plupart des balises HTML, la balise <link> vous permet de spécifier des URL absolues et relatives. Si les URL absolues décrivent l'ensemble du chemin (y compris "http://", etc.), les URL relatives font référence à un dossier spécifique sur le site Web actuel, sans qu'il soit nécessaire de spécifier l'URL complète. Par exemple, un chemin relatif "images/image.jpg" indique que l'image "image.jpg" est disponible dans le sous-dossier "images" du répertoire. Si l’on utilise une balise canonique, cependant, les chemins de ce type entraînent rapidement des complications, de sorte que les robots peuvent aller jusqu’à ignorer complètement la balise.

À titre d'exemple, Google se réfère à la balise suivante :

< link rel="canonical" href="exemple.com/cupcake.html" >

Dans la mesure où il n’y a pas de préfixe HTTP, le robot considère l'URL "example.com/cupcake.html" comme une URL relative et suppose que l'URL canonique souhaitée est "http://exemple.com/exemple.com/cupcake.html". Dans l’idéal, il faut toujours spécifier l'URL complète lorsque l’on définit la balise canonique, ou du moins se référer à une URL absolue sans domaine :

< link rel="canonical" href="/cupcake.html" />

Les pages font référence à plus d'une URL canonique

La nature des URL canoniques exclut logiquement qu'une sous-page renvoie à plusieurs de ces pages standard. Ce type de liens multiples est créé rapidement lorsque l’on travaille avec un système de gestion de contenu ou avec un logiciel de boutique. Les plugins et les modèles utilisent souvent des balises canoniques automatiques et discrètes, même si l’on a déjà balisé une URL canonique. Si vous utilisez ce type d’extensions, mais aussi lorsque vous apportez des modifications à la structure de la page, vous devez donc vérifier le code source et corriger les entrées le cas échéant. Dans le cas contraire, vos efforts pourront s’avérer infructueux, car les moteurs de recherche ignoreront probablement toutes les balises canonicales au lieu d'en favoriser une seule.

L’URL canonique est affichée dans le corps du texte

L'élément de lien peut être inclus dans un document HTML aussi souvent que nécessaire. Toutefois, la plage <tête> doit être utilisée pour la fonctionnalité des attributs utilisés. Si le balisage a lieu dans la partie <corps> de la page en question, il n'a pas d'effet. Pour éviter les problèmes avec l'analyse HTML, Google recommande également que la balise canonique apparaisse dans l'en-tête le plus tôt possible.

Il manque des balises canoniques dans la version mobile

Si vous proposez une version mobile de votre site Web en plus de la version bureau, il est possible de faire beaucoup d'erreurs lors du balisage des structures relationnelles. Et même si les pages mobiles sont indexées malgré le manque d'informations, il faut aider les moteurs de recherche à y accéder et à les catégoriser. Google recommande de marquer la partie mobile comme une version alternative en utilisant rel="alternate", et de lier des pages mobiles aux différentes URL grâce à une balise canonique. Le géant des moteurs de recherche a résumé des conseils détaillés et des procédures possibles dans un guide Mobile Friendly Websites.

Les balises canoniques et hreflang se contredisent

Les projets Web internationaux avec différents domaines de pays posent un grand défi pour le référencement. D'une part, les pages de toutes les variantes doivent obtenir un bon classement et être délivrées aux bons utilisateurs, d'autre part, le risque de contenu dupliqué doit être réduit au minimum. L'un des outils les plus importants est l'attribut hreflang, qui peut être utilisé pour marquer chacune des versions comme des alternatives équivalentes.

Pour ce faire, il est nécessaire que ces pages se réfèrent toujours à elles-mêmes. Si ces URL font référence à une URL canonique en même temps qu’elles utilisent une balise canonique, c'est en toute logique contradictoire pour les robots des moteurs de recherche. En conséquence, le moteur de recherche ignore les signaux et indexe les pages Web en fonction d'autres caractéristiques. Vous devez donc absolument éviter d'utiliser les deux instructions de façon simultanée.

Note

Combiner URL canoniques et hreflang crée des contradictions qui ont un effet négatif sur le classement de vos pages. Le partage de balises canoniques et d'instructions telles que "nofollow", "noindex" ou "disallow" n'est pas non plus recommandé par Google.