核心提示: 搜索引擎工作过程非常复杂,作为 SEO 从业人员,结合着自己的工作经验,简要谈谈自己对搜索引擎工作原理的了解。只有当我们了解了原理后,才能够有的放矢,提供给搜索引擎他们喜欢的信息,从而提高流量和排名。 搜索引擎的工作过程大体上可以分成三个阶段: 1、爬行和抓取:1 h) b# z0 y% C- X0 n
% ]# J. H1 n5 f& y. n9 _
搜索引擎工作过程非常复杂,作为SEO从业人员,结合着自己的工作经验,简要谈谈自己对搜索引擎工作原理的了解。只有当我们了解了原理后,才能够有的放矢,提供给搜索引擎他们喜欢的信息,从而提高流量和排名。
/ ]3 l+ T& j. b! Q' \4 `* [9 v5 U5 u* f) D! O. Y; B
搜索引擎的工作过程大体上可以分成三个阶段:/ S. Y9 u0 d; c9 W3 {
7 o- a, A* k! E' W% F' S 1、爬行和抓取:搜索引擎通过蜘蛛通过跟踪链接访问网页,也就是咱们平时说的外链和内链,获得页面HTML代码存入数据库中。
$ e$ |6 p) K9 C* P
6 O% V* @' r3 a: b8 U- E6 e7 U 2、预处理:索引程序对抓取来的页面数据进行文字提取、中文分词、索引等处理,为了搜索的时候更快的提取数据。: B/ Z, p- m. ^9 d X$ l$ z
, Q. f0 ~1 ]; v& u
3、排名:用户输入关键词后,排名程序调用索引库数据,通过计算搜索词的相关性,然后按照既定的逻辑机构排名。9 _6 [1 W+ w7 U* U6 a
4 g7 N- I; f; p" q2 T% l' q8 ?
接下来咱们一步步去分析搜索引擎的搜索和排名机制:9 t0 b% S$ x9 [7 i, R6 l( m
: y! f) V* P) Y2 `
1、爬行和盐城白癜风医院和抓取蜘蛛搜索引擎用来爬行页面和访问页面的程序叫做蜘蛛,大家也成为机器人(robots)。搜索引擎蜘蛛访问网站页面时类似于普通用户使用的浏览器,蜘蛛程序发出页面访问请求后,服务器返回HTML代码,蜘蛛程序把收到的代码存入原始页面数据库中。搜索引擎为了提高爬行和抓取速度,都使用多个蜘蛛一起爬行页面,提高爬行速度。3 }5 `# q! i7 q% c5 M a* H
% b9 ?$ }) `* L) ^7 v5 B4 R 蜘蛛访问任何一个网站时,都会先访问网站根目录下的robots.txt文件。如果robots.txt文件禁止搜索引擎抓取某些文件或目录,搜索引擎就不会爬行抓取,直接过滤这些文件。8 _6 x- c+ o, M4 U4 d9 i
5 o& I+ F" V+ _9 A' Z 2、跟踪链接为了抓取网上尽量多的页面,搜索引擎蜘蛛会跟踪页面的链接,从一个页面爬行到另外一个页面,一层层的爬行直至没有继续往下的链接为主。
! F0 B. d8 ~& l7 D
$ A0 {* u2 f+ i% Z- J 搜索引擎爬行的原理有两种:一种是深度优化,另外一种就是广度优先。* M% x1 \- B+ r5 Q0 c0 h/ V
) d1 j. h7 Z6 n# G- C 所谓深度优先,指的就是蜘蛛沿着发现的链接一直向前爬行,直到前面再也没有其他链接指向,然后返回到第一个页面,继续爬行。0 O$ L: a2 T" N5 ^1 c! a/ y
9 G6 v; d9 J& K' _
广度优先是指蜘蛛在一个页面上发现多个链接地址,不是顺着一个链接一直往前,而是把页面上所有第一层的链接都爬行无锡武警医院最好的白癜风治疗医院一遍后,在从第二层页面开始爬行直至最后。从理论上说,无论是深度优先还是广度优先,只要给蜘蛛足够长的时间,都能爬完整个互联网。在实际工作中,蜘蛛的带宽资源、时间都是有限的,也不可能爬行完所有的页面。所以深度优先和广度优先通常是混合使用的,这样既可以照顾到尽量多的页面,也能够照顾到一部分内页。
* K3 M; l: Z( @. @' K( V2 {$ ]
S. K+ z+ z' }9 g7 g 3、吸引蜘蛛那接下来我们就要思考,该如何吸引蜘蛛爬行,去抓取更多的页面,我认为应该从以下几个方面去考虑:
# J6 ?- B+ ]4 B- v; u u6 N4 k6 T+ G5 X5 e5 H. a% R5 Y
(1) 网站和页面的权重:. j9 x' M/ B5 e+ b/ K* V
' w7 r' G& i8 r8 D# j
质量高、资格老的网站被认为权重比较高,这种网站的页面被爬行的深度也会比较高,被收录的内页也会增加。$ p) z9 m' t6 @& o- o" p5 x
, R. ?5 q+ S2 R2 l" L1 c
(2) 页面更新度:! b4 q# X ?( X5 W$ f6 l3 u. W
+ m; F8 v$ o! ?$ o, {; _8 v9 T k n
蜘蛛每次爬行都会把页面数据存储起来,如果第二次爬行发现页面与第一次收录完全一样,说明这个网站页面没有更新,蜘蛛下次过来继续爬行的概率也不会很高。2 z1 @4 j0 `6 j6 Y# W3 m
! F" k+ P- l6 ?0 T% Z4 U
(3) 导入链接:
1 U2 [8 F+ u7 S, G& k6 S9 ]6 z& y- t4 v- D4 c0 a1 {* R
导入链接也就是咱们经常说的外链和内链,外链顾名思义是从外部网站导入过来的,比较多的就是友情链接。内链主要是针对网站内部来说,是指从网站的一个页面指向另外一个页面。高质量的外链可以增加网站的权重,也可以增加搜索引擎白癜风要好时是痒吗爬行网站的深度。
. Z! G7 N7 M! \& _) Z* Q X% I
(4)与首页的点击距离一般来说网站上权重最高的页面就是首页,大部分外部链接也都是指向首页,蜘蛛访问最频繁的也是首页。所以,离首页距离越近,页面的权重越高,被蜘蛛爬行的几率也会更大。1 E+ F" b" X- V% O) M2 k/ G- [" {
: r. V7 G: o* d
4、地址库为了避免重复爬行和抓取网址,搜索引擎内部会建立一个地址库,记录已经被发现还没有抓取的页面,以及已经被抓取的页面。7 Y: R/ A; [ x; ?& z- c0 ^
" R5 |" O% W0 }8 H$ Z
地址库中的URL有几个来源:3 K+ {( f Q* a; ]& q4 t
1 g+ q, m" f0 V1 L4 g (1) 人工录入的种子网站(2) 蜘蛛爬行抓取页面后,从HTML中解析出新的URL,与地址库中的数据库进行对比,如果是地址库中没有的网址,就会存入待访问的地址库。" b9 `& X" F5 A3 M
& j) [& C$ k6 p7 k E& \7 B (3) 站长通过搜索引擎网站页面表格提交进来的网址。
% ~5 X2 d; `/ [3 [/ `% |! P, v0 m9 T* S( T/ b4 M# ?" @
5、文件存储搜索引擎蜘蛛抓取的数据存入原始页面数据库,其中的页面数据与用户浏览器得到的HTML是完全一样,每一个URL都有相应的文件编号。2 r1 z! ]0 R: T- w5 {2 a9 u
' F/ j- A( ~. u. C; n8 R1 s 6、爬行时的复制内容检测百度会定期对重复收录的页面进行检测,一般在每个月都会有一次大的更新,目的是尽可能删除那些重复收录的页面,对用户提供更多精准的信息,满足用户的搜索目的。: d- N' q0 U) }) T G. t' U, W
|