【发布时间】:2018-03-11 05:15:47
【问题描述】:
问题陈述
我通过 Facebook 和 Whatsapp 分享 URL。这些消息传递应用程序倾向于以缩略图的形式为共享的链接生成“丰富的预览”。到目前为止,一切似乎都运行良好
但是,如果我更改了链接指向的内容,那么下次我与完全不同的人共享同一个链接时,更改将不会反映!这适用于 Facebook 和 WhatsApp 中的丰富预览缩略图。我发送消息的新用户仍会看到前一个用户从我那里收到的旧缩略图。
例如,以下是我向 ALICE 发送带有链接的消息后消息应用程序呈现的缩略图快照:
这是我编辑链接指向的内容后消息应用程序呈现的另一个缩略图的快照。我将名称更改为 Pro3 并将价格更改为 549 并向 BOB 发送了一条新消息……但 BOB 看到的缩略图预览与 ALICE 相同!
不好的解决方案
- 稍微更改 URL 并不是一个适合我的解决方案。
- Facebook 调试器上的抓取选项仅适用于该平台,并且不适合,因为它必须手动完成,这意味着它无法扩展!
我需要什么帮助
我首选的解决方案是使用Cache-Control 和Pragma 标签(根据网络标准)禁用缓存,但它似乎不起作用。
这是我的代码
'<title>' + metaData.title + '</title>' +
'<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">\n' +
'<meta http-equiv="Pragma" content="no-cache">\n' +
'<meta http-equiv="Expires" content="0">\n' +
'<meta http-equiv="refresh" content="0; url=http://my.site.com/my/products">' +
'<meta name="description" content="' + metaData.description + '" />\n' +
'<meta property="og:type" content="product" />\n' +
'<meta property="og:title" content="' + metaData.title + '" />\n' +
'<meta property="og:description" content="' + metaData.description + '" />\n' +
'<meta property="og:image" content="' + metaData.imageUrl + '" />\n' +
'<meta property="og:image:width" content="' + metaData.imgWidth + '"/>\n' +
'<meta property="og:image:height" content="' + metaData.imgHeight + '" />\n' +
'<meta property="og:image:alt" content="' + metaData.imgAlt + '"/>' +
'<meta property="og:url" content="' + metaData.url + '" />\n' +
'<meta name="og_site_name" property="og:site_name" content="' + metaData.domainName + '" />' +
'<meta name="keywords" content="' + metaData.keywords + '">' +
有人可以建议另一种值得尝试的方法或帮助我解决我在当前方法中可能做错的地方吗?
【问题讨论】:
-
“Facebook 调试器上的抓取选项仅适用于该平台,它不适合,因为它必须手动完成,这意味着它无法扩展!”为什么必须手动完成?你能不能检测到内容的变化,并在内容发生变化时调用 facebook scrape API?
-
@kamal0808 我们真的不知道是否有这样的公开可用的抓取 API,但即使有 API,我们仍然会在 whatsapp 或任何其他社交平台上面临同样的问题。跨度>
-
那么我猜必须为每个平台单独完成。这里有一些帮助stackoverflow.com/questions/6754078/…
标签: caching metadata meta-tags facebook-opengraph