Hashbang网址让Google很难抓取网站?
我们的代理机构建立了一个动态网站,使用了大量的AJAX互动和#! (hashbang)网址:http://www.gunlawsbystate.com/
这是一本很长的书,您可以滚动浏览并且地址栏中的网址动态变化。 我们必须支持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网址。 Google似乎只是“不喜欢”这些网址。
www.google.ru/search?&q=site%3Agunlawsbystate.com:仅索引67页。 请注意,谷歌索引的大部分网页都有“普通”网址(主要是wordpress博客文章,类别和标签),结果页面只有5-10%是hashbang网址,尽管Google应该有400多个独立内容的书籍部分真的很喜欢它是否正确地抓取它。
有人可以给我一个建议,为什么Google不能正确抓取我们的书页? 任何帮助将不胜感激。
PS我很抱歉无法点击的链接 - stackoverflow不允许我发布超过2。
UPD。 前段时间,该网站地图已提交给谷歌。 Google网站管理员工具说,已提交518个网址,并且只有62个网址已建立索引。 此外,在网站站长工具的“索引状态”页面上,我看到有1196个页面已被抓取; 未选择1071页。 它清楚地指出,由于某种原因谷歌不索引#! 它经常访问的页面。
你错过了几件事。 首先,您需要一个元标记来告诉Google可以通过其他网址访问Hash URLS。
<meta name="fragment" content="!">
接下来,您需要将每个网址的映射版本提供给Googlebot。
当谷歌访问时:
http://www.gunlawsbystate.com/#!/federal-regulation/airports-and-aircraft/ii-boarding-aircraft/
它会改为抓取:
http://www.gunlawsbystate.com/?_escaped_fragment_=federal-regulation/airports-and-aircraft/i-introduction/
为了达到这个目的,你需要使用诸如PHP或ASP之类的东西来提供正确的页面。 如果你能得到正确的管道,Asp.net路由也可以工作。 有些服务实际上会为您创建这些“快照”版本,然后您的元标记将指向它们的服务器。
由于它已被Google弃用,现在Google无法访问hashbang网址下的内容。
基于研究Google现在避免了转义的片段URL,并建议创建单独的页面而不是使用HashBang。
所以我认为PushState是在这种情况下可以使用的另一种选择。
链接地址: http://www.djcxy.com/p/64657.html上一篇: Hashbang URLs make the website difficult to crawl by Google?
下一篇: Django: relative url not working with post calls in ajax