Facebook Share不会选择页面加载后更改的标题/描述元标记

时间:2010-04-17 00:54:37

标签: facebook facebook-sharer

显然Facebook Share不会选择页面加载后更改的标题/描述元标记(通过JavaScript)。它基本上使用加载时可用的元标记。

这是simple example

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

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

4 个答案:

答案 0 :(得分:11)

这是Facebook的一句话。当有人共享该页面时,它们会刮取页面的元标记,并且每24小时一次(而不是按照您的建议进行页面加载)。如果您更改元标记,则需要使用URL Linter让FB再次“lint”您的网页。

  

Facebook什么时候刮我的页面?

     

Facebook需要抓取您的网页以了解如何在网站上展示它。   Facebook每24小时擦除一次页面以确保属性是最新的。当Open Graph页面的管理员单击Like按钮并将URL输入Facebook URL Linter时,页面也会被删除。 Facebook会在您的网址上观察缓存标头 - 它会按优先顺序查看“过期”和“缓存控制”。但是,即使您指定的时间较长,Facebook也会每24小时抓一次页面。

Source

答案 1 :(得分:1)

因为Facebook服务器点击您提交的网址并查找元标记。它始终默认为原始标签。

答案 2 :(得分:0)

它没有Facebook的业务。他们只为它提供api。并且api将meta标签作为参数。因此,您将元标记设置为Facebook共享。

答案 3 :(得分:0)

我认为Facebook服务器在抓取你的页面时不会执行javascript。

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

根据此页面底部(http://developers.facebook.com/docs/opengraph/),用户代理当前是:

facebookexternalhit/1.0