一个SEO从业人员必须要了解搜索引擎,所谓知其然不知其所以然,不知道搜索引擎的原理,你就是在为SEO而SEO,做的好做的不好都没有反馈,也不会知道为什么。
SEO是针对搜索引擎的优化,必须要站在搜索引擎的角度去想,他想要解决什么样的问题,遇到了什么困难,为了最好的结果,他是怎么做取舍的。本质上来说,SEO就是尽量减少搜索引擎的工作量,使得蜘蛛能够更轻松的工作,快速收录页面,更准确地提取内容。
搜索引擎的工作主要分为三个阶段
- 爬行和抓取:搜索引擎蜘蛛通过跟踪链接访问网页,获得页面HTML代码存入数据库。
搜索引擎用来爬行的程序叫蜘蛛(spider),也叫做机器人(bot),为了尽可能多的抓取更多的链接,搜索引擎会跟踪一个页面的链接到下一个链接,然后把网页的HTML代码存入数据库。理论上看到,小蜘蛛会爬取所有的网页,然而事实并非如此,受制于计算能力和存储能力,搜索引擎爬取的其实是相当小的一部分网页,因此,SEO人员需要做的就是吸引蜘蛛的注意,这也就是我们经常在做的,比如提高网站权重,保持内容的更新,从外部导入链接,与首页的点击距离等。
- 预处理:索引程序对抓取来的页面数据进行文字提取、中文分词、索引等处理,以备排名程序调用。
到这里,搜索引擎抓取的只是HTML代码,还不能直接用于排序处理,所以需要预处理这个过程,来为最后的排名做好准备。
首先是文字的提取,去除html代码和一些无意义的停止词,就剩下网页的正文内容,然后对内容进行中文分词,分词的过程比较复杂,运用了词典比对和习惯比对等方法,最后的结果就是一个网页被切割成一个一个词汇或者短语,很多个网页都按照这方式处理,就是正向索引,其结果就是你会得到一个个网页,每个网页对应n个关键词的数据库
正向索引还不能直接用于排名,比如我们要搜索关键词“网赚”,系统就要扫描所有索引然后找出关键词2的文件,再进行相关性计算,非常耽误事,所以最后一步,还要进行倒排索引,也就是通过大量文件的重新整理,编排,建立一个一个关键词对于n个的数据库。给最后搜索词和关键词的对应找到联系。
- 排名:用户输入关键词后,排名程序调用索引库数据,计算相关性,然后按一定格式生成搜索结果页面。
经过上面一个步骤,我们得到了用户的搜索词和网页关键词的对应关系,但是文件量那么大,不可能随意或者全部展示,这里面就涉及到网页的筛选和排序。
先建立一个初选的子集,就是我们平常看到的百度只能显示78页的内容,这个选择一般是按照网站权重高的优先,然后再进行相关性计算,这部分是SEOer最感兴趣的,它涉及到几个方面:
- 关键词常用程度
- 词频及密度(在没有关键词堆砌的情况下)
- 键词位置及形式(标题标签,黑体,H1等关键位置)
- 关键词距离。切分后的关键词完整匹配地出现,说明与搜索词最相关。比如搜索“减肥方法”时,页面上连续完整出现“减肥方法”四个字是最相关的。如果“减肥”和“方法”两个词没有连续匹配出现,出现的距离近一些,也被搜索引擎认为相关性稍微大一些。
- 链接分析及页面权重。页面有越多搜索词为锚文字的导入链接权重越高。
最后就是排名显示。
从中我们可以看到,我们的大部分工作,本质上就是利用搜索引擎的机制,达到自己的目的,所以了解搜索引擎的工作原理是必要的。