几星期前一个客户问小编,小编帮他开发的 worpdress 网站中有些链接中带有 #(哈希值),而且都是指向一些评论楼层的,而不是指向某一页。这样的话内容重复,会不会对网站的排名造成影响呢?
小编看了下百度的 SEO 优化文档,百度对于链接中的 #(哈希值) 是这样解释的:
1 、什么是哈希值?
#(哈希值) 不是 http 请求,而是一个浏览器动作。通过 #,可以快速定位到网页中的某个具体位置。例如 https://www.weixiaoduo.com/wpjiaocheng/201307110.html#comment-121,就会快速定位到 id="comment-121" 或这个位置。
2 、搜索引擎会不会抓取带 #号 (哈希值) 的 URL
答案是一般不会。搜索引擎抓取页面首先要遵循 http 协议,可是 #不是协议内的内容。而实际上也是这样,我们没有见过搜索引擎的搜索结果中,哪一条记录可以快速定位到网页内的某个位置的。因此,希望通过在网站内外添加带 #的锚链接来让搜索引擎第一次访问时快速定位是不现实的。当然,搜索引擎蜘蛛为了模拟真实用户,在进入网站之后,会通过一些技术实现模拟鼠标点击的效果,这个时候,页面的锚链接还是起作用,但任何链接在搜索结果中时,都不会带 #。
看了百度文档的解释后小编也就没在意这件事,跟客户说了下这个没多大关系,可以不用管。过了两天客户又来问小编,说他自己用 robots.txt 屏蔽了全站的带 #的链接后网站的收录开始慢慢减少了,而且 site: 主域,发现百度快照提示 robots.txt 禁止抓取内容。小编看了下原来是 Disallow: /*#*这段代码出了问题,因为 #在 robots.txt 中是属于注释标记,在其后面的内容都将被蜘蛛忽略,呢么 Disallow: /*#*就变成了 Disallow: /*也就是禁止蜘蛛抓取站内所有内容了,赶紧叫客户修改了。过了一个多星期网站的收录也恢复了。不过那些带 #的链接依然被收录了,目前未发现任何影响排名的征兆。