我正在使用Backbone.js和一个为资产和JSON提供服务的私有API构建应用程序。
应用程序中的大多数内容都是通过root'/'访问的,Backbone路由器根据哈希值提供视图(即/#about或/#view)。
问题在于,当一个页面被分享到Facebook时,它会刮擦主页面并且似乎忽略了散列标记之外的任何内容。
网址路径或内容是否有任何良好的经验法则,以使应用程序更适合Facebook,Google等?
答案 0 :(得分:1)
Google提供了一些关于使AJAX应用可抓取的良好信息。
答案 1 :(得分:0)
您可以在您的网站上创建一个虚拟页面,其中包含只有Facebook和Google使用的机器人才能访问的完整网址。我不确定谷歌的用户代理是什么,但Facebook列在这里:
https://developers.facebook.com/docs/reference/plugins/like/#scraperinfo
所以你可以在/ item / itemid1 /上有一个只有机器人可以访问的空白页面,将你的og:url标记指向该空白页面,并为Facebook刮刀提供正确的元数据。每当普通用户尝试访问它时,将它们重定向回正确的基于散列的URL。