Facebook分享者应该从获取的URL中提取图像而不是从规范URL中提取图像?

时间:2014-11-17 11:27:44

标签: php facebook facebook-sharer canonical-link open-graph-protocol

最近我注意到,如果有人在facebook sharer中分享我的网站网址,那么它会从规范网址中提取图片,而不是因为我添加了 -

正在发生的网址
<meta property="og:url" content="http://www.mywebsite.com"/>
<meta property="og:description" content="description related to page/images">

但每次我的主页图片都没有提取网址时显示

我的网址看起来像那样 -

canonical URL - http://www.mywebsite.com
fetched URL - http://www.mywebsite.com/tags/car

所以我不知道我该怎么做,所以facebook sharer总是会显示我提取的网址图片。

我知道这可能与之前提出的问题相同 -

Is it possible to extract metadata from fetched url instead of canonical url?

Canonical url being linked on Facebook rather than real URL. Dynamic OpenGraph tags coming up empty

但两个问题都有相同的解决方案 -

我需要设置中间URL重定向,所以我只是搜索了301和302重定向,但我不知道我如何/在哪里使用它?

我需要为我的wordpress和其他网站(在zend框架中)执行此操作。

如果有人也这样做,请告诉我任何事情。

我将不胜感激任何帮助。

2 个答案:

答案 0 :(得分:3)

您遇到的问题是,您将主页作为共享网址的规范网址发送。这是错误的,因为规范网址必须指向与获取的网址具有相同内容的资源。有关规范网址的定义RFC6596Google的良好说明。

指向您网站的索引网址,并不是指向规范(等效)网址。通过设置你对Facebook说的URL“你可以去看那里,你会发现与这里相同的内容。所以只需从那里拿走所有东西。”但我想这不是你想要的。

如果你仍想指向你的索引(imho滥用系统),那么你也可以尝试添加图像的元数据,这应该会导致你提供的图像用来表示链接: / p>

<meta property="og:image" content="http://www.mywebsite.com/path/to/image.jpg" />

原因,为什么你不应该指向你的索引作为规范:如果用户A想要分享某些特定内容,用户B点击facebook中的链接将找不到预期的内容,相反他会看到索引页面,不知道用户A想要共享哪个内容。

使用og:url meta的正确方法是指向一个真正的规范(等效)URL,它将把smae内容显示为获取的URL。通常这种链接称为永久链接。如果你不能提供这样的网址,只需使用获取的网址或将其丢弃。指向索引是错误的。

对于wordpress,有plugin,应该正确执行此操作。开放图协议是documented here

答案 1 :(得分:2)

Facebook使用og:url标签来整合喜欢和分享计数。无论你在og:url中提到什么网址,facebook都会分享该网址并增加该网址的份额。否则,您的喜欢和分享将在规范网址中分发。

<meta property="og:url" content="http://www.mywebsite.com"/>

如果您设置了og:image标签,那么facebook sharer将会选择该图片。但请确保图像尺寸正确。 Facebook也检查维度。我总是使用600X315。 检查图片尺寸here

<meta property="og:image" content="http://www.mywebsite.com/path/to/image.jpg" />

一旦完成,请不要忘记清除缓存。 放置您的网址here

获取新的scrape信息以查看更改。

搜索引擎使用关键字,标题和描述等元标记。 facebook使用og标签。 和规范网址是由rel =&#34;规范&#34;

对于任何网址,无论您想要Facebook获取什么数据,都需要在og标记中设置。

然后调试URL以查看新的scrape信息以查看更改。