## 搜索引擎工作原理是什么
SEOer们要想更好的理解SEO,做好SEO的工作,学习和理解搜索引擎的基本架构和原理,是非常有必要的,下面我来讲一下搜索引擎的一些组成部分。通用的搜索引擎,一般包含了以下一些功能模块:
1. 蜘蛛,即Spider,类似浏览器的程序,专门用来下载web页面
2. 爬虫,即Crawler,用来自动跟踪所有页面中的链接
3. 索引,即Indexer,专门用来分析蜘蛛和爬虫下载下来的web页面
4. 数据库,存储下载的页面信息和处理过的页面信息
5. 结果引擎,从数据库中抽取出搜索结果
6. Web服务器,用来处理用户的搜索交互请求的web服务器
不同的搜索引擎实现,某些地方可能有一定的差别,比如,蜘蛛+爬出+索引的组合功能就是通过一个单一的程序来实现的,它一边下载页面,一边分析出结果,并利用已有的链接来发现新的资源。当然,这些功能都是所有搜索引擎所固有的,所体现的SEO原则都是类似的。
下面对搜索引擎的功能模块进行分别阐述。
* **蜘蛛**。这个功能模块专门用来下载页面,类似浏览器的功能。它们之间的区别在于,浏览器展现给用户的是各种形式的信息,包括文本的信息,图像的信息,视频的信息,等等;而对于蜘蛛来说,并没有一些可视化的组件,而是直接跟基本的html源代码打交道。大家可能都知道,一个标准的web浏览器都是带有html源文件查看的功能的。
* **爬虫**。该功能模块专门用户发现每个页面中的所有链接。它的任务是,通过评估找到的链接,或者已定义的地址,来决定蜘蛛去哪里。爬虫跟踪这些已经找到的链接,并且尝试去发现对于搜索引擎来说不知道的一些文档。
* **索引**。此功能组件负责解析每个页面,然后分析各种页面的元素,例如,文本内容,头部内容,结构化或者自定义过的特色部分,特殊的html标签,等等。
* **数据库**。搜索引擎下载和分析的一些数据,都要进行存储。有些时候,它也叫做搜索引擎的索引。
* **结果引擎**。结果引擎来进行页面的排名工作。它决定着哪些页面是最匹配用户的搜索请求的,并且按照何种有效而合理的次序来显示这些结果。这是根据搜索引擎的排名算法而决定的。它追寻的是这样一种理念,页面排名是有价值的,基于用户兴趣驱动的,所以对于SEO工作者来说这个是最感兴趣的,SEOer们的目标就是如何有效提高所关心的网站的页面排名。
* **Web服务器**。搜索引擎web服务器包含了这样的一个基本的web页面,有一个用于用户输入感兴趣的关键词的文本框,并且当用户提交搜索动作时,将搜索出的结果合理的展示给用户。
![](https://box.kancloud.cn/5fafa7e64668bf2717e224bc86b98131_515x338.png)
## 百度site出现两个首页快照是什么原因
百度大更新,今早site了一下自己负责的网站,竟然发现其中一个有两个首页的快照,一个快照日期为2012.1.20,一个快照日期为2011.12.15,而且快照中显示的网址是一样的。随即查找原因,有人说是默认后缀设置的问题。点开一看,果然发现日期为2011.12.15的快照网址带后缀index.html。
我们都知道,对于搜索引挚来说,带默认后缀和不带默认后缀的域名,会被区分为两个不同的地址,但是搜索引擎在显示的时候,都是直接显示出了域名。所以,在正常情况下,需要尽量保持url的唯一性,以避免这种情况的发生。
除了上述一种情况外,还会有其他的原因导致两个快照现象的发生么?笔者查询了网上相关资料,发现还有以下几种可能。
1. ** 双IP的影响**。顾名思义,就是说有两个不同的IP同时指向一个网站,这样以来,搜索引挚就会把网站分化成两个快照,当然,也有可能是空间自带两个IP的原因。通过分析域名的绑定情况,搜索引擎可以区分出哪个IP是有网站的。搜岁引擎会给有绑定域名的IP正常显示,给没绑定域名的IP直接显示网址。
2. **404页面设置问题**。部分站长为了方便,总是将404页面直接设置跳转到首页。而对于搜索引擎来说,会认为这是一种刻意优化的行为。这里建议在设置404页面时不要跳转到首页,如果必须这样设置的话那么建议停留5秒钟以上以给与用户和蜘蛛缓冲的时间。
3. **title的修改**。title修改之后可能会显示出两个快照,但是这两个快照中title部分是不一样的。这点也很好区分出来。
由于百度算法的不完善,给我们带来了很多关于网站建设的问题。找寻尝试不同的方法然后去解决出现的问题,这也是SEO的一种乐趣所在吧。
- 序
- 开发自己的博客
- 面试集合
- 基础
- 1、JavaScript
- js技巧
- 2、CSS
- position之absolute
- em与rem
- inline-block
- background
- 圆角、透明度、渐变
- 关于css中的0和none
- css display:none小结
- z-index小结
- 理解滚动条
- 有关@font-face的问题
- 3、HTML
- URI中依赖协议的URL
- 4、MySQL
- limit使用
- 5、jQuery
- 6、移动Web开发
- 设计稿与分辨率
- 字体
- 图片的自适应
- 7、前端布局bug问题(!<=IE8)
- SEO与页面结构
- seo
- vsphere 虚拟服务器
- 代码里的彩蛋(神注释)
- 玩转HTML5移动页面
- 知识梳理
- JS 键盘码
- 其他资源记录
- temp
- TODO
- 简单有趣的库😎
- xx