我的团队和我为一个房地产中介开发了一个网站的背景信息,我被分配了将当前所选房产的图像设置为Facebook的共享功能的任务。
该属性的网页是动态的,因为有几个列表,所以我所做的是选择页面上加载的第一个图像并将其设置为 og:image 元标记
现在让我说我复制网址并将其发布在Facebook上,它会显示正确的缩略图,但是,它还会显示其他列表中的多个缩略图。
网站上的所有图片均超过200 x 200像素,宽高比为3:1。
我的问题是,我如何告诉Facebook只拍摄我的初始图像而不是抓住其他图像。 是否可以应用SelectSingleImage属性?
我已经花了更多的时间来寻找这个问题的答案而不是我想要的,所以感谢您提供的任何帮助,非常感谢。
答案 0 :(得分:0)
我有时使用的一种方法是识别Facebook的服务器并简单地为其提供不同的数据。这样你实际上只能在页面上有一个图像(据Facebook知道)。
我对vb.net一无所知,但这里有一个简单的PHP代码示例。它只是在请求的用户代理上执行正则表达式,以使其与字符串"facebook"
匹配。
$isFacebook = false;
if(preg_match("/facebook/",strtolower($_SERVER["HTTP_USER_AGENT"]))) {
$isFacebook = true;
}
Facebook有一天可能会更改其用户代理签名,但就目前而言,我很确定您会安全但与Developers Blog和Roadmap同步。
答案 1 :(得分:0)
似乎Facebook出于某种奇怪的原因将这些图像保存在缓存中,但要解决这个问题,我所要做的就是将URL输入到Facebook的Linter工具中,从而清除其服务器上的缓存。 / p>