web-dev-qa-db-fra.com

Différence entre rel = "canonical" et og: url?

J'ai du mal à comprendre les URL canoniques en ce qui concerne la façon dont les moteurs de recherche et Facebook semblent les gérer.

Mon site propulsé par Google Maps permet aux visiteurs d'utiliser les médias sociaux pour demander un concert dans leur pays. L'une des pages en question se trouve à: http://izzy.nogig.in/

Lorsqu'un utilisateur clique sur le marqueur de son pays, cela lui donne des options de partage (Twitter/facebook/etc) qui, une fois partagées, partageront l'URL spécifiquement pour ce pays, par exemple: izzy.nogig.in/usa? ou izzy.nogig.in/spain? etc.

Tous ces pays dans l'URL représentent beaucoup de contenu en double, j'utilise donc les éléments suivants pour pointer les moteurs de recherche vers la page que je souhaite classer: -

<link rel="canonical" href="http://izzy.nogig.in/_?"/>

Pour que Facebook aime compter pour chaque pays, j'ai défini mon graphique ouvert "og: url" comme suit, par exemple:

<meta property="og:url" content="http://izzy.nogig.in/australia?" />

Maintenant, lorsque j'exécute une URL spécifique au pays via le débogueur d'objet Facebook (par exemple, http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fizzy.nogig .in% 2Faustralia% 3F ) il montre ce qui suit: -

Response Code:  206
Fetched URL:    http://izzy.nogig.in/australia
Canonical URL:  http://izzy.nogig.in/australia

Mismatch og:url and canonical url:
og:url tag in the header is not the same URL as rel='canonical' link in the html.

L'erreur ci-dessus est ce qui m'embrouille. Je sais qu'ils ne correspondent pas, mais je pensais que c'était la bonne façon de procéder.

Tout dans le débogueur me semble bien (lien correct, description, image, etc. pour chaque pays), et je ne peux pas modifier la valeur rel = "canonical" pour qu'elle corresponde à mon og: url car j'en ai besoin en pointant sur une seule page ( pays) pour les moteurs de recherche.

Je crois que tout fonctionne correctement. Dois-je simplement ignorer l'erreur du débogueur, ou ai-je mal configuré cela? Je ne veux pas que les "likes" pour chaque pays disparaissent et comptent pour l'URL rel = "canonical".

Merci beaucoup - Will

23
Will

lien rel="canonical" sera utilisé par les moteurs de recherche alors que og:url sera utilisé par facebook

og:url indique essentiellement au racleur FB "ignore anything on this page, and scrape this url instead "

Plus pour l'élément de lien canonique: http://en.wikipedia.org/wiki/Canonical_link_element

17
Hamed Ali Khan

Sur l'un des sites que j'ai développés, je diffuse la page dans plusieurs langues et je propose des liens permettant à l'utilisateur de basculer d'une langue à l'autre. Alors, mon rel="canonical" aura l'URL http://www.example.com/, alors que, dans le code, je mets à jour le og:url pour que ce soit http://en.example.com/ ou http://fr.example.com/. De cette façon, lorsque l'utilisateur partage la page sur Facebook, tout apparaîtra sur Facebook dans la langue dans laquelle il consultait la page, ce qui est logique car la plupart des amis du visiteur parleront probablement la même langue.

Cordialement.

3
John Sonderson

Les URL canoniques font référence au contenu de la page .

L'IRI cible (canonique) DOIT identifier le contenu qui est soit duplicatif soit un sur-ensemble du contenu au contexte (référence) IRI. rfc6596 #

L'URL d'Opengraph fait référence à "objet" .

L'URL canonique de votre objet qui sera utilisée comme son ID permanent dans le graphique, par exemple, " http://www.imdb.com/title/tt0117500/ ". ogp.me

Ils peuvent donc être différents. Par exemple, pour les sites Web multilingues, la page de chaque langue doit avoir une URL canonique distincte, car le contenu est différent, mais généralement le même og:url pour toutes les langues, car elles font référence au même objet décrit dans plusieurs langues.

3
kolen

Je ne vois aucune raison pour laquelle og: url et canonical devraient être différents. Dans les deux cas, vous dites au moteur de recherche ou à Facebook quelle page vous souhaitez indexer ou afficher.

0
BigBadMe