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

标签 php facebook facebook-sharer canonical-link facebook-opengraph

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

<meta property="og:url" content="http://www.mywebsite.com"/>
<meta property="og:description" content="description related to page/images">

但每次我主页的图片不是获取的 URL 时它都会显示

我的 URL 看起来像那样-

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

所以我不知道我该怎么做,所以 facebook 分享器总是显示我获取的 URL 的图像。

我知道这可能是之前问过的同一个问题-

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 框架中)执行此操作。

如果有人做过同样的事情,请告诉我任何事情。

如有任何帮助,我将不胜感激。

最佳答案

您面临的问题是,您将主页网址作为共享网址的规范网址发送。这是错误的,因为规范 url 必须指向与获取的 url 具有相同内容的资源。有关规范网址的定义,请查看 RFC6596或来自 Google 的良好描述.

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

如果您仍然想指向您的索引(恕我直言,这是在滥用系统),那么您还可以尝试添加图像的元数据,这应该会导致您提供的图像用于表示链接:

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

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

使用 og:url 元的正确方法是指向一个真正的规范(等效)URL,它将显示 smae 内容作为获取的 URL。通常这样的链接被称为永久链接。如果您不能提供这样的 url,请使用获取的 url 本身或将其保留。指向索引是错误的。

对于 wordpress 有一个 plugin ,应该正确地做到这一点。而开放图协议(protocol)是documented here .

关于php - Facebook 共享者应该从获取的 URL 而不是规范 URL 中提取图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26971691/

相关文章:

php - 从所有相册中获取所有照片

Facebook 共享器不显示图像缩略图

javascript - 如何在开发人员模式浏览器(检查)中将数据发送到服务器而不显示它?

facebook - 从 Facebook Graph API 检索默认图像所有 URL 个人资料图片

php - 用另一个表的平均值更新一个表 - MySQL

facebook - 有没有什么方法可以获取最近 10 或 30 天内在 facebook 中添加的 friend 的详细信息

ios - Facebook iOS SDK 分享对话框 - 在 friend 的墙上分享

php - 在 Facebook 帖子中分享链接

php - Bigcommerce getProducts 限制

php - 警告:mysqli_query():无法在简单的php页面中获取mysqli