Google会在抓取我们的网站时忽略哈希片段(#)之后的内容吗?

Lip*_*pis 5 sitemap indexing web-crawler hyperlink

我们使用哈希片段之后的信息来使用JavaScript显示不同的页面,以免强制浏览器再次加载整个页面.例如,页面的直接链接可能如下所示(book_id/page_id):

www.example.com/book#1234/5678
Run Code Online (Sandbox Code Playgroud)

由于我们没有直接链接到每个页面而是书籍,我们正在考虑将这些直接链接添加到sitemap.xml中.

我的问题是谷歌正在考虑将其作为一个单独的链接,或者只是忽略哈希片段之后的所有内容,在正常爬网期间或者我们是否将其包含在sitemap.xml中?

ax.*_*ax. 7

正如Lucero所指出的,#1234/5678"AJAX URL" 的散列片段part()不会作为HTTP请求的一部分(按规范)发送到服务器 - 因此服务器将为所有不同的AJAX URL返回相同的结果.

幸运的是,有一个方案允许googlebot抓取甚至索引AJAX页面:

分步指南

  1. 向抓取工具表明您的网站支持AJAX抓取方案
    (通过标记您希望googlebot使用以感叹号开头的特殊哈希片段进行抓取的唯一页面状态,例如#!1234/5678)
  2. 设置服务器以处理包含"_escaped_fragment_"
    (www.example.com/book?_escaped_fragment_=#1234/5678)的URL的请求,并返回该页面状态的html快照
  3. ...

  • 更新:自 2015 年 10 月起,此方案已[正式弃用](https://developers.google.com/webmasters/ajax-crawling/docs/learn-more?csw=1)。GoogleBot 现在能够抓取 AJAX URL (有一个“#!”片段)通过执行 JavaScript 就像普通浏览器一样。 (2认同)