2017-08-08 149 views
0

我们在网站上使用Facebook分享选项和新闻稿。该网站使用PHP构建,并使用Smarty。我们生成一个唯一的URL(剥离/新闻/标题的文章),并定义元属性。Facebook分享错误图片

当拥有者与之前上传的图片共享链接时,一切都很好。当他上传新闻图片时,将其插入文章和分享内容,Facebook将拍摄另一张照片,它在源代码中首先找到的照片。但是,在发布之前的预览框中,它会显示正确的图像。一旦放置,这是错误的。但是,当我看着RAW标签og:image shows> domain/UserFiles/images/news时,我们发现Facebook调试工具显示为og:image tag> og:image domain/UserFiles/images/news/standard_14.jpg /bosuil_1.jpg

因此,og:image标签可以完成它的工作并生成正确的URL,但Facebook仍发布错误的图片。当我强迫Facebook(手动)再次刮擦时,它显示了一切都很好,并分享它正确。

我不明白这一点...

+0

可能是一个缓存问题。如果您只是在开发阶段上传图片,并且一旦生活就不会更改,请不要担心。 – inarilo

+0

这个网站已经有一年的生活了,而且几天以来一切正常。我已经寄出主机看看他们是否改变了一些关于缓存的内容,因为我知道他们在那个网站上缓存了很多。但也许有人知道另一个解决方案,如果托管不会合作...... :) – diegie

+0

有点旧,但应该工作...或者你应该能够查找任何更改https://stackoverflow.com/questions/12100574/is -there-AN-API对力的Facebook到刮一个页面,再次 – inarilo

回答

0

我有同样的问题,发现在Facebook上的开发者维基这些最佳做法:https://developers.facebook.com/docs/sharing/best-practices#precaching

使用OG:图像:宽度和OG:图像:高度 Open Graph的标签

使用这些标记将指定图像尺寸爬虫,以便它可以 立即呈现图像,而无需异步下载 并处理它。

指定宽度和高度后,我们没有问题,facebook立即抓取正确的图片。