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">
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 lienbase
, tous les liens relatifs seront relatifs à ce lienbase
.
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.
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.
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:
- Spécifiez un IRI relatif (voir [RFC3986], Section 4.2 ).
Un des exemples :
[…] Ou en tant qu'IRI relatif:
<link rel="canonical" href="page.php?item=purse">
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!).