让我们来谈谈google的AJAX抓取:
由于history.js是丑陋的hashbang urls的一个很好的替代方案,我想知道一个确定的问题:对于HTML5浏览器,如果ajax-content被加载并且应该被谷歌索引,那么就会创建好的urls。对于非HTML5浏览器(例如,IE9不支持history.pushState),使用旧的hashbang。
那么google看到的是哪个版本呢?谷歌会不会看到重复的内容(一次使用漂亮的url,一次使用hashbang)?
感谢您对此的任何想法。
发布于 2013-02-03 18:22:49
如果一个ajax页面需要与谷歌索引,我们需要从服务器服务器页面的html快照。
例如: xyz.com/page1#!name=john
Google crawler找到了这个#!标识符和请求http://xyz.com/page1?_escaped_fragment_=name=john这样我们的服务器就可以为页面的html快照提供服务。
现在,当我们的URL被美化并附加了#!ajax页面将被索引。
对于URL中只附加了#的页面,google crawler将无法看到通过ajax加载的内容,也不会对其进行索引。所以不会有任何重复的可能性
我们还可以在页面的头部分使用link标记,并将rel cannonical url指向邮件url。有关参考,请参阅http://googlewebmastercentral.blogspot.in/2009/02/specify-your-canonical.html。
发布于 2013-02-03 22:32:20
HTML
<a href="http://some/other/page/1" data-history='{"some":"data"}' title="...">link1</a>
<a href="http://some/other/page/2" data-history='{"some":"data"}' title="...">link2</a>JavaScript
$(document).on('click', '[data-history]', function(e){
e.preventDefault();
History.pushState($(this).data().history, this.title, this.href);
})对于启用了JavaScript的客户端,hisotory.js将处理AJAX请求,对于没有JavaScript的客户端,它将请求普通页面。
发布于 2013-02-06 00:51:44
我建议只对支持HTML5历史API的浏览器(大约70%的浏览器)使用该API,而向不支持该API的浏览器提供常规的静态页面。这样,搜索引擎就不可能看到与完全规范的静态URL不同的内容。
https://stackoverflow.com/questions/13740868
复制相似问题