是否可以从获取的网址而不是规范网址中提取元数据?

时间:2012-04-05 09:04:52

标签: facebook-graph-api metadata opengraph fetch canonical-link

我有一个像这样的Facebook链接到一个关于巫婆的页面我没有完全控制权:我可以修改页面的<body>而不是<head> ... 因此,我尝试在我完全控制的新页面上设置like按钮的链接,在此页面上设置opengraph元标记,并设置链接到原始页面的og:url。

但最终Facebook试图从og:url中提取元数据并覆盖上一页的元标记... 是否有可能告诉我要从第一个获取的URL中抓取元数据而不是从og:url中抓取元数据?

2 个答案:

答案 0 :(得分:4)

无法指示linter从页面中提取OpenGraph元数据,这些元数据的URL与og:url中定义的URL不同。

Linter将始终从链末尾的og:url中定义的URL中提取元标记...

有办法做其他事情(可能或可能不符合你的需要):

您可以创建中间页面,其中包含所有必需的OpenGraph,包括og:url指向该页面(而不是您无法控制的页面)。该页面只会将元数据和JavaScript / Meta重定向到最终页面,因此登陆此中间页面的用户将被重定向到正确的最终页面。

请注意,这会将所有不喜欢的内容与“最终”页面相关联,而是与中间页面相关联。

答案 1 :(得分:0)

我认为Facebook Debug / linter中存在一个错误,关于哪个URL可以具有OG元数据。您的OG:URL应该是规范的,这意味着这是今天,明天以及十年后应该工作的URL。共享的URL是暂时的,Web开发人员无法保证“获取”URL将保持不变。您的规范/ og:url可能会重定向到具有og:标记的最终目标。

但是,FaceBook linter中的错误是它没有跟踪重定向超过og:url。即http://example.com/persistant/123,因为它可能只是重定向到友好的URL,例如http://example.com/year/month/title/persistant_123。也许来自FaceBook的人可以澄清他们对“将从规范URL中遵循重定向”的解释。

Google的意见Google Webmaster Blog: Specify your Canonical

  

可以rel =“canonical”是重定向吗?是的,您可以指定一个URL   重定向为规范网址。然后,Google会将重定向处理为   通常并尝试索引它。

当前的FaceBook Debug / Linter练习是在它到达OG:URL时停止,而不是按照标准的HTTP重定向来获取OG标签。我认为Google对Canonical的定义更符合Web开发人员所期望的规范。