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的過程中注意原創和“偽原創”,大可不必太在乎這個算法。