Ajax Crawling:旧方式vs新方式(#!)
老方式
当我曾经在需要内容被搜索引擎索引的项目中异步加载页面时,我使用了一个非常简单的技术,就是 <a href="page.html" id="example">Page</a> <script type="text/javascript"> $('#example').click(function(){ $.ajax({ url: 'ajax/page.html',success: function(data){ $('#content').html(data); } }) }); </script> 编辑:我曾经实现了haschange事件来支持JavaScript用户的书签. 新方法 最近,Google提出了ajax爬行的想法,在这里阅读: http://code.google.com/web/ajaxcrawling/ http://www.asual.com/jquery/address/samples/crawling/ 基本上他们建议将“website.com/#page”更改为“website.com/#!page”,并添加包含片段的页面,如“website.com/?_escaped_fragment_=page” 使用新方式有什么好处? 对我来说,似乎新的方式在我以简单的方式之前增加了更多的工作和复杂性:我设计的网站在没有ajax的情况下工作,然后我添加了ajax和hashchange事件(以支持后退按钮和书签)在最后阶段 从SEO的角度来看,使用新方式有什么好处?
这个想法是使AJAX应用程序可以抓取.根据HTTP规范,URL指的是同一个文件,而不管片段标识符(哈希标记之后的部分).因此,搜索引擎会忽略片段标识符:如果您有指向www.example.com/page#content的链接,则抓取工具将只需要请求www.example.com/page.
使用新的方案,当你使用#!爬虫知道链接是指附加内容的符号.爬网程序将URL转换为另一个(丑陋的)URL,并从您的Web服务器请求它. Web服务器应该用表示AJAX内容的静态HTML进行响应. 编辑关于原始问题:如果您已经定期链接到静态页面,那么这个方案不会帮助你. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |