25

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

我的谷歌地图支持网站允许访问者使用社交媒体在他们的国家请求演出。有问题的页面之一可以在以下位置找到:http: //izzy.nogig.in/

当用户点击他们的国家标记时,它会为他们提供共享选项(twitter/facebook/etc),共享时将共享该国家/地区的 URL,例如:izzy.nogig.in/usa?或izzy.nogig.in/西班牙?等等

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

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

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

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

现在,当我通过 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.

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

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

我相信一切正常。我应该忽略调试器的错误,还是我设置不正确?我不希望每个国家/地区的“喜欢”都消失并计入 rel="canonical" URL。

非常感谢 - 将

4

4 回答 4

19

链接rel="canonical"将被搜索引擎og:url使用,而 Facebook 将使用链接

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

有关规范链接元素的更多信息:http ://en.wikipedia.org/wiki/Canonical_link_element

于 2014-01-14T12:33:17.387 回答
5

规范 url 指的是页面内容

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

Opengraph url 指的是“对象”

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

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

于 2017-03-27T12:53:41.397 回答
3

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

问候。

于 2015-01-23T20:04:43.063 回答
0

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

于 2015-03-17T17:43:02.583 回答