web-dev-qa-db-fra.com

Les liens canoniques nécessitent-ils un domaine complet?

Je souhaite ajouter des liens canoniques à mes pages, mais dois-je spécifier le domaine ou une URL relative le fera-t-elle?

En d'autres termes, c'est:

<link rel="canonical" href="/item/1">

assez bon, ou dois-je utiliser:

<link rel="canonical" href="http://mydomain.com/item/1">
38
Richard

Directement depuis Google: 

http://support.google.com/webmasters/bin/answer.py?hl=fr&answer=139394

Le lien peut-il être relatif ou absolu?
rel="canonical" peut être utilisé avec des liens relatifs ou absolus, mais nous vous recommandons d’utiliser des liens absolus pour minimiser les risques de confusion ou de difficultés. Si votre document spécifie un lien base, tous les liens relatifs seront relatifs à ce lien base.

37
Remy

Tous les attributs href sont des références hypertextes - c’est ce que cela signifie. En tant que tels, ils sont toujours des références URI, pas des URI, et peuvent être relatifs.

Dans ce cas cependant, il est avantageux d'indiquer l'URI complet si vous le pouvez, car il survivra à tout ce qui le migre dans un autre domaine à l'avenir (en supposant que vous souhaitiez toujours que le domaine répertorié soit le domaine canonique) et que même survivre à certains des plagiats automatisés plus crus :)

Cet avantage est assez léger si vous n'utilisez pas activement des versions non canoniques sur d'autres domaines, donc je ne dépenserais pas beaucoup d'efforts dessus.

6
Jon Hanna

Encore une fois, Google dit ceci:

https://support.google.com/webmasters/answer/139066?hl=fr

Éviter les erreurs: utilisez des chemins absolus plutôt que des chemins relatifs avec l'élément de lien rel="canonical".

Utilisez cette structure: https://www.example.com/dresses/green/greendresss.html

Not cette structure: /dresses/green/greendress.html).

Par exemple, voici leurs URL:

http://example.com/wordpress/seo-plugin/

http://example.com/wordpress/seo/seo-plugin/

C'est pour cela que rel=canonical a été inventé. Surtout dans de nombreux systèmes de commerce électronique, cela se produit (malheureusement) assez souvent, lorsqu'un produit a plusieurs URL différentes en fonction de la manière dont vous y êtes arrivé. Vous appliqueriez rel=canonical dans la méthode suivante:

Vous choisissez l'une de vos deux pages comme version canonique. Ce devrait être la version qui vous semble la plus importante. Si vous ne vous en souciez pas, choisissez celui qui contient le plus de liens ou de visiteurs. Si tout cela est égal: lancez une pièce de monnaie. Vous devez choisir.
Ajoutez un lien rel=canonical de la page non canonique à la page canonique. Donc, si nous choisissions l'URL la plus courte comme URL canonique, l'autre URL serait liée à l'URL la plus courte, comme dans la section <head> de la page:

<link rel="canonical" href="http://example.com/wordpress/seo-plugin/">

C'est tout. Ni plus ni moins.

5
Josip Ivic

canonical n'a rien de spécial. C'est un type de lien standard, à utiliser avec les moyens standard de fournir des liens (par exemple, l'élément link), de sorte que vous puissiez spécifier tout type de référence d'URL (absolu, relatif, protocole-relatif , en combinaison avec l'élément base , vide , …).

RFC 6596 ( La relation de lien canonique ) dit explicitement :

La cible (canonique) IRI PEUT:

Un des exemples :

[…] Ou en tant qu'IRI relatif:

<link rel="canonical" href="page.php?item=purse">
2
unor

Mise à jour sur les meilleures pratiques canoniques: rel="canonical" prend en charge plusieurs domaines. Source de Google: https://webmasters.googleblog.com/2009/12/handling-legitimate-cross-domain.html

De plus, l'introduction de données structurées rend l'utilisation de textes canoniques encore plus stricte, car Google ne récupérera pas le balisage JSON à partir de sources non canoniques (une erreur que j'ai pu commettre!).

0
AnnaG