Facebook 脸谱网的分享没有';t选取页面加载后更改的标题/描述元标记

Facebook 脸谱网的分享没有';t选取页面加载后更改的标题/描述元标记,facebook,facebook-sharer,Facebook,Facebook Sharer,显然,Facebook共享没有获取页面加载后(通过JavaScript)更改的标题/描述元标记。它基本上使用加载时可用的元标记 这是一个很好的例子 单击后,该链接将更改标题/描述元标记。您可以使用Firebug确认这一点 点击f |共享按钮:Facebook仍然始终显示“页面加载时可用的标题”和“页面加载时可用的描述” 有人知道如何解决这个问题吗?因为facebook服务器会点击您提交的URL并查找元标记。它将始终默认为原始标签。这与Facebook无关。他们只是提供了一个api。api以元

显然,Facebook共享没有获取页面加载后(通过JavaScript)更改的标题/描述元标记。它基本上使用加载时可用的元标记

这是一个很好的例子

  • 单击后,该链接将更改标题/描述元标记。您可以使用Firebug确认这一点
  • 点击f |共享按钮:Facebook仍然始终显示“页面加载时可用的标题”和“页面加载时可用的描述”

有人知道如何解决这个问题吗?

因为facebook服务器会点击您提交的URL并查找元标记。它将始终默认为原始标签。

这与Facebook无关。他们只是提供了一个api。api以元标记作为参数。因此,您将元标记设置为facebook共享。

这是facebook的一段引文。当有人共享该页面时,他们会刮除该页面的元标记,并且每24小时(而不是按照您的建议在页面加载时)刮除一次。如果您更改meta标记,您需要让FB使用

Facebook什么时候刮我的页面?

Facebook需要抓取你的页面,以了解如何在网站上显示它。 Facebook会每24小时清理一次你的页面,以确保页面内容是最新的。当OpenGraph页面的管理员单击Like按钮以及将URL输入Facebook URL Linter时,该页面也会被刮除。Facebook会观察你URL上的缓存头——它会按优先顺序查看“过期”和“缓存控制”。然而,即使你指定更长的时间,Facebook也会每24小时清理一次你的页面


我假设Facebook服务器在抓取您的页面时不会执行javascript

您可以使用服务器端逻辑来检测Facebook用户代理,并相应地修改输出的HTML

根据本页底部(),用户代理当前为:

facebookexternalhit/1.0