gpt4 book ai didi

Ajax 爬行 : old way vs new way (#! )

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:27:04 28 4
gpt4 key购买 nike

老方法

当我以前在需要内容被搜索引擎索引的项目中异步加载页面时,我使用了一种非常简单的技术,那就是

<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 进行响应。

编辑 关于最初的问题:如果您已经有指向静态页面的常规链接,那么此方案对您没有帮助。

关于Ajax 爬行 : old way vs new way (#! ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4172336/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com