搜索引擎工作原理

作者:鼎极网络发布日期:2019-11-13浏览次数:22

什么是seo ?

  SEO(Search Engine Optimization),汉译为搜索引擎优化。搜索引擎优化是一种利用搜索引擎的搜索规则来提高目的网站在有关搜索引擎内的排名的方式。

  SEO就是在了解搜索引擎排名算法的基础上,对网站进行站内和站外的优化,对网站存在的弊端加以更正,提高网站关键词在搜索引擎中的排名,获得更多流量与转化率,从而获得盈利。

SEO可分为站外SEO和站内SEO两种。

了解搜索引擎工作原理

站内SEO

站外SEO

排名算法

站长工具

案例分析

搜索引擎工作原理

爬行

抓取

预处理(索引)

排名

搜索引擎自动信息搜集功能分两种。

      1、定期搜索,即每隔一段时间,搜索引擎主动派出“蜘蛛”程序,对一定IP地址范围内的互联网站进行检索,一旦发现新的网站,它会自动提取网站的信息和网址加入自己的数据库。

      2、提交网站搜索,即网站拥有者主动向搜索引擎提交网址,它在一定时间内(2天到数月不等)定向向你的网站派出“蜘蛛”程序,扫描你的网站并将有关信息存入数据库,以备用户查询。

步:爬行

    搜索引擎是通过一种特定规律的软件跟踪网页的链接,从一个链接爬到另外一个链接,像蜘蛛在蜘蛛网上爬行一样,所以被称为“蜘蛛”也被称为“机器人”。搜索引擎蜘蛛的爬行是被输入了一定的规则的,它需要遵从一些命令或文件的内容。

第二步:抓取

  搜索引擎是通过蜘蛛跟踪链接爬行到网页,并将爬行的数据存入原始页面数据库。其中的页面数据与用户浏览器得到的HTML是完全一样的。搜索引擎蜘蛛在抓取页面时,也做一定的重复内容检测,一旦遇到权重很低的网站上有大量抄袭、采集或者复制的内容,很可能就不再爬行

爬行方式

               广度优先                                          深度优先

 1.png                                    2.png

 

 

影响蜘蛛爬行的因素

网站、页面权重高。

网站更新度:蜘蛛每次爬行都会把页面数据储存起来,第二次来的时候发现页面没有变化,就不再抓取。如果页面经常更新,蜘蛛来的也频繁。

导入链接

与首页的点击距离。

是否导出链接过多

是否有网站地图

是否设置404页面

第三步:预处理(索引)

 

 3.png

 搜索引擎将蜘蛛抓取回来的页面,进行各种步骤的预处理。

      1.提取文字(去除格式代码,留文字部分)

      2.中文分词

      基于词典匹配,词典匹配相对降低,准确性取决于词典的完整性与更新度

      基于统计,分析大量的文字样本,统计出字与字相邻出现的概率,几个相邻出现次数越多越可能形成一个词

      两种各有优缺点,一般混合使用

      3.去停止词

      停止词就是那些页面中出现频率很高,却对内容没有任何影响的词,如“的”、“地”、“得”之类的助词,“啊”、“哈”、“呀”之类的感叹词,“从而”、“以”、“却”之类的副词或介词。这些词被称为停止词,因为它们对页面的主要意思没什么影响。搜索引擎在索引页面之前会去掉这些停止词,使索引数据主题更为突出,减少无谓的计算量。

      4.消除噪声

      绝大部分页面上的一部分内容对页面主题也没什么贡献,比如版权声明文字、导航条、广告等。所以搜索引擎在预处理的过程会把这些无关内容进行消噪处理。

      5.去重

      同一篇文章重复出现在不同的网站或同网站不同的网址上,搜索引擎不喜欢重复性的内容。

      索引前进行识别和删除重复内容;去重方法:选取一部分特征关键词(一般是出现频率高的词),十个左右,计算这些词的数字指纹(MD5算法);特征关键词有任何微小的变化,计算出来的数字指纹都有很大的差距。   

      6.正向索引

      经过以上步骤之后,搜索引擎得到的就是独特的、能反映页面主体内容的、以词为单位的内容。接下来搜索引擎索引过程就是可以提取关键词,按照分词程序划分好的词,把页面转换为一个关键词组成的集合,同时记录每一个关键词在页面上的出现频率、出现次数、格式、位置。这样,每一个页面都可以记录为一串关键词集合,其中每个关键词的词频、格式、位置等权重信息也都会记录在案了。


文件ID

内容

文件1

关键词1,关键词2,关键词7,关键词10,…… 关键词L

文件2

关键词1,关键词7,关键词30, ……,关键词M

文件3

关键词2,关键词70,关键词305,……,关键词N

……


文件6

关键词2,关键词7,关键词10,……,关键词X

……


文件x

关键词7,关键词50,关键词90,关键词Y

 

      7.倒排索引

      正向索引还不能直接用于排名,因为在搜索某个关键词的时候,排名程序需要扫描所有索引库中的文件,计算相关性,这样的计算量无法满足实时返回排名结果的要求,所以搜索引擎会将正向索引数据库重新构造为倒排索引,把文件对应到关键词的映射转换为关键词到文件的映射,在倒排索引中关键词是主键,每个关键词对应着一系列文件,这些文件中都出现了这个关键词。这样当用户搜索某个关键词是,排序程序在倒排索引中定位到这个关键词,就可以马上找出所有包含这个关键词的文件。

 

关键词

文件

关键词1

文件1,文件2,文件7,文件58,……,文件

关键词2

文件l,文件7,文件30,……,文件M

关键词3

文件2,文件70,文件305,……,文件n

……

……

关键词:

  网址规范化 之 301转向:

  ①:什么是301转向?

  301转向又称301重定向、301跳转,是用户或蜘蛛向网站服务器发出访问请求时,服务器返回的HTTP数据流中头信息部分状态码的一种,表示本网址性转移到另一个地址。

  另外,还有其他的网址转向方法,例如:302转向、javascript转向、PHP/ASP/CGI程序转向等。这里有个重点:除了301转向外,其他的方法都是常用的作弊手法,虽然方法本身没有对错之分,但被作弊者用多了,搜索引擎对可疑的转向都是非常敏感等。所以,其他的方法还是少用为妙。

  ②:301转向传递权重

  例如:网页A用301重定向转到网页B,搜索引擎可以肯定网页A性改变地址,或者说实际上不存在了,搜索引擎就会把网页B当作的有效目标。而且,更重要的是:网页A积累的页面权重将被传递到网页B。

  举个例子:http://www.esobao.cn/是选定的规范化网址,下面的几个网址都做301转向到选定的规范化网址上,这样搜索引擎就知道它是规范化网址,而且会把这三个网址的权重都传递集中到规范化网址上。

  http://maxseo.cn

  http://maxseo.cn/index.html

  http://www.maxseo.cn/index.html

  可能有站长会问:301转向多久可以生效?一般来说的话,在百度站长工具的改版工具上做下规则提交,大概一周左右就会生效。

  ③:怎么样做301转向?

  关于怎么做301转向,这里建议参考这篇文章:(http://www.chinaz.com/web/2013/1212/330808.shtml)本篇文章,有详细的301转向操作方法,完全适合个人站长和企业站长。由于文字太长,这里就不写了。

  网址规范化 之 canonical标签(参考下百度站长平台给出的标准):

  ①:canonical标签有什么作用?

  对一组内容完全相同或高度相似的网页,通过使用Canonical标签可以告诉搜索引擎哪个页面为规范的网页,能够规范网址并避免搜索结果中出现多个内容相同或相似的页面,帮助解决重复内容的收录问题,避免网站相同内容网页的重复展示及权重的分散,提升规范网页的权重,优化规范网页的排名。

  ②:如何用canonical标签指定规范网址?

  可通过在每个非规范版本的 HTML 网页的 部分中,添加一个 rel="canonical" 链接来进行指定规范网址。

  例如,要指定指向网页 http://www.admin5.cn/product.php?id=15786 的规范链接,需要按以下形式创建 元素:

  <link rel=”canonical” href=”http://www.admin5.cn/product.php?id=15786”/>

  然后将上述链接复制到某网页所有非规范网页版本的 部分中(例如 http://www.admin5.cn/product.php?id=15786&active=1),即可完成设置。

  ③:可设置规范网页的几种情况举例:

  举例一、社区帖子可能由于置顶、突出颜色等行为导致内容完全相同的一个网页产生不同的链接,搜索引擎只会选择其中一个链接建立索引,如以下两个链接不同,内容完全相同的页面:

  http://www.a5.net/forum.php?mod=viewthread&tid=17868770&page=1#pid115642474

  http://www.a5.net/thread-17868770-1-1.html

  举例二、对商品的列表页面,按照价格或者优惠等顺序进行排序,但网页内容高度相似:

  http://mall.leho.com/pr-list?locid=75fb2a357d38397c5e1e75fa&cid=5e1e02f950a4101fb27571ee&order=discount

  http://mall.leho.com/pr-list?order=price_asc&locid=75fb2a357d38397c5e1e75fa&cid=5e1e02f950a4101fb27571ee

  举例三、网站有多个网页展示的为相同型号的商品,只是每个网页商品图的颜色不同,其他内容几乎完全相似,此时也可设置rel="canonical",将当下流行色彩的商品网页设置规范网页,百度有优先将其显示在搜索结果中。

  ④:百度会完全遵守rel="canonical"标签吗?

  网页中添加该标签后,就代表站长向百度某个网页作为规范的网页版本,百度会同时根据标签的及系统算法选择出合适的网页将其显示在搜索结果中。百度会根据网页内容实际情况考虑Canonical标签中的网页,但不完全遵守该标签。为了标签的效果,请一个页面中仅有一个Canonical标签。

  ⑤:此链接是相对的还是的?

  rel="canonical" 可与相对链接或链接一起使用,但建议您使用链接,以大程度地减少可能出现的混乱或问题。

  ⑥:rel="canonical"标签可用于在不同的域名中建议规范网址吗?

  如果网站需要更换域名,且使用的服务器不能创建服务器端重定向网址的情况下,就可以使用rel="canonical" 链接元素指定希望百度收录域的网址。

  301 404案例;

  页面301处理

  if Request.ServerVariables("Http_Host") ="xxxx.com" then

  Response.Status="301 Moved Permanently"

  Response.AddHeader "Location","http://www.xxxx.com/"

  Response.End

  end if

  多域名处理

  if Request.ServerVariables("Http_Host") ="xxxx.com" or Request.ServerVariables("Http_Host") ="xxxx.com" then

  Response.Status="301 Moved Permanently"

  Response.AddHeader "Location","http://www.xxxx.com/"

  Response.End

  end if



下面的情况基本上都是虚拟主机常用配置

  新一代数据中心http://gzidc.com/

  301设置

  

1.png

  .htaccess

  单域名301

  RewriteEngine On

  RewriteBase /

  RewriteCond %{HTTP_HOST} ^lszygw.com$ [NC]

  RewriteRule ^(.*)$ http://www.lszygw.com/$1 [L,R=301]

  多域名处理

  RewriteEngine On

  RewriteBase /

  RewriteCond %{HTTP_HOST} ^lszygw.com$ [OR]

  RewriteCond %{HTTP_HOST} ^linxigang.com$ [OR]

  RewriteCond %{HTTP_HOST} ^www.linxigang.com$ [NC]

  RewriteRule ^(.*)$ http://www.lszygw.com/$1 [L,R=301]

  404设置

  404.Asp

  2.png


  恒爱网络http://www.zzhidc.com/

  301设置

  httpd.ini 文件的代码如下 :

  [ISAPI_Rewrite]

  CacheClockRate 3600

  RepeatLimit 32

  RewriteCond Host: ^abc.com$

  RewriteRule (.*) http://www.abc.com$1 [I,RP]

  如

  [ISAPI_Rewrite]

  CacheClockRate 3600

  RepeatLimit 32

  RewriteCond Host: ^jnzhipin.net$

  RewriteRule (.*) http://www.jnzhipin.net$1 [I,RP]

  RewriteCond Host: ^jnzhipin.com$

  RewriteRule (.*) http://www.jnzhipin.net$1 [I,RP]

  RewriteCond Host: ^www.jnzhipin.com$

  RewriteRule (.*) http://www.jnzhipin.net$1 [I,RP]

  把以上内容修改成你自己的之后,把 httpd.ini 上传到你空间网站根目录 wwwroot下 。

  用FTP连接到空间,在wwwroot 同级目录建立一个名为 others 的新文件夹,如下图

  

3.png

  接下来去 http://pan.baidu.com/s/1gd42ZQj 下载ISAP组件,解压之后得到 rewrite2.dll

  把 rewrite2.dll 上传到 others 目录里。

  然后 登陆到你空间管理后台的 “独立面板”里,找到 “ISAP映射”,点击之后进入添加映射,筛选器名称 随便写个,路径如图所示写路径,然后点击后面的“设置”

  

4.png

  404设置(用404.htm)

  

5.png

  益息网络http://www.idc1.net/

  301设置()

  在根目录下有个index.asp文件

  

6.png

  if Request.ServerVariables("Http_Host") ="xxxx.com" then

  Response.Status="301 Moved Permanently"

  Response.AddHeader "Location","http://www.xxxx.com/"

  Response.End

  end if

  

7.png

  404设置(根据根目录下的文件设置)

  

8.png

  骑士互联http://www.74dns.com

  301设置(在根目录下放文件httpd.ini)

  文件代码代码

  [ISAPI_Rewrite]

  CacheClockRate 3600

  RepeatLimit 32

  RewriteCond Host: ^xxxx.net$

  RewriteRule (.*) http://www.xxxx.net$1 [I,RP]

  404设置(根据网站目录下文件情况)

  

9.png

  广深互联http://www.99idc.cn/

  301设置

  web.config文件的代码如下 :

  <?xml version="1.0" encoding="UTF-8"?>

  <configuration>

  <system.webServer>

  <rewrite>

  <rules>

  <rule name="CanonicalHostNameRule1">

  <match url="(.*)"/>

  <conditions>

  <add input="{HTTP_HOST}" pattern="^www.sanyoushun.com$"

  negate="true"/>

  </conditions>

  <action type="Redirect" url="http://www.sanyoushun.com/{R:1}"/>

  </rule>

  </rules>

  </rewrite>

  </system.webServer>

  </configuration>

  404设置(与骑士一样)