Spécifier une URL canonique avec rel="canonical" et d'autres méthodes

Si vous souhaitez spécifier une URL canonique pour des pages en double ou très similaires du point de vue de la recherche Google, vous pouvez indiquer votre préférence via différentes méthodes. Voici, par ordre d'importance, les méthodes qui peuvent influencer le choix de l'URL canonique :

Gardez à l'esprit que ces méthodes peuvent se chevaucher et qu'elles deviennent donc plus efficaces lorsqu'elles sont combinées. Autrement dit, si vous utilisez deux méthodes ou plus, vous aurez plus de chances que votre URL canonique préférée apparaisse dans les résultats de recherche.

Nous vous encourageons à utiliser ces méthodes, mais aucune d'entre elles n'est obligatoire. Votre site devrait s'en sortir sans spécifier de préférence canonique. En effet, si vous ne spécifiez pas d'URL canonique, Google identifiera la version de l'URL qui est objectivement la plus pertinente pour les utilisateurs dans la recherche.

Pourquoi spécifier une URL canonique ?

Bien qu'il ne soit généralement pas crucial de spécifier une préférence canonique pour vos URL, plusieurs raisons peuvent vous inciter à indiquer explicitement à Google une page canonique dans un ensemble de pages en double ou semblables :

  • Pour définir l'URL que vous souhaitez voir affichée dans les résultats de recherche. Vous préférez peut-être que les internautes accèdent à votre page produit présentant vos robes vertes via https://www.example.com/dresses/green/greendress.html plutôt que via https://example.com/dresses/cocktail?gclid=ABCD.
  • Pour regrouper des indicateurs de liens pour les pages similaires ou en double. Cela permet aux moteurs de recherche de regrouper les signaux dont ils disposent concernant les URL individuelles (comme les liens vers ces dernières) en une seule URL favorite. Autrement dit, les signaux d'autres sites renvoyant vers https://example.com/dresses/cocktail?gclid=ABCD sont regroupés avec des liens vers https://www.example.com/dresses/green/greendress.html si cette dernière URL devient canonique.
  • Pour simplifier le suivi des métriques d'un contenu. Avec différentes URL, il peut être plus difficile d'obtenir des données regroupées pour un contenu spécifique.
  • Pour éviter de perdre du temps à explorer des pages en double. Vous souhaitez sans doute que Googlebot exploite au mieux votre site. Par conséquent, il est préférable qu'il passe du temps à explorer les nouvelles pages (ou les pages mises à jour) de votre site, plutôt que les versions en double du même contenu.

Bonnes pratiques

Quelle que soit la méthode de choix de l'URL canonique utilisée, suivez ces bonnes pratiques :

  • N'utilisez pas le fichier robots.txt pour essayer de déterminer le choix de l'URL canonique.
  • N'utilisez pas l'outil de suppression d'URL pour le choix de l'URL canonique, car il masque toutes les versions d'une URL de la recherche.
  • Ne définissez pas différentes URL canoniques pour la même page à l'aide de différentes méthodes de choix de l'URL canonique (par exemple, une URL dans un sitemap et une URL différente pour la même page avec l'attribut rel="canonical").
  • Ne spécifiez pas un fragment d'URL comme canonique, car Google n'accepte généralement pas les fragments d'URL.
  • Nous déconseillons d'utiliser noindex pour empêcher la sélection d'une page canonique au sein d'un seul site, car cela empêcherait complètement la page d'apparaître dans le recherche. Nous vous recommandons d'utiliser les annotations link rel="canonical".
  • Si vous utilisez des éléments hreflang, veillez à spécifier une page canonique dans la même langue, ou dans la langue de substitution la plus pertinente s'il n'existe pas de page canonique pour la même langue.
  • Lorsque vous créez un lien sur votre site, préférez une URL canonique plutôt qu'une URL en double. Lorsque vous indiquez constamment l'URL que vous considérez comme canonique, Google comprend plus facilement votre préférence.

Comparaison des méthodes de choix de l'URL canonique

Le tableau suivant compare les différentes méthodes de choix de l'URL canonique, en mettant en évidence leurs points forts et leurs points faibles en termes de gestion et d'efficacité dans différents scénarios.

Méthode et description
Élément rel="canonical" link

Ajoutez un élément <link> au code de toutes les pages en double, redirigeant vers la page canonique.

Avantages :
  • Peut mettre en correspondance un nombre infini de pages en double.
Inconvénients :
  • Gestion de la mise en correspondance complexe sur les sites volumineux ou sur ceux dont les URL changent souvent.
  • Fonctionne uniquement pour les pages HTML, pas pour les fichiers comme les PDF. Dans ce cas, vous pouvez utiliser l'en-tête HTTP rel="canonical".
En-tête HTTP rel="canonical"

Envoyez un en-tête rel="canonical" dans la réponse de votre page.

Avantages :
  • N'augmente pas la taille de la page.
  • Peut mettre en correspondance un nombre infini de pages en double.
Inconvénients :
  • Gestion de la mise en correspondance complexe sur les sites volumineux ou sur ceux dont les URL changent souvent.
Sitemap

Définissez vos pages canoniques dans un sitemap.

Avantages :

  • Facile à mettre en place et à gérer, surtout sur des sites volumineux.

Inconvénients :

  • Googlebot devra malgré tout trouver les pages en double associées à toutes les pages canoniques que vous désignez dans le sitemap.
  • Indicateur moins puissant pour Google que la technique de mise en correspondance rel="canonical".
Redirections Utilisez les redirections pour indiquer à Googlebot qu'une URL de redirection constitue une meilleure version qu'une URL donnée. Utilisez cette méthode uniquement lorsque vous abandonnez une page en double.
Variante AMP Si l'une de vos variantes est une page AMP, suivez les consignes AMP pour indiquer la page canonique et la variante AMP.

Comme décrit dans la RFC 6596, Google accepte les annotations link rel canonical explicites. Les annotations rel="canonical" qui suggèrent d'autres versions d'une page sont ignorées. Plus précisément, les annotations rel="canonical" avec les attributs hreflang, lang, media et type ne sont pas utilisées pour la choix de l'URL canonique. Utilisez plutôt les annotations link appropriées pour spécifier d'autres versions d'une page. Par exemple, link rel="alternate" hreflang pour les annotations de langue et de pays.

Vous pouvez fournir les annotations link rel="canonical" de deux manières :

Nous vous recommandons de choisir l'une de ces options. Bien que l'utilisation simultanée des deux méthodes soit possible, elle est plus sujette aux erreurs (par exemple, vous pouvez fournir une URL dans l'en-tête HTTP et une autre dans l'élément link rel="canonical").

Un élément link rel="canonical" (également appelé élément canonique) est un élément utilisé dans la section head du code HTML pour indiquer qu'une autre page est représentative de ce contenu.

Imaginons que vous souhaitiez faire de https://example.com/dresses/green-dresses votre URL canonique, même si plusieurs URL permettent d'accéder à ce contenu. Suivez ces étapes pour indiquer que cette URL est canonique :

  1. Ajoutez un élément <link> avec l'attribut rel="canonical" à la section <head> des pages en double, redirigeant vers la page canonique. Exemple :
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  2. Si la page canonique comporte une variante pour mobile sur une URL distincte, ajoutez-y un élément link rel="alternate" qui pointe vers la version mobile de la page :
    <html>
    <head>
    <title>Explore the world of dresses</title>
    <link rel="alternate" media="only screen and (max-width: 640px)"  href="https://m.example.com/dresses/green-dresses">
    <link rel="canonical" href="https://example.com/dresses/green-dresses" />
    <!-- other elements -->
    </head>
    <!-- rest of the HTML -->
  3. Ajoutez tout élément hreflang ou tout autre élément approprié pour la page.

Utilisez des chemins absolus plutôt que relatifs avec l'élément link rel="canonical". Même si les chemins relatifs sont acceptés par Google, ils peuvent poser des problèmes à long terme (par exemple, si vous autorisez involontairement l'exploration de votre site de test). Par conséquent, nous vous déconseillons d'y recourir.

À faire : https://www.example.com/dresses/green/greendress.html

À ne pas faire : /dresses/green/greendress.html

L'élément link element rel="canonical" n'est accepté que s'il apparaît dans la section <head> du code HTML. Assurez-vous donc qu'au moins la section <head> correspond à du code HTML valide.

Si vous utilisez JavaScript pour ajouter l'élément link rel="canonical", veillez à injecter correctement l'élément link canonique.

En-tête HTTP rel="canonical"

Si vous pouvez modifier la configuration de votre serveur, vous pouvez utiliser un en-tête de réponse HTTP link avec un attribut cible rel="canonical" tel que défini par la RFC5988 plutôt qu'un élément HTML pour indiquer l'URL canonique d'un document qui peut figurer dans la recherche, y compris les documents non HTML tels que les fichiers PDF.

Google n'accepte cette méthode que pour les résultats de recherche sur le Web.

Si vous publiez du contenu dans de nombreux formats de fichiers comme PDF ou Microsoft Word, chacun avec sa propre URL, vous pouvez renvoyer un en-tête HTTP rel="canonical" pour indiquer à Googlebot quelle est l'URL canonique des fichiers qui ne sont pas au format HTML. Par exemple, pour indiquer que la version PDF du document .docx doit être canonique, vous pouvez ajouter cet en-tête HTTP pour la version .docx du contenu :

HTTP/1.1 200 OK
Content-Length: 19
...
Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical"
...

Comme pour l'élément link rel="canonical", utilisez des URL absolues dans l'en-tête HTTP rel="canonical" et, conformément à la RFC2616, n'utilisez que des guillemets doubles autour de l'URL.

Utiliser un sitemap

Choisissez une URL canonique pour chacune de vos pages et envoyez-les dans un sitemap. Toutes les pages répertoriées dans un sitemap sont suggérées en tant que pages canoniques. Google déterminera lesquelles sont en double, le cas échéant, en fonction de la similarité du contenu.

Fournir les URL canoniques préférées dans les sitemaps est un moyen simple de définir des URL canoniques pour un site volumineux. Les sitemaps permettent d'indiquer à Google les pages de votre site qui sont les plus importantes pour vous.

Utiliser des redirections

Optez pour cette méthode lorsque vous souhaitez supprimer des pages en double. Toutes les méthodes de redirection (redirections 301 et 302, meta-refresh, redirections JavaScript) ont le même effet sur la recherche Google. Toutefois, le temps nécessaire aux moteurs de recherche pour réagir à ces différentes méthodes peut varier.

Pour l'effet le plus rapide possible, utilisez des redirections HTTP 3xx (également appelées redirections côté serveur).

Admettons qu'il est possible d'accéder à votre page de plusieurs manières :

  • https://example.com/home
  • https://home.example.com
  • https://www.example.com

Choisissez votre URL canonique parmi ces URL et utilisez des redirections pour envoyer le trafic provenant des autres URL vers l'URL choisie.

Autres signaux

Outre les méthodes explicitement fournies, Google utilise également un ensemble de signaux qui sont généralement basés sur la configuration du site pour déterminer le choix de l'URL canonique. Nous privilégions le protocole HTTPS plutôt que HTTP, ainsi que les URL dans les clusters hreflang.

Préférer le HTTPS au HTTP pour les URL canoniques

Nous préférons définir une page HTTPS comme canonique plutôt que son équivalent HTTP, sauf en cas de problèmes ou d'indicateurs contradictoires. En voici quelques exemples :

  • La page HTTPS dispose d'un certificat SSL incorrect.
  • La page HTTPS contient des dépendances non sécurisées (autres que des images).
  • La page HTTPS redirige les internautes vers ou via une page HTTP.
  • La page HTTPS possède une balise link rel="canonical" vers la page HTTP.

Bien que nos systèmes préfèrent les pages HTTPS aux pages HTTP par défaut, vous pouvez vous assurer de ce comportement en effectuant l'une des actions suivantes :

  • Ajoutez des redirections sur la page HTTP vers la page HTTPS.
  • Ajoutez une balise link rel="canonical" sur la page HTTP vers la page HTTPS.
  • Mettez en œuvre le mécanisme HSTS.

Pour nous empêcher de définir à tort la page HTTP comme URL canonique, évitez les pratiques suivantes :

  • Utiliser des certificats TLS/SSL et des redirections HTTPS vers HTTP incorrects, car ils nous incitent à privilégier le protocole HTTP. La mise en œuvre du mécanisme HSTS ne saurait se substituer à cette nette préférence.
  • N'incluez pas la version HTTP de vos pages dans votre sitemap ni vos annotations hreflang plutôt que la version HTTPS.
  • Évitez d'implémenter votre certificat SSL/TLS pour le mauvais hôte (par exemple, en affichant le certificat pour subdomain.example.com sur example.com). Le certificat doit correspondre à l'URL exacte de votre site. Vous pouvez également utiliser un certificat générique adaptable à plusieurs sous-domaines d'un domaine.

Privilégier les URL dans les clusters hreflang

Pour les besoins de localisation des sites, Google préfère les URL qui font partie de clusters hreflang. Par exemple, si https://example.com/de-de/cats et https://example.com/de-ch/cats renvoient l'un vers l'autre avec des annotations hreflang, mais ne renvoient pas à https://example.com/de-at/cats, les pages correspondant à de-de et de-ch seront plus susceptibles d'être choisies en tant que pages canoniques plutôt que /de-at/, qui n'apparaît pas dans le cluster hreflang.

En savoir plus sur la résolution des problèmes liés au choix de l'URL canonique