在我的节点+ backbone.js应用程序中,页面网址之一看起来就像“http://example.com/#!book1”。 Google将如何处理此网址以进行抓取?
他们是否将网址替换为
'example.com/_escaped_fragment_=book1'
或
'example.com /?_ escaped_fragment_ = book1'?
有人可以指导我吗?
答案 0 :(得分:1)
如果您不必支持旧浏览器,为什么不简单地摆脱#
?
它就像
一样简单 Backbone.history.start({pushState: true})
查看https://documentcloud.github.io/backbone/#History
pushState支持在Backbone的纯粹选择基础上存在。不支持pushState的较旧浏览器将继续使用基于散列的URL片段,如果支持pushState的浏览器访问散列URL,则它将透明地升级到真实URL。请注意,使用真实URL要求您的Web服务器能够正确呈现这些页面,因此也需要进行后端更改。例如,如果您的路径为/ documents / 100,则如果浏览器直接访问该网址,则您的网络服务器必须能够提供该网页。对于完整的搜索引擎可抓取性,最好让服务器为页面生成完整的HTML ...但如果它是一个Web应用程序,只需呈现与根URL相同的内容,使用Backbone Views和JavaScript填写其余内容工作正常。