怎么做好网站的SEO优化
如果您有SEO优化、网站建设需求请致电:18510193015
一、搜索引擎的定义
搜索引擎可以理解为一种协助用户搜寻所需内容的计算机程序。换句话说,它能将计算机存储的信息与用户的信息需求进行匹配,并展示出匹配结果。
二、搜索引擎工作原理
搜索引擎网站的后台拥有一个规模巨大的数据库,其中存储着海量的关键词,每个关键词又对应着众多网址。这些网址是由被称为‘搜索引擎蜘蛛’或‘网络爬虫’的程序从广阔的互联网上逐步下载收集而来。随着各类网站的不断涌现,这些勤奋的‘蜘蛛’每天在互联网上爬行,从一个链接跳到另一个链接,下载其中内容并进行分析提炼,找出其中的关键词。如果‘蜘蛛’认为某个关键词在数据库中不存在但对用户有用,就会将其存入后台数据库;反之,如果认为是垃圾信息或重复信息,就会舍弃继续爬行,寻找新的、有用的信息保存起来供用户搜索。当用户进行搜索时,就能检索出与关键字相关的网址展示给用户。
由于一个关键词对应多个网址,所以就产生了排序问题,与关键词最契合的网址通常会排在前面。在‘蜘蛛’抓取网页内容并提炼关键词的过程中,存在一个问题:‘蜘蛛’能否理解网页内容。如果网站内容是 flash 和 js 等形式,它就无法理解,会感到困惑,即使关键字再贴切也无济于事。相反,如果网站内容能被搜索引擎识别,那么搜索引擎就会提高该网站的权重,增加对该网站的友好度。这个过程我们称为 SEO。
三、搜索引擎工作过程
搜索引擎的工作过程大致可分为三个阶段。
【第一阶段】爬行和抓取:搜索引擎蜘蛛通过跟踪链接访问网页,获取网页 HTML 代码并存入数据库。
1、什么是蜘蛛(spider)?
它是抓取网页数据的执行者,实际上是一个计算机程序。由于这个工作过程与现实中的蜘蛛很相似,所以业内称其为搜索引擎蜘蛛。蜘蛛程序向网站页面发出访问请求,服务器会返回 HTML 代码,蜘蛛程序将收到的代码存入原始页面数据库中。蜘蛛访问任何一个网站时,都会先访问网站根目录下的 robots.txt 文件。如果该文件禁止搜索引擎抓取某些文件或目录,蜘蛛会遵守这些禁止协议,不抓取被禁止的网址。
2、如何跟踪链接?
为了抓取尽可能多的页面,搜索引擎蜘蛛会跟踪网站页面上的链接,从一个页面爬到下一个页面,就像蜘蛛在蜘蛛网上爬行一样,这也是搜索引擎蜘蛛名字的由来。整个互联网是由相互链接的网站页面组成的。理论上,只要给蜘蛛足够的时间,它总能爬取完互联网上所有的页面链接。但实际情况并非如此,由于网站及链接结构异常复杂,蜘蛛需要采用一定的爬行策略才能遍历网上所有页面。
3、爬行策略
根据网站链接结构的不同,我们可以把蜘蛛的爬行策略分为两种:深度爬行和广度爬行。
深度爬行:蜘蛛沿着发现的页面链接一直向前爬行,直到前面没有其他链接,然后返回第一个页面,再沿着另一个链接继续向前爬行。
广度爬行:蜘蛛在一个页面上发现多个链接时,不会顺着一个链接一直往前爬,而是先把页面上所有的第一层链接都爬行一遍,接着再沿着第二层页面上发现的链接爬向第三层页面,如此循环下去。
在实际工作中,蜘蛛的带宽资源和时间都是有限的,不可能爬完所有页面。因此,深度优先和广度优先通常会混合使用,这样既能照顾到尽量多的网站,也能照顾到一部分网站的内页。
4、吸引蜘蛛
通过上面的介绍可知,蜘蛛不可能收录所有页面,所以 SEO 就是要通过各种手段吸引蜘蛛爬行并收录自己网站更多的页面。既然不能收录所有页面,那么蜘蛛肯定会尽量抓取重要页面。那么蜘蛛是如何判断哪些页面比较重要呢?有几个影响因素:
网站和页面权重:质量高、历史久的网站权重高。
页面更新度:更新频率高的网站权重高。
导入的链接:无论是外部链接还是内部链接,要被蜘蛛抓取,就必须有导入链接进入页面。高质量的导入链接也经常使页面上的导出链接被爬行深度增加。
与首页的点击距离:一般来说,网站最高的权重是首页,大部分外链都指向首页,蜘蛛访问最频繁的也是首页。所以离首页越近的页面,权重相对更高,被蜘蛛爬行的机会也更大。
5、地址库
搜索引擎会建立一个存放页面的地址库,目的是避免搜索引擎蜘蛛重复爬行和抓取网址。这个地址库里面既有已经被抓取的页面,也有被发现后还未被抓取的页面。这个地址库中的 URL 一定是蜘蛛抓取来的吗?答案是否定的,其中有人工录入的种子网站地址,也有站长通过搜索引擎网页提交的网址。蜘蛛爬取页面后,解析出网址,与地址库对比。如果不存在,则存入地址库。
6、文件存储
搜索引擎蜘蛛抓取来的数据存放在原始页面数据库中,其中的页面数据与用户浏览器得到的 HTML 完全一样。每个 URL 都有一个独特的文件编号。
7、对复制内容的检测
蜘蛛在爬行抓取文件的时候也会对其进行一定程度的复制内容检测。遇到权重低且大量抄袭复制内容的网站,蜘蛛很可能就不再继续爬行了。这也是为什么有的站长在日志文件中发现了蜘蛛,但页面从未被真正收录过的原因。
【第二阶段】预处理:索引程序对抓取来的网页数据进行文字提取、中文分词、索引等处理,以备排名程序调用。
由于搜索引擎数据库中的数据极为庞大,当用户在搜索框中输入关键词后不可能立即返回排名结果,但我们往往感觉很快,这关键就在于预处理这个过程。和爬行抓取过程一样,预处理也是在后台提前完成的。有些人认为预处理就是索引,其实不然,索引只是预处理的一个主要步骤。那么什么是索引呢?索引是对数据库列表中的一列或多列的值进行排序的一种结构。在索引之前要做五个工作:
1、提取文字
搜索引擎首先要从 HTML 文件中去除 HTML 格式标签、javascript 程序,提取出可用于排名处理的网站页面文字内容。搜索引擎除了提取出可见的文字外,还可以提取以下不可见的文字内容,比如:meta 标签中的文字内容、图片替代文字、Flash 文件的替代文字、链接锚文字等。
2、中文分词
中文句子中,字和字之间没有分隔符,一个句子中的词都是连在一起的。所以,这时搜索引擎必须分辨出哪几个字组成一个词,哪几个字本身就是一个词。例如:‘波司登羽绒服’就被分为‘波司登’和‘羽绒服’两个词。中文分词一般有两种方法:
词典匹配:将待分析的一段汉字与事先造好的词典中的词条进行匹配,在待分析汉字串中扫描到词典中已有的词条则匹配成功,或者说切分出一个单词。
根据搜索统计:基于统计的分词方法是指分析大量文字样本,计算出字与字相邻出现的统计概率,几个字相邻出现越多,就越可能形成一个单词。基于统计的方法的优势是对新出现的词反应更快速,也有利于消除歧义。
基于词典匹配和基于统计的分词方法各有优劣,实际使用中的分词系统都是混合使用这两种方法,既快速高效,又能识别生词、新词,消除歧义。
3、去停止词
什么是停止词?页面内容中一些出现频率很高,但对内容没有任何影响的词。比如:‘的’‘地’‘得’之类的助词;‘啊’‘哈’‘呀’之类的感叹词;‘从而’‘以’‘却’之类的介词。英文常见的停止词,如‘the’‘of’。这些词被称为停止词,因为它们对页面主要意思没什么影响。搜索引擎去停止词主要有两个目的:
一是使索引数据主题更为突出,减少无谓的计算量。
二是检测你的内容是否和另外数据库中的内容有大量的重复性。
4、去除噪声
这里的噪声不是我们通常所说的噪声,它特指一种垃圾,即多余的字词。这些字词一般包含在版权声明文字、导航条、广告中。搜索引擎需要识别并消除这些噪声,在排名时不使用噪声内容。消噪的基本方法是根据 HTML 标签对页面分块,区分出页头、导航、正文、页脚、广告等区域,在网站上大量重复出现的区块往往属于噪声,对页面主题只能起到分散作用。对页面进行消噪后,剩下的才是页面主体内容。
5、去重
同一篇文章经常会重复出现在不同网站及同一个网站的不同网址上,搜索引擎并不喜欢这种重复性的内容。用户搜索时,如果在前两页看到的都是来自不同网站的同一篇文章,用户体验就会很差,即使内容相关。搜索引擎希望只返回相同文章中的一篇,所以在进行索引前还需要识别和删除重复内容,这个过程就称为‘去重’。
经过上面的五个步骤后,搜索引擎就能得到独特的、能反映页面主要内容的、以词为单位的内容。然后搜索引擎程序将上边提取到的关键词通过分词程序划分好,把每一个网站页面都转化为一个关键词组成的集合,同时记录下每一个关键词在该页面上出现的频率、次数、格式位置,这些都以权重的形式记录下来,然后放到一个地方,这个地方就是专门放置这些组合词的词表结构——索引库,也叫做‘词表索引形式’。
6、正向索引
页面转换为一个关键词组成的集合,同时记录每一个关键词在页面上的出现频率、出现次数、格式、位置。这样,每一个页面都可以记录为一串关键词集合,其中每个关键词的词频、格式、位置等权重信息也都记录在案。每一个文件夹都对应一个 ID,文件内容被表示为一串关键词的集合。在搜索引擎的索引库中,这时候关键词已经被转化成了关键词 ID,这样的数据结构叫正向索引。
7、倒排索引
因为正向索引不能直接用于排名,比如:用户搜索某一关键词 2,如果只从正向索引查找,只能找到包含该关键词的文件夹,不能实际返回排名。这时候就会用到倒排索引了。在倒排索引中关键词变成了主键,每个关键词对应一系列文件,每一个文件都出现了要搜索的关键词,这样用户在搜索某一个关键词的时候,排序程序就能在倒排列表中找到这个关键词对应的文件。
8、特殊文件的处理
除了 HTML 文件外,搜索引擎通常还能抓取和索引以文字为基础的多种文件类型,如 PDF、Word、WPS、XLS、PPT、TXT 文件等。我们在搜索结果中也经常会看到这些文件类型。但目前的搜索引擎还不能处理图片、视频、Flash 这类非文字内容,也不能执行脚本和程序。虽然搜索引擎在识别图片及从 Flash 中提取文字内容方面有些进步,不过距离直接靠读取图片、视频、Flash 内容返回结果的目标还很远。对图片、视频内容的排名还往往是依据与之相关的文字内容。所以在进行 SEO 时,你的网站应尽量少用这些内容。
9、链接关系的计算
当搜索引擎抓取了页面后,还必须事先计算出页面上有哪些链接指向哪些页面。每个页面又有哪些导入链接,链接使用的什么锚文字,正是这些复杂的链接指向关系形成了网站和页面的链接权重。
【第三阶段】排名:用户输入关键词后,排名程序调用索引库数据,计算相关性,然后按一定格式生成搜索结果页面。
1、搜索词处理
中文分词:与页面索引时一样,搜索词也必须进行中文分词,将查询字符串转换为以词为基础的关键词组合。分词原理与页面分词相同。
去停止词:和索引时一样,搜索引擎也需要把搜索词中的停止词去掉,最大限度地提高排名相关性及效率。
指令处理:如加号、减号等,搜索引擎都需要做出识别和相应处理。
拼写错误矫正:如果用户输入了明显错误的字或者英文单词的时候,搜索引擎会提示用户正确的用字或者拼法。
整合搜索触发:比如搜索明星,会出现图片、视频等内容,适合做热门话题。
2、文件匹配
倒排索引快速匹配文件,假设用户搜索‘关键词 2 关键词 7’,排名程序只要在倒排索引中找到‘关键词 2’和‘关键词 7’这两个词,就能找到分别含有这两个词的所有页面。经过简单计算就能找出既包含‘关键词 2’,也包含‘关键词 7’的所有页面:文件 1 和文件 6。
3、初始子集选择
互联网上的页面有成千上万个,搜索某一关键词出来的页面也会有上千万个,如果搜索引擎一上来就直接计算页面相关性,那会非常耗时。实际上用户不需要看到这成千上万的页面,只需要一两个有用的页面。这时候搜索引擎就会根据用户的搜索词预定选择 100 个文件,然后进行返回。那么到底选择哪一百个呢?这就看你网站页面和用户搜索的关键词的相关匹配度了。页面权重高的就会进入到搜索引擎的预选子集中。
4、相关性计算
选出初始子集后,对子集中的页面计算关键词相关性。影响相关性的主要因素包括以下几方面:
u关键词常用程度/u:越常用的词对搜索词的意义贡献越小,越不常用的词对意义贡献越大。假设用户输入的搜索词是‘我们 DKI’。‘我们’这个词常用程度非常高,在很多页面上会出现,它对‘我们 DKI’这个搜索词的辨识程度和意义相关度贡献就很小。那些包含‘DKI’这个词的页面,对‘我们 DKI’这个搜索词会更为相关。
u词频及密度/u:一般认为在没有关键词堆积的情况下,搜索词在页面中出现的次数多,密度比较高,说明页面与搜索词越相关。
u关键词位置及形式/u:像在索引部分中提到的,页面关键词出现的格式和位置都被记录在索引库中。关键词出现在比较重要位置,如标题标签、黑体、H1 等,说明页面与关键词越相关。这一部分就是页面 SEO 所要解决的问题。
u关键词距离/u:切分后的关键词完整匹配出现,说明与搜索词最相关。比如搜索‘减肥方法’时,页面上连续完整出现‘减肥方法’四个字是最相关的。如果‘减肥’和‘方法’两个词没有连续匹配出现,出现的距离近一些,也被搜索引擎认为相关性稍微大一些。
u链接分析及页面权重/u:除了页面本身的因素,页面之间的链接和权重关系也影响关键词的相关性,其中最重要的是锚文字。页面有越多以搜索词为锚文字的导入链接,说明页面的相关性越强。链接分析还包括了链接源页面本身的主题,锚文字周围的文字等。
5、排名过滤及调整
计算相关性后,大体排名就已经确定了。之后搜索引擎可能还有一些过滤算法,对排名进行轻微调整,其中最主要的过滤就是施加惩罚。一些有作弊嫌疑的页面,虽然按照正常的权重和相关性计算排到前面,但搜索引擎的惩罚算法却可能在最后一步把这些页面调到后面去。典型的例子是百度的 11 位,Google 的负 6、负 30、负 950 等算法。
6、排名显示
所有排名确定后,排名程序调用原始页面的标题标签、描述标签、快照日期等数据显示在页面上。有时搜索引擎需要动态生成页面摘要,而不是调用页面本身的描述标签。
7、搜索缓存
如果每次搜索都重新处理排名可以说是很大的浪费。搜索引擎会把最常见的搜索词存入缓存,用户搜索时直接从缓存中调用,而不必经过文件匹配和相关性计算,大大提高了排名效率,缩短了搜索反应时间。
8、查询及点击日志
搜索用户的 IP 地址、搜索的关键词、搜索时间,以及点击了哪些结果页面,搜索引擎都记录形成日志。这些日志文件中的数据对搜索引擎判断搜索结果质量、调整搜索算法、预期搜索趋势等都有重要意义