SEO算法解析系列之:搜索引擎对复制网页的算法
我们讲述了重复内容即复制页面对SEO的影响以及可以采取的应付对策,现在我们来谈谈搜索引擎具体是如何判断复制网页这一基础算法。以下我主要从SEO的角度来简单谈谈搜索引擎是如何判定复制网页的,如果想更深入地了解这一基本原理,可以参考《搜索引擎——原理、技术与系统》(李晓明等著)和 《搜索引擎原理、实践与应用》(卢亮、张博文编著)这两本书。
首先,搜索引擎对所索引的所有网页进行页面净化和内部消重。
任何一家搜索引擎在尚未进行复制网页判断这一操作之前都定然会有个网页净化和内部消重的过程。搜索引擎首先要清除噪音内容,对网页内部的广告、版权信息、共同的页眉页脚部分等进行净化,然后提取出该页面的主题以及和主题相关的内容,用以排名工作,噪音内容是不计入排名权重之中的。消重也差不多是这个意思,搜索引擎对其所收集的网页集里面主题相同或极端相似的,比如同一模板之中多次出现的共同代码,将其作为冗余内容,进行消除。
我们可以这样理解,最理想的状态之下,一篇原创文章,搜索引擎仅将标题和内容计入排名之中,其他全部都消除。
DocView模型就是一个自动分类和消重的模型,当然,不是非常准确。大家可以简单了解一下,DocView模型包括网页表识、网页类型、内容类别、标题、关键词、摘要、正文、相关链接等要素,它通过提取DocView模型要素的方法应用在网页自动分类和网页消重之中。
通过了解以上内容,我们就能大致明白,同一篇文章,为什么放到两个完全不同模板的站点之上,搜索引擎仍然能够正确识别出这是一个复制页面的原因了吧。
其次,搜索引擎对净化的页面进行重复内容的判断。
那么搜索引擎具体是如何判断复制页面的呢?以下内容是北大天网搜索引擎的去重算法,大部分来自对《搜索引擎——原理、技术与系统》相关知识的整理,大家可以自行参考相关文档。
现有方法大致可以分为以下三类:
1、利用内容计算相似
2、结合内容和链接关系计算相似
3、结合内容,链接关系以及url文字进行相似计算
现有绝大部分方法还是利用文本内容进行相似识别,其它两种利用链接关系以及URL文字的方法还不是很成熟,而且从效果看引入其它特征收效并不明显,所以从实际出发还是选择利用内容进行相似计算的算法。
搜索引擎判断复制网页一般都基于这么一个思想:为每个网页计算出一组信息指纹(信息指纹,英文是Fingerprint,就是把网页里面正文信息,提取一定的信息,可以是关键字、词、句子或者段落及其在网页里面的权重等,对它进行加密,如MD5加密,从而形成的一个字符串。信息指纹如同人的指纹,只要内容不相同,信息指纹就不一样。搜索引擎在对爬取的网页建立索引的时候需要对重复内容的网页进行识别和消重,这就要用到信息指纹),若两个网页有一定数量相同的信息指纹,则认为这两个网页的内容重叠性很高,也就是说两个网页是内容复制的。注意一点,算法提取的信息不是针对整张网页,而是把网站里面共同的部分如导航条、logo、版权等这些网页的噪音信息过滤掉后剩下的文本。
很多搜索引擎判断内容复制的方法都不太一样,主要是以下两点的不同:
1、计算信息指纹的算法;
2、判断信息指纹的相似程度的参数。
部分算法简介:
1、分段签名算法
这种算法是按照一定的规则把网页切成N段,对每一段进行签名,形成每一段的信息指纹。如果这N个信息指纹里面有M个相同时(m是系统定义的阙值),则认为两者是复制网页。这种算法对于小规模的判断复制网页是很好的一种算法,但是对于像Google这样海量的搜索引擎来说,算法的复杂度相当高。
2、基于关键词的复制网页算法
像Google这类搜索引擎,他在抓取网页的时候都会记下网页中出现的关键词(中文分词技术)以及每个关键词的权重(关键词密度)以及提取meta descrīption或者每个网页的512个字节的有效文字。
假设我们约定Pi表示第i个网页;该网页权重最高的N个关键词构成集合Ti={t1,t2,...tn},其对应的权重为Wi={w1,w2,...wi},摘要信息用Des(Pi)表示,前n个关键词拼成的字符串用Con(Ti)表示,对这n个关键词排序后形成的字符串用Sort(Ti)表示。
以上信息指纹都用MD5函数进行加密。
基于关键词的复制网页算法有以下5种:
1、MD5(Des(Pi))=MD5(Des(Pj)),就是说摘要信息完全一样,i和j两个网页就认为是复制网页;
2、MD5(Con(Ti))=MD5(Con(Tj)),两个网页前n个关键词及其权重的排序一样,就认为是复制网页;
3、MD5(Sort(Ti))=MD5(Sort(Tj)),两个网页前n个关键词一样,权重可以不一样,也认为是复制网页。
4、MD5(Con(Ti))=MD5(Con(Tj))并且Wi-Wj的平方除以Wi和Wj的平方之和小于某个阙值a,则认为两者是复制网页。
5、MD5(Sort(Ti))=MD5(Sort(Tj))并且Wi-Wj的平方除以Wi和Wj的平方之和小于某个阙值a,则认为两者是复制网页。
关于第4和第5的那个阙值a,主要是因为前一个判断条件下,还是会有很多网页被误伤,搜索引擎开发根据权重的分布比例进行调节,防止误伤。
以上5种算法运行的时候,算法的效果取决于N,就是关键词数目的选取。选的数量越多,判断就会越精确,但是计算速度也会越慢。所以必须考虑一个计算速度和去重准确率的平衡,根据试验结果,10个左右关键词最为恰当。
当然,以上算法只是给SEO一个思路而已,并非搜索引擎判断复制网页的全部算法。只要在SEO的过程中注意原创和“伪原创”,大可不必太在乎这个算法。