我在网上发现了这个问题,但还没有答案,所以也许在这里有人解决了……?我在很大程度上构建了一个页面。它有一个索引页,其余的在Google之后通过Ajax动态加载 /#!/ 可爬网的方案。现在,我想添加Facebook或共享按钮,但我无法获得实际的页面标题或URL。

无论我做什么,它总是回到索引页面的标题和URL。它尝试了:

  • (显然)更改标题在新零件的负载上更改opengraph meta。
  • “链接”爬行者页面(?_escaped_fragmet_=xyx),但指定 #! 元页
  • 用给定的标题和URL“共享”。

除了指向索引页面的链接,我再也没有得到任何东西,或者在正确的URL上忽略了标题和缩略图的空白“共享”。

有人有类似的设置工作吗?

谢谢你的提示,托马斯

有帮助吗?

解决方案

Facebook实际上正在使用 #! 现在,它有效!如果您建立网站,以便 http://site.de/?_escaped_fragment= somethinghttp://site.de/#!/something 您要做的就是“分享” #! URL,它将显示从逃脱的片段页面中显示信息。
使用此URL检查: http://developers.facebook.com/tools/debug

但是:可以在此处找到解决该问题的更干净的解决方案: http://github.com/browserstate/history.js/wiki/intelligent-state处理

其他提示

我的猜测是,Facebook的crawler不运行JavaScript,并且将始终显示从服务器中获得的实际内容。

Facebook共享有一个残酷的缓存,上次我检查时,一旦刮擦,就无法更改标题 /描述数据:(

我遇到的问题是OG:URL和页面的实际URL不匹配。我还阅读了许多关于OG数据在标题元素之后的评论,但我认为这没有解决任何问题。

关于缓存问题,Facebook的缓存是“残酷”的,但它并没有用于棉绒工具的任何内容: http://developers.facebook.com/tools/debug.

共享链接时,我会使用无锤式URL。我使用JavaScript处理硬链路,然后将它们重定向到Hash Bang Client。这样一来,如果爬行者进入硬链接页面,它将像启用JavaScript一样显示信息。

比较:

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2Flikeapage.com%2F%23!%2fChristmas%2FVS%2FBACON

http://developers.facebook.com/tools/debug/og/object?q=http%3A%2F%2flikeapage.com%2FCHRISTMAS%2FVS%2FBACON

希望这可以帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top