关注前端开发
HTML5、CSS3、Javascript

搜索引擎索引收录网页原理分析

对SEO(搜索引擎优化)而言,让网站内的页面能够及时、全面地被搜索引擎索引、收录应该说是首要的任务,这是实施其他SEO策略的最基本保证。 ——不过,这也是往往易被高估的一个环节,比如说我们时常可以看到某些人宣称自己的网站被Google收录了多少页面如几K甚至几十K等以证明SEO工作 的成功。但客观地说,网页仅仅被搜索引擎索引、收录是没有太大的实际意义,往往只能沦为浩如烟海的Internet世界中的殉葬品,更重要的是如何让网页 出现在针对特定搜索项的SERP(搜索结果页面)前几页。——许多人相信,让网站内尽可能多的页面被收录进搜索引擎索引数据库终归不是一件坏事,网页越 多,暴光的机会也便越大,虽然最终效果如何存在疑问。

Anyway,如果在对网站实施SEO时将重点放在网页被索引、收录的速度与效 率,当然也无可厚非,而要想实现这一点,需要我们对搜索引擎如何收录、索引网页的机制有所了解。下面我们以Google为例,介绍搜索引擎收录、索引网页 的过程,希望能对朋友们有后助益。——对其他搜索引擎如Yahoo!、Live搜索及百度而言,尽管可能在具体细节上存在差别,不过,QQREADER244804DC4C18E01A基本策略应该是类似 的。

1、收集待索引网页的url

Internet上存在的网页数量绝对是个天文 数字,每天新增的网页也不计其数,搜索引擎需要首先找到要索引收录的对象。

具体到Google而言,虽然对GoogleBot是否存在 DeepBot与FreshBot的区别存在争议——至于是否叫这么两个名字更是众说纷耘,当然,名字本身并不重要——至少到目前为止,主流的看法是,在 Google的robots中,的确存在着相当部分专门为真正的索引收录页页准备“素材”的robots——在这里我们姑且仍称之为FreshBot吧 ——它们的任务便是每天不停地扫描Internet,以发现并维护一个庞大的url列表供DeepBot使用,换言之,当其访问、读取其一个网页时,目的 并不在于索引这个网页,而是找出这个网页中的所有链接。——当然,这样似乎在效率上存在矛盾,有点不太可信。不过,我们可以简单地通过以下方式判 断:FreshBot在扫描网页时不具备“排它性”,也即是说,位于Google不同的数据中心的多个robots可能在某个很短的时间周期,比如说一天 甚至一小时,访问同一个页面,而DeepBot在索引、缓存页面时则不会出现类似的情况,即Google会限制由某个数据中心的robots来完成这项工 作的,而不会出现两个数据中心同时索引网页同一个版本的情况,如果这种说法没有破绽的话,则似乎可以从服务器访问日志中时常可以看到源自不同IP的 GoogleBot在很短的时间内多次访问同一个网页证明FreshBot的存在。因此,有时候发现GoogleBot频繁访问网站也不要高兴得太早,也 许其根本不是在索引网页而只是在扫描url。

FreshBot记录的信息包括网页的url、Time Stamp(网页创建或更新的时间戳),以及网页的Head信息(注:这一点存在争议,也有不少人相信FreshBot不会去读取目标网页信息的,而是将 这部分工作交由DeepBot完成。不过,笔者倾向于前一种说法,因为在FreshBot向DeepBot提交的url列表中,会将网站设置禁止索引、收 录的页面排除在外,以提高效率,而网站进行此类设置时除使用robots.txt外还有相当部分是通过mata标签中的“noindex”实现的,不读取 目标网页的head似乎是无法实现这一点的),如果网页不可访问,比如说网络中断或服务器故障,FreshBot则会记下该url并择机重试,但在该 url可访问之前,不会将其加入向DeepBot提交的url列表。

总的来说,FreshBot对服务器带宽、资源的占用还是比较小 的。最后,FreshBot对记录信息按不同的优先级进行分类,向DeepBot提交,根据优先级不同,主要有以下几种:

A:新建网 页;B:旧网页/新的Time Stamp,即存在更新的网页;C:使用301/302重定向的网页;D:复杂的动态url,如使用多个参数的动态url,Google可能需要附加的工 作才能正确分析其内容。——随着Google对动态网页支持能力的提高,这一分类可能已经取消;E:其他类型的文件,如指向PDF、DOC文件的链接,对 这些文件的索引,也可能需要附加的工作;F:旧网页/旧的Time Stamp,即未更新的网页,注意,这里的时间戳不是以Google搜索结果中显示的日期为准,而是与Google索引数据库中的日期比对;G:错误的 url,即访问时返回404回应的页面;

优先级按由A至G的顺序排列,依次降低。需要强调的是,这里所言之优先级是相对的,比如说同样 是新建网页,根据指向其的链接质量、数量的不同,优先级也有着很大的区别,具有源自相关的权威网站链接的网页具有较高的优先级。此外,这里所指的优先级仅 针对同一网站内部的页面,事实上,不同网站也有有着不同的优先级,换言之,对权威网站中的网页而言,即使其最低优先级的404 url,也可能比许多其他网站优先级最高的新建网页更具优势。

2、网页的索引与收录

接下来才进入真正的索引与收录网页过程。从上面的介绍可以看出,FreshBot提交的url列表是相当庞大的,根据语言、网站位置等不同,对特定网站 的索引工作将分配至不同的数据中心完成。整个索引过程,由于庞大的数据量,可能需要几周甚至更长时间才能完成。

正如上文所 言,DeepBot会首先索引优先级较高的网站/网页,优先级越高,出现在Google索引数据库及至最终出现在Google搜索结果页面中的速度便越 快。对新建网页而言,只要进入到这个阶段,即使整个索引过程没有完成,相应的网页便已具备出现在Google索引库中的可能,相信许多朋友在Google 中使用“site:somedomain.com”搜索时常常看到标注为补充结果只显示网页url或只显示网页标题与url但没有描述的页面,此即是处于 这一阶段网页的正常结果。当Google真正读取、分析、缓存了这个页面后,其便会从补充结果中逃出而显示正常的信息。——当然,前提是该网页具有足够的 链接,特别是来自权威网站的链接,并且,索引库中没有与该网页内容相同或近似的记录(Duplicate Content过滤)。

对动 态url而言,虽然如今Google宣称在对其处理方面已不存在障碍,不过,可以观察到的事实仍然显示动态url出现在补充结果中的几率远大于使用静态 url的网页,往往需要更多、更有价值的链接才能从补充结果中逸出。

而对于上文中之“F”类,即未更新的网页,DeepBot会将其时 间戳与Google索引数据库中的日期比对,确认尽管可能搜索结果中相应页面信息未来得及更新但只要索引了最新版本即可——考虑网页多次更新、修改的情况 ——;至于“G”类即404 url,则会查找索引库中是否存在相应的记录,如果有,将其删除。

3、数据中心间的同步

前文我们提到过,DeepBot索引某个网页时会由特定的数据中心完成,而不会出现多个数据中心同时读取该网页,分别获得网页最近版本的情况,这样,在 索引过程完成后,便需要一个数据同步过程,将网页的最新版本在多个数据中心得到更新。

这就是之前著名的Google Dance。不过,在BigDaddy更新后,数据中心间的同步不再象那样集中在特定的时间段,而是以一种连续的、时效性更强的方式进行。尽管不同数据中 心间仍存在一定的差异,但差异已经不大,而且,维持的时间也很短。

提高搜索引擎索引收录网页的效率,根据上面的介绍,可以看出,要想让 您的网页尽可能快、尽可能多地被搜索引擎收录,至少应从如下几方面进行优化:

提高网站反相链接的数量与质量,源自权威网站的链接可以让 您的网站/网页在第一时间内被搜索引擎“看到”。当然,这也是老生常谈了。从上面的介绍可以看出,要提高网页被搜索引擎收录的效率,首先要让搜索引擎找到 您的网页,链接是搜索引擎找到网页的唯一途径——“唯一”一词存在些许争议,见下面的SiteMaps部分——从这个角度看,向搜索引擎提交网站之类的作 法没有必要且没有意义,相对而言,要想让您的网站被收录,获得外部网站的链接才是根本,同时,高质量的链接也是让网页步出补充结果的关键因素。

网页设计要秉持“搜索引擎友好”的原则,从搜索引擎spider的视角设计与优化网页,确保网站的内部链接对搜索引擎“可见”,相对于获得外部网站链接 的难度,合理规划的内部链接是提高搜索引擎索引与收录效率更经济、有效的途径——除非网站根本未被搜索引擎收录。

如果您的网站使用动态 url,或者导航菜单使用JavaScript,那么,当在网页收录方面遇到障碍时,应首先从这里着手。

使用SiteMaps。事实 上,许多人认为Google取消了FreshBot的一个主要原因便是SiteMaps(xml)协议的广泛应用,认为这样只需读取网站提供的 SiteMaps便可得到网页更新信息,而不需FreshBot耗时费力地扫描。这种说法还是有一定道理的,虽然目前不能确定Google究竟直接使用 SiteMaps作为DeepBot的索引列表还是用做FreshBot的扫描路标,但SiteMaps能够提高网站索引收录的效率则是不争的事实。比如 说,SEO探索曾做过如下的测试:

两个网页,获得的链接情况相同,一个加入SiteMaps而另一未加入,出现在SiteMaps中的 网页很快被收录,而另一个页面则在过了很长时间后才被收录;

某个孤岛页面,没有任何指向其的链接,但将其加入SiteMaps一段时间 后,同样被Google索引,只不过,出现在补充结果中。

当然,从尽管网页未出现在SiteMaps中但仍能被Google索引也可以 看出,Google仍然使用FreshBot或类似FreshBot的机制,当然这也容易理解,毕竟仍然有那么多未使用SiteMaps的网 站,Google不可能将其拒之门外。

有关SiteMaps的详细介绍,请参考Google SiteMaps:Google的“后门”。需要指出的是,如今Sitemaps协议已成为行业标准,不独对Google有效,其他主流搜索引擎包括 Yahoo!、Live搜索及Ask均已提供支持。(文/与子成说;编选:中国电子商务研究中心)

转载请注明出处大前端 » 搜索引擎索引收录网页原理分析

分享: