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

时间:2013-03-20 02:39:23

标签: facebook facebook-opengraph canonical-link

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

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

找到

当用户点击他们的国家/地区标记时,它会为他们提供共享选项(twitter / facebook / etc),共享时会分享特定于该国家/地区的网址,例如:izzy.nogig.in/usa?还是izzy.nogig.in/spain?等

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

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

对于Facebook喜欢计入每个国家/地区,我将Open Graph“og:url”设置如下,例如:

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

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

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.

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

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

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

非常感谢 - Will

4 个答案:

答案 0 :(得分:16)

链接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

答案 1 :(得分:3)

在我开发的其中一个网站上,我使用多种语言提供网页,并提供允许用户在一种语言和另一种语言之间切换的链接。因此,我的rel="canonical"将包含网址http://www.example.com/,而在代码中我更新了og:url,因此它是http://en.example.com/http://fr.example.com/。这样,当用户在Facebook上共享页面时,一切都将以他们正在查看页面的语言显示在Facebook上,这是有道理的,因为大多数访问者的朋友可能会说同一种语言。

问候。

答案 2 :(得分:3)

规范网址指的是网页内容

  

目标(规范)IRI必须识别内容     上下文中内容的重复或超集(引用)     IRI。 rfc6596#3

Opengraph url引用&#34; object&#34;

  

您的对象的规范网址,将用作图表中的永久ID,例如&#34; http://www.imdb.com/title/tt0117500/&#34;。 ogp.me

所以他们可能会有所不同。例如,对于多语言网站,每种语言的页面应该具有不同的规范URL,因为内容不同,但对于所有语言通常都是相同的{{1}},因为它们引用了多种语言描述的相同对象。 / p>

答案 3 :(得分:0)

我认为没有理由为什么og:url和canonical应该是不同的。在这两种情况下,您都要向搜索引擎或Facebook说明要索引或显示的页面。