rel ="canonical"和og:url之间的区别?

Wil*_*ill 22 facebook canonical-link facebook-opengraph

我无法理解关于搜索引擎和Facebook如何处理它们的规范URL.

我的Google地图供电网站允许访问者使用社交媒体在其所在国家/地区申请演出.其中一个页面可以在http://izzy.nogig.in/找到.

当用户点击他们的国家/地区标记时,它会为他们提供共享选项(twitter/facebook/etc),这些选项在共享时将专门为该国家/地区共享URL,例如:izzy.nogig.in/usa?还是izzy.nogig.in/spain?等等

URL中的所有这些国家/地区都包含大量重复内容,因此我使用以下内容将搜索引擎指向我想要排名的页面: -

<link rel="canonical" href="http://izzy.nogig.in/_?"/>
Run Code Online (Sandbox Code Playgroud)

对于Facebook喜欢计入每个国家我已经设置了我的Open Graph"og:url"如下,例如:

<meta property="og:url" content="http://izzy.nogig.in/australia?" />
Run Code Online (Sandbox Code Playgroud)

现在,当我通过Facebook对象调试器运行国家特定的URL时(例如http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Fizzy.nogig.in%2Faustralia %3F)它显示以下内容: -

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.
Run Code Online (Sandbox Code Playgroud)

上面的错误令我感到困惑.我知道它们不匹配,但我认为这是正确的方法.

调试器中的所有内容对我来说都很好(每个国家/地区的链接,描述,图像等),我无法更改rel ="canonical"值以匹配我的og:url,因为我需要它指向单个页面(无国家/地区)搜索引擎.

我相信一切正常.我应该忽略调试器中的错误,还是我错误地设置了它?我不希望每个国家的"喜欢"全部消失并计入rel ="规范"URL.

非常感谢 - 意志

Ham*_*han 17

链接rel="canonical"将被搜索引擎og:url用于Facebook将使用的位置

og:url基本上告诉FB刮刀" ignore anything on this page, and scrape this url instead"

有关Canonical链接元素的更多信息,请访问:http://en.wikipedia.org/wiki/Canonical_link_element


kol*_*len 5

规范网址指的是页面内容

目标(规范的)IRI 必须标识在上下文(引用)IRI 中的内容是重复的还是内容的超集。RFC6596#3

Opengraph url 指的是"object"

将用作图中永久 ID 的对象的规范 URL,例如“ http://www.imdb.com/title/tt0117500/ ”。ogp.me

所以它们可能是不同的。例如,对于多语言网站,每种语言的页面应该有不同的规范 url,因为内容不同,但通常og:url所有语言都相同,因为它们指的是用多种语言描述的同一个对象。