因此,我目前正在构建一个单页面应用程序,因此需要在加载所有数据后更新元数据。(该应用程序严格是javascript和html,几乎没有后端尝试轻量级……整个应用程序大小约为50KB)
不幸的是,在研究了这个问题后,我意识到facebook在屏幕抓取过程中永远看不到更新的meta,因为js不会运行。
然而,我确实意识到,当您向https://graph.facebook.com/id=http://sitename发送请求post时,它会使用以下格式的对象进行响应:
{
"url": "http://site/",
"type": "website",
"title": "site name",
"image": [
{
"url": "http://site/thumb.jpg"
}
],
"description": "site description",
"updated_time": "2014-10-18T20:10:29+0000",
"id": #
}我的问题是,有没有可能更新这个对象,并使用您希望他们使用的值将其发送回facebook?
发布于 2014-10-19 04:49:12
据我所知,Facebook的抓取器只读取头部中设置的数据和OG标签。请参阅:http://davidwalsh.name/facebook-meta-tags
因此,通过在你的应用程序中正确设置它们,Facebook应该可以提取数据。请记住,Facebook scraper有一个缓存系统,可以使用Facebook URL linter (手动)清除该系统。
这个工具对调试也很有用。请参阅https://developers.facebook.com/tools/debug
加载页面时,数据需要是“静态”的(或通过服务器端语言放在那里),因为Facebook scraper不会解析Javascript。
https://stackoverflow.com/questions/26444386
复制相似问题