【发布时间】:2014-01-05 14:30:38
【问题描述】:
我的SPA 使用Backbone.js 路由器,它使用pushstate 和散列URL 作为后备方法。我打算使用Google's suggestion for making an AJAX web-app crawlable。也就是说,我想将我的网站索引到由PhantomJS 生成的静态 .html 文件中,并通过 URL 将它们发送给 Google:
mysite.com/?_escaped_fragment_=key=value.
请记住,该网站不为最终用户提供静态页面(它仅适用于支持 Javascript 的浏览器)。如果您导航到mysite.com/some/url,.htaccess 文件设置为始终提供mysite.com/index.php,并且主干路由器将读取该 URL,以便显示该 URL 的 JavaScript 生成的内容。
此外,为了让 Google 将我的整个网站编入索引,我计划创建一个 sitemap,这将是 hashbang URLs 的列表。 URL 必须是 hashbanged,以便 Google 知道要使用 _escaped_fragment_key URL 为网站编制索引。
太好了……
(1) 这种方法行得通吗?
和
(2) 由于backbone.js不使用hashbang URL,当用户使用hashbang URL时如何将hashbang URL转换为pushstate URL 通过 Google 到达?
【问题讨论】:
标签: javascript ajax backbone.js single-page-application hashbang