我们都知道网站域名和页面权重非常重要,这是知其然,很多人不一定知其所以然。权重除了意味着权威度高、内容可靠,因而容易获得好排名外,获得一个最基本的权重,也是页面能参与相关性计算的最基本条件。一些权重太低的页面,就算有很高的相关性也很可能无法获得排名,因为根本没有机会参与排名。
理解搜索引擎原理的话,就会知道“伪原创”也不管用。搜索引擎并不会因为两篇,文章差几个字,段落顺序不同就真的把它们当成不同的内容。搜索引擎的去重算法要先进准确得多。
对大型网站来说,最关键的问题是解决收录。只有收录充分,才能带动大量长尾关键词。就算是有人力、有财力的大公司,面对几百万几千万页面的网站时,也不容易处理好充分收录的问题。只有在深入了解搜索引擎蜘蛛爬行原理的基础上,才能尽量使蜘蛛抓得快而全面。
现在主流搜索引擎都已经能在几天之内更新重要页面,权重高的网站上的新文件几小时甚至几分钟之内就会被收录。不过,这种快速收录和更新也只能局限于高权重网站。很多页面几个月不能被重新抓取和更新,也是非常常见的。派代网就是一个权重比较高的网站,我的一个同事发布一篇文章 几分钟就被百度收录了。
搜索广告在网络营销行业经常称为 PPC,是由广告商针对关键词进行竞价,广告显示广告商无需付费,只有搜索用户点击广告后,广告商才按竞价价格支付广告费用。PPC 是搜索营销的另一个主要内容。
统计数据显示,自然搜索结果总点击访问数,要远远大于广告点击数。但是企业花费在 SEO 上的费用却远远低于花费在搜索广告上的费用。这既是 SEO 的尴尬,也是最大的机会。掌握了 SEO 流量,才掌握住最大搜索流量。
2009年4月20日,全球最大的中文搜索引擎百度正式推出搜索推广专业版,即此前受到业界广泛关注的“凤巢”推广系统。2009年12月1日,百度按照原定计划全面启用搜索营销专业版(即凤巢系统),凤巢将全面接管百度所有的推广位置,而原有的搜索营销经典版(即竞价排名)将从此告别历史舞台。百度方面表示,搜索营销专业版作为新一代搜索推广管理平台,能够帮助企业捕获更多商业机会,赢得更多客户,并有效提升推广效果。专家指出,百度此举,无论对用户、企业还是对营销大环境及百度自身发展来讲,都意义非凡。
百度快照链接,用户可以点击快照,查看存储在百度数据库中的页面内容。有的时候页面被删除或者有其他技术问题不能打开网站时,用户至少还可以从快照中查看想要的内容。
对某些权重比较高的网站,当用户搜索一个关键词,这个网站的结果是最权威的内容来源时,Google 除了正常结果列表外,还会显示最多四行两列八个内页链接,称为全站链接。如下图
搜索引擎的工作过程大体上可以分成三个阶段:
1) 爬行和抓取 – 搜索引擎蜘蛛通过跟踪链接访问网页,获得页面 HTML 代码存入数据库。
2) 预处理 - 索引程序对抓取来的页面数据进行文字提取、中文分词、索引等处理,以备排
名程序调用。
3) 排名 - 用户输入关键词后,排名程序调用索引库数据,计算相关性,然后按一定格式生
成搜索结果页面。
蜘蛛访问任何一个网站时,都会先访问网站根目录下的 robots.txt 文件。如果 robots.txt 文件禁止搜索引擎抓取某些文件或目录,蜘蛛将遵守协议,不抓取被禁止的网址。
和浏览器一样,搜索引擎蜘蛛也有标明自己身份的代理名称,站长可以在日志文件中看到搜索引擎的特定代理名称,从而辨识搜索引擎蜘蛛。下面列出常见的搜索引擎蜘蛛名称:
最简单的爬行遍历策略分为两种,一是深度优先,二是广度优先。所谓深度优先指的是蜘蛛沿着发现的链接一直向前爬行,直到前面再也没有其他链接,然后返回到第一个页面,沿着另一个链接再一直往前爬行。广度优先是指蜘蛛在一个页面上发现多个链接时,不是顺着一个链接一直向前,而是把页面上所有第一层链接都爬一遍,然后再沿着第二层页面上发现的链接爬向第三层页面。
由此可见,虽然理论上蜘蛛能爬行和抓取所有页面,但实际上不能也不会这么做。SEO 人员要想自己的更多页面被收录,就要想方设法吸引蜘蛛来抓取。既然不能抓取所有页面,蜘蛛所要做的就是尽量抓取重要页面。哪些页面被认为比较重要呢?有几方面影响因素: 网站和页面权重。质量高、资格老的网站被认为权重比较高,这种网站上的页面被爬行的深度也会比较高,所以会有更多内页被收录。页面更新度。蜘蛛每次爬行都会把页面数据存储起来。如果第二次爬行发现页面与第一次收录的完全一样,说明页面没有更新,蜘蛛也就没有必要经常抓取。如果页面内容经常更新,蜘蛛就会更加频繁地访问这种页面,页面上出现的新链接,也自然会被蜘蛛更快跟踪,抓取新页面。导入链接。无论是外部链接还是同一个网站的内部链接,要被蜘蛛抓取就必须有导入链接进入页面,否则蜘蛛根本没有机会知道页面的存在。高质量的导入链接也经常使页面上的导出链接被爬行深度增加。与首页点击距离。一般来说网站上权重最高的是首页,大部分外部链接是指向首页,蜘蛛访问最频繁的也是首页。离首页点击距离越近,页面权重越高,被蜘蛛爬行的机会也越大。
为了避免重复爬行和抓取网址,搜索引擎会建立一个地址库,记录已经被发现还没有抓取的页面,以及已经被抓取的页面。地址库中的 URL 有几个来源。
1. 一是人工录入的种子网站。
2. 二是蜘蛛抓取页面后,从 HTML 中解析出新的链接 URL,与地址库中的数据对比,如是地址库中没有的网址,就存入待访问地址库。
3. 三是站长通过搜索引擎网页提交表格提交进来的网址。
大部分主流搜索引擎都提供一个表格,让站长提交网址。不过这些提交来的网址都只是存入地址库而已,是否收录还要看页面重要性如何。搜索引擎所收录的绝大部分页面是蜘蛛自己跟踪链接得到的。可以说提交页面基本上是毫无用处的,搜索引擎更喜欢自己沿着链接发现新页面。
检测并删除复制内容通常是在下面介绍的预处理过程中进行,但现在的蜘蛛在爬行和抓取文件时也会进行一定程度的复制内容检测。遇到权重很低的网站上大量转载或抄袭内容时,很可能不再继续爬行。这也就是为什么有的站长在日志文件中发现了蜘蛛,但页面从来没有被真正收录过。
搜索引擎对页面的分词取决于词库的规模、准确性和分词算法的好坏,而不是取决于页面本身如何,所以 SEO 人员对分词所能做的很少。唯一能做的是在页面上用某种形式提示搜索引擎,某几个字应该被当作一个词处理,尤其是可能产生歧义的时候,比如在页面标题、h1 标签以及黑体中出现关键词。如果页面是关于“和服”的内容,那么可以把“和服”这两个字特意标为黑体。如果页面是关于“化妆和服装”,可以把“服装”两个字标为黑体。这样,搜索引擎对页面进行分析时就知道标为黑体的应该是一个词。
去停止词 无论英文中文,页面内容中都会有一些出现频率很高,却对内容没有任何影响的词,如“的”,“地”,“得”之类的助词,“啊”,“哈”,“呀”之类的感叹词,“从而”,“以”,“却”之类的介词。这些词被称为停止词,因为它们对页面主要意思没什么影响。英文中的常见停止词如 the,a,an,to,of 等。搜索引擎在索引页面之前会去掉这些停止词,使索引数据主题更为突出,减少无谓的计算量。
去重的基本方法是对页面特征关键词计算指纹,也就是说从页面主体内容中选取最有代表性的一部分关键词(经常是出现频率最高的关键词),然后计算这些关键词的数字指纹。这里的关键词选取是在分词、去停止词、消噪之后。实验表明,通常选取 10 个特征关键词就可以达到比较高的计算准确性,再选取更多词对去重准确性提高的贡献也就不大了。
链接关系计算也是预处理中很重要的一部分。现在所有的主流搜索引擎排名因素中都包含网页之间的链接流动信息。搜索引擎在抓取页面内容后,必须事前计算出页面上有哪些链接指向哪些其他页面?每个页面有哪些导入链接?链接使用了什么锚文字?这些复杂的链接指向关系形成了网站和页面的链接权重。Google PR 值就是这种链接关系的最主要体现之一。其他搜索引擎也都进行类似计算,虽然他们并不称之为 PR。
搜索词处理
搜索引擎接收到用户输入的搜索词后,需要对搜索词做一些处理,才能进入排名过程。搜索词处理包括几方面:
中文分词
与页面索引时一样,搜索词也必须进行中文分词,将查询字符串转换为以词为基础的关键词组合。分词原理与页面分词相同。去停止词 。和索引时一样,搜索引擎也需要把搜索词中的停止词去掉,最大限度地提高排名相关性及效率。
指令处理查询词完成分词后,搜索引擎的缺省处理方式是在关键词之间使用“与”逻辑。也就是说用户搜索“减肥方法”时,程序分词为“减肥”和“方法”两个词,搜索引擎排序时缺省认为,用户寻找的是既包含“减肥”,也包含“方法”的页面。只包含“减肥”不包含“方法”,或者只包含“方法”不包含“减肥”的页面,被认为是不符合搜索条件的。当然,这只是极为简化的为了说明原理的说法,实际上我们还是会看到只包含一部分关键词的搜索结果。
另外用户输入的查询词还可能包含一些高级搜索指令,如加号、减号等,搜索引擎都需要做出识别和相应处理。有关高级搜索指令,后面还有详细说明。拼写错误矫正
经过分词后的多个关键词,对整个搜索字符串的意义贡献并不相同。越常用的词对搜索词的意义贡献越小,越不常用的词对意义贡献越大。举个例子,假设用户输入的搜索词是“我们冥王星”。“我们”这个词常用程度非常高,在很多页面上会出现,它对“我们冥王星”这个搜索词的辨识程度和意义相关度贡献就很小。找出那些包含“我们”这个词的页面,对搜索排名相关性几乎没有什么影响,有太多页面包含“我们”这个词。而“冥王星”这个词常用程度就比较低,对“我们冥王星”这个搜索词的意义贡献要大得多。那些包含“冥王星”这个词的页面,对“我们冥王星”这个搜索词会更为相关。
关键词距离。切分后的关键词完整匹配出现,说明与搜索词最相关。比如搜索“减肥方法”时,页面上连续完整出现“减肥方法”四个字是最相关的。如果“减肥”和“方法”两个词没有连续匹配出现,出现的距离近一些,也被搜索引擎认为相关性稍微大一些。
链接分析及页面权重。除了页面本身的因素,页面之间的链接和权重关系也影响关键词的相关性,其中最重要的是锚文字。页面有越多以搜索词为锚文字的导入链接,说明页面的相关性越强。
在 Google 诞生以前,传统搜索引擎主要依靠页面内容中的关键词匹配搜索词进行排名。这种排名方式的短处现在看来显而易见,那就是很容易被刻意操纵。黑帽 SEO 在页面上堆积关键词,或加入与主题无关的热门关键词,都能提高排名,使搜索引擎排名结果质量大为下降。现在的搜索引擎都使用链接分析技术减少垃圾,提高用户体验。
成为权威页面是第一优先,不过难度比较大,唯一的方法就是获得高质量链接。当你的网站不能成为权威页面时,就让它成为枢纽页面。所以导出链接也是当前搜索引擎排名因素之一。绝不链接到其他网站的做法,并不是好的 SEO 方法。
PR 是 Google 创始人之一拉里佩奇发明的,用于表示页面重要性的概念。用最简单的话说就是,反向链接越多的页面就是最越重要的页面,因此 PR 值也越高。Google Pr 有点类似于科技文献中互相引用的概念,被其他文献引用最多的文献,很可能是比较重要的文献。
PR 值计算公式是:
PR(A) = (1-d) + d(PR(t1)/C(t1) + ... + PR(tn)/C(tn))
A 代表页面 A
PR(A)则代表页面 A 的 PR 值
d 为阻尼指数。通常认为 d=0.85
t1...tn 代表链接向页面 A 的页面 t1 到 tn
C 代表页面上的导出链接数目。C(t1)即为页面 t1 上的导出链接数目。
从概念及计算公式都可以看到,计算 PR 值必须使用迭代计算。页面 A 的 PR 值取决于链接向 A的页面 t1 至 tn 页面的 PR 值,而 t1 至 tn 页面的 PR 值又取决于其他页面的 PR 值,其中很可能还包含页面 A。所以 PR 需要多次迭代才能得到。计算时先给所有页面设定一个初始值,经过一定次数的迭代计算后,各个页面的 PR 值将趋于稳定。研究证明,无论初始值怎么选取,经过迭代计算的最终 PR 值不会受到影响。对阻尼系数做个简要说明。考虑如图这样一个循环(实际网络上是一定存在这种循环的):
外部页面 Y 向循环注入 PR 值,循环中的页面不停迭代传递 PR,没有阻尼系数的话,循环中的页面 PR 将达到无穷大。引入阻尼系数,使 PR 在传递时自然衰减,才能将 PR 计算稳定在一个值上。
真正的用于排名计算的 Google PR 值我们是无法知道的,我们所能看到的只是 Google 工具条PR 值。需要清楚的是,工具条 PR 值并不是真实 PR 值的精确反应。真实 PR 值是一个准确的、大于 0.15、没有上限的数字,工具条上显示的 PR 值已经简化为 0-10 十一个数字,是一个整数,也就是说 PR 值最小的近似为 0,最大的近似为 10。实际上每一个工具条 PR 值代表的是很大一个范围,工具条 PR5 代表的页面真实 PR 值可能相差很多倍。
工具条 PR 与反向链接数目呈对数关系,而不是线性关系。也就是说从 PR1 到 PR2 需要的外部链接是 100 个的话,从 PR2 到 PR3 则需要大致 1000 个,PR5 到 PR6 需要的外部链接则更多。所以 PR 值越高的网站想提升一级所要付出的时间和努力比 PR 值比较低的网站提升一级要多得多。
PR 的英文全称是 PageRank。这个名称来源于发明人佩奇(Page)的名字,巧合的是 Page 在英文中也是页面的意思。所以准确地说 PageRank 这个名字应该翻译为佩奇级别,而不是页面级别。不过约定俗成,再加上形成巧妙的一语双关,大家都把 PR 称为页面级别。
高级搜索指令:
把搜索词放在双引号中,代表完全匹配搜索,也就是说搜索结果返回的页面包含双引号中出现的所有的词,连顺序也必须完全匹配。百度和 Google 都支持这个指令。
减号代表搜索不包含减号后面的词的页面。使用这个指令时减号前面必须是空格,减号后面没有空格,紧跟着需要排除的词。Google 和百度都支持这个指令。使用减号也可以更准确地找到需要的文件,尤其是某些词有多种意义时。比如搜索“苹果 -电影”,返回结果页面就排除了苹果这部电影的结果,而不会影响苹果电脑和苹果作为水果的内容。
星号*是常用的通配符,也可以用在搜索中。百度不支持*号搜索指令。比如在 Google 中搜索 搜索*擎。其中的*号代表任何文字。返回的结果就不仅包含“搜索引擎”,还包含了“搜索收擎”,“搜索巨擎”等内容。
inurl: 指令用于搜索查询词出现在 url 中的页面。百度和 Google 都支持 inurl 指令。inurl 指令支持中文和英文。
比如搜索inurl:搜索引擎优化。
inanchor:指令返回的结果是导入链接锚文字中包含搜索词的页面。百度不支持 inanchor。
intitle: 指令返回的是页面 title 中包含关键词的页面。Google 和百度都支持 intitle 指令。
allintitle:搜索返回的是页面标题中包含多组关键词的文件。例如 allintitle:SEO 搜索引擎优就相当于intitle:SEO intitle:搜索引擎优化。
allintitle: 类似。allinurl:SEO 搜索引擎优化就相当于inurl:SEO inurl:搜索引擎优化。
filetype:用于搜索特定文件格式。Google 和百度都支持 filetype 指令。比如搜索filetype:pdf SEO
返回的就是包含 SEO 这个关键词的所有 pdf 文件。百度只支持下面几种文件格式:pdf,doc,xls,ppt,rtf,all。其中的“all”表示搜索百度所有支持的文件类型。Google 则支持所有能索引的文件格式,包括 HTML,PHP 等。
filetype:指令用来搜索特定的资源,比如 PDF 电子书,word 文件等非常有用。
site:是 SEO 最熟悉的高级搜索指令,用来搜索某个域名下的所有文件。。比如搜索 site:chinamyhosting.com
返回的就是 chinamyhosting.com 这个域名下的所有页面。
link:也是 SEO 常用的指令,用来搜索某个 url 的反向链接,既包括内部链接,也包括外部链接。比如搜索link:chinamyhosting.com返回的就是 chinamyhosting.com 的反向链接。不过可惜的是,Google 的 link:指令返回的链接只是 Google 索引库中的一部分,而且是近乎随机的一部分,所以用 link:指令查反向链接几乎没有用。百度则不支持 link:指令。
linkdomain:指令只适用于雅虎,返回的是某个域名的反向链接。雅虎的反向链接数据还比较准确,是 SEO 人员研究竞争对手外部链接情况的重要工具之一。比如搜索
linkdomain:114box.com-site:114box.com得到的就是点石网站的外部链接,因为-site:114box.com已经排除了点石本身的页面,也就是内部
链接,剩下的就都是外部链接了。
related:指令只适用于 Google,返回的结果是与某个网站有关联的页面。比如搜索 related:dunsh.org我们就可以得到 Google 所认为的与点石网站有关联的其他页面。