当前位置:首页如何让搜索引擎抓取AJAX内容? 举报文章

如何让搜索引擎抓取AJAX内容?

作者:admin    来源:用户投稿    时间:2015.6.10   

  越来越多的网站,开始采用"单页面结构"(Single-page application)。

  整个网站只有一张网页,采用Ajax技术,根据用户的入,加载不同的内容。

  

  这种做法的好处是用户体验好、节省流量,缺点是AJAX内容无法被搜索引擎抓取。举例来说,你有一个网站。

1

  用户通过井号结构的URL,看到不同的内容。

2

  但是,搜索引擎只抓取example.com,不会理会井号,因此也就无法索引内容。

  为了解决这个问题,Google提出了"井号+感叹号"的结构。

3

  当Google发现上面这样的URL,就自动抓取另一个网址:

4

  只要你把AJAX内容放在这个网址,Google就会收录。但是问题是,"井号+感叹号"非常难看且烦琐。Twitter曾经采用这种结构,它把

5

  改成

6

  结果用户抱怨连连,只用了半年就废除了。

  那么,有没有什么方法,可以在保持比较直观的URL的同时,还让搜索引擎能够抓取AJAX内容?

  我一直以为没有办法做到,直到前两天看到了Discourse创始人之一的Robin Ward的解决方法,不禁拍案叫绝。

7

  Discourse是一个论坛程序,严重依赖Ajax,但是又必须让Google收录内容。它的解决方法就是放弃井号结构,采用History API。

  所谓 History API,指的是不刷新页面的情况下,改变浏览器地址栏显示的URL(准确说,是改变网页的当前状态)。这里有一个例子,你点击上方的按钮,开始播放音乐。然后,再点击下面的链接,看看发生了什么事?

8

  地址栏的URL变了,但是音乐播放没有中断!

  History API 的详细介绍,超出这篇文章的范围。这里只简单说,它的作用就是在浏览器的History对象中,添加一条记录。

9

  上面这行命令,可以让地址栏出现新的URL。History对象的pushState方法接受三个参数,新的URL就是第三个参数,前两个参数都可以是null。

10

  目前,各大浏览器都支持这个方法:Chrome(26.0+),Firefox(20.0+),IE(10.0+),Safari(5.1+),Opera(12.1+)。

  下面就是Robin Ward的方法。

  首先,用History API替代井号结构,让每个井号都变成正常路径的URL,这样搜索引擎就会抓取每一个网页。

11

  然后,定义一个javascript函数,处理Ajax部分,根据网址抓取内容(假定使用jQuery)。

12

  再定义鼠标的click事件。

13

  还要考虑到用户点击浏览器的"前进 / 后退"按钮。这时会触发History对象的popstate事件。

14

  定义完上面三段代码,就能在不刷新页面的情况下,显示正常路径URL和AJAX内容。

  最后,设置服务器端。

  因为不使用井号结构,每个URL都是一个不同的请求。所以,要求服务器端对所有这些请求,都返回如下结构的网页,防止出现404错误。

15

  仔细看上面这段代码,你会发现有一个noscript标签,这就是奥妙所在。

  我们把所有要让搜索引擎收录的内容,都放在noscript标签之中。这样的话,用户依然可以执行AJAX操作,不用刷新页面,但是搜索引擎会收录每个网页的主要内容!

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:如何  搜索  搜索引擎  索引  引擎  抓取  内容  
  • 相关搜索
图片推荐
    细节决定SEO技术的优化成败

    细节决定SEO技术的优化成败

    SEO技术说起来容易,但是做起来是十分的难的,尤其是我们在使用特定的SEO技术的时候更是如此,比如说我们使用软文进行优化,这个优化的基础就是必须有大量的软文,而这些大量的软文到底是应当在哪里找到呢?当
    淘宝客的“云图”

    淘宝客的“云图”

    《云图》(Cloud Atlas)是一部佳作,自然值得一看,再看,三看;如同一本好书,细细品味,余香不绝;这部电影是从凌晨时分开始看,影片的长度超乎想像,画面的转换更是挑战思维极限。六个故事轮番叙述铺
    安东胜:创业成功之路,人品不好者难成大事

    安东胜:创业成功之路,人品不好者难成大事

    最近我一直在思考,为何如今的成功者中品行不好的卑鄙者鲜少有呢?当然,我们生活中卑鄙的人可不是少数,尽管卑鄙的人很多,但是成功者里鲜有存在,难道说,成功和卑鄙是互斥的吗?  我的这种想法或许是因为视角的
    微信朋友圈营销:如何寻找潜在客户?

    微信朋友圈营销:如何寻找潜在客户?

    您经常玩微信吧?您经常用微信朋友圈吧?微信的广泛使用,已经让很多人嗅到了商业的气味,比方说,您是不是经常在微信朋友圈看到:如果喜欢此文请转发;或者页尾会备注,欢迎关注某某公众号之类的!这都是微信朋友圈
    傅盛:创业为什么选择北上广深?

    傅盛:创业为什么选择北上广深?

    摘要:看到知乎上的一个问题为什么现在很多年轻人愿意到北上广深打拼,即使过得异常艰苦,远离亲人,仍然义无反顾?,13年时候我也曾经就我为什么要留在北京?有类似的疑问,节选部分知友和我的观点,跟远离家乡在
    万众创业 其实是骗局

    万众创业 其实是骗局

    为什么国家会提倡万众创业?因为社会就业压力变大,只能这样号召,马云曾说:我基本不响应政府的号召,原因是什么?你必须判断这样下去,政府在十年以后一定会做这件事情,所以你现在先把它做起来,等政府一号召,没
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面