我们的代理机构建立了一个动态网站,该网站使用了大量的 AJAX 交互和 #! (hashbang) 网址:http ://www.gunlawsbystate.com/
这是一本很长的书,您可以滚动浏览,地址栏中的 URL 会动态变化。我们必须支持 IE,所以请不要建议使用 pushState - hansbang 是我们目前唯一的选择。
左侧边栏中有一个导航,其中包含指向本书所有章节的链接。
链接示例: http ://www.gunlawsbystate.com/#!/federal-properety/national-parks-and-wildlife-refuges/
我们期待谷歌抓取这个:http://www.gunlawsbystate.com/?_escaped_fragment_=/federal-properety/national-parks-and-wildlife-refuges/ 这是该部分的完整 html 快照。(+ 有指向 www.gunlawsbystate.com/#!/federal-properety/national-parks-and-wildlife-refuges/ii-change-in-the-law/ => www.gunlawsbystate.com/ 等小节的链接?_escaped_fragment_=/federal-properety/national-parks-and-wildlife-refuges/ii-change-in-the-law/)。
根据 Google 的规范(developers.google.com/webmasters/ajax-crawling/docs/specification),这一切看起来都是完整的。该网站目前运行约 3 个月。主页每 10-15 天重新编入索引。
问题在于,由于某种原因,Google 无法正确抓取 hashbang URL。看起来谷歌只是“不喜欢”这些网址。
www.google.ru/search?&q=site%3Agunlawsbystate.com :只有 67 个页面被编入索引。请注意,Google 索引的大多数页面都有“正常”的 URL(主要是 wordpress 博客文章、类别和标签),只有 5-10% 的结果页面是 hashbang URL,尽管有 400 多个具有独特内容的书籍部分 Google 应该真的很喜欢它是否正确爬行。
有人可以给我一个建议,为什么谷歌不能正确抓取我们的书页?任何帮助将不胜感激。
PS 对于不可点击的链接,我很抱歉——stackoverflow 不允许我发布超过 2 个链接。
UPD。该站点地图已在不久前提交给谷歌。谷歌网站管理员工具说,提交了 518 个 URL,只有 62 个 URL 被编入索引。此外,在网站管理员工具的“索引状态”页面上,我看到有 1196 个页面曾经爬过;1071 页未选中。它清楚地指出,由于某种原因,谷歌没有索引 #! 它经常访问的页面。