詳細解析 PageRank算法與PR值傳遞
PageRank算法是Google排名運算法則(排名公式)的一部分,是Google用于用來標識網頁的等級/重要性的一種方法,是Google用來衡量一個網站的好壞的唯一標準。
這是一篇關于PageRank算法的純理論性研究文章,前半段闡述了PageRank的基礎理論,在后半段提出了自己的一些發現。另外先特別強調下,對于PageRank算法的這些抽象研究主要是為了更好的構建站內鏈接而做的,與工具欄PR(就是常說的那個PR。)基本上是沒有關系的。
還有,理解PageRank算法對于SEOer而言是很重要的,因為它是最經典的鏈接算法之一。盡管博客的讀者可能水平層次不齊,還是想要保證更多人能看懂,所以盡量設法把文章寫的更容易理解了。我想說的是,盡管它很長,但值得一看。
一、PageRank概述
PageRank基于隨機沖浪模型提出,可以看作是模擬瀏覽者訪問網站的情形。當一個網頁有著更多導入鏈接,且那些鏈接也處于用戶點擊比率比較高的位置(如鏈接緊隨正文后面則效果好,鏈接處于頁腳則效果差,這些也是很有可能被計入PageRank算法的)時,它就有更多的機會被用戶瀏覽到,所以它在搜索引擎看來也就會有更高的權重。
而PageRank算法的隨機沖浪模型更多的被比喻作“投票”,因為這樣更好理解。一個頁面連接向另一個頁面即視為投一次票,票數多的網頁權重就高。另外每個頁面的投票權是不等同的,來源網頁本身擁有的權重越高,它的投票權也就越大。所以說如果要讓一個頁面擁有高權重的話,它要有足夠多的高質量導入鏈接。
PageRank算法的數學要求非常高,本文只從(也只能從)最簡單的角度出發盡量多寫些實用的東西。
二、PageRank的生成與傳遞
初始的那些PageRank值是由網頁生成的,每誕生一個網頁就會附帶一個很小的PR值。另外搜索引擎也有可能給予第一次發現的域名的首頁一個較小的PR值,在PageRank的改進算法里面有一個有關于此的。
而PageRank的傳遞是從那些頁面開始算,大約給出85%的該頁面PR值,讓該頁面連向的那些頁面平分這85%的PR(頁面本身不會因此損失PR)。下面通過圖的方式來更簡單的表述一下。
三、PR值傳遞簡易示意
首先假設首頁擁有的PR分值為100,欄目頁85,內頁72。數值是隨便取的,主要是為了方便區分。為了方便理解,這個示意圖也是非常精簡的,沒考慮內頁和欄目頁再連回首頁等等的問題。
圖中第二、第三行分別代表的是兩輪的計算,實際上還需要更多次才能達到數值的穩定,當然,這里只是為了說明問題,兩次就足夠了。
第一輪計算中,從每個有出鏈的網頁開始計算PR的輸出,此時欄目頁和內頁分別得到了一次PageRank值。但是內頁其實得到的PageRank不應該僅僅是這些,因為第一輪計算的時候,連向它的欄目頁得到了更多的PR。此時就進行第二輪的計算,內頁在此時得到了更多的PR。
實際運用中,因為鏈接結構復雜得多,不太會出現圖中內頁的總PR還高于首頁的情況,因為內頁還是會連回首頁的。當多次計算后數值趨于平穩的時候,各個頁面的分值都已經會很大了,但它們之間的比值是穩定的。
四、PageRank算法的猜想
根據上圖可以發現,PR傳遞中很重要的一點,便是“層”的概念(比如三層結構一般由首頁、欄目頁和內頁構成)。但每一層有多少頁面在這里沒什么關系,它們總是分光該層的PR值為止。所以這里可以把一個層視為一個節點。
p.s. 節點就是一個點,它可以用來簡化概念,SEO里面頁面、索引詞什么的都能視為節點。比如下面的兩層標準結構,可以閉上眼睛,把首頁和內頁兩類頁面想象成兩個點,然后當中有兩個箭頭(弧)把它們連接起來,代表著首頁連接內頁,內頁連接首頁。
下面看圖,數值首先不必太在意,看懂意思就行:
上圖涉及了一些雖然數學角度很簡單,但是挺繞的計算。計算方法和第一張圖是一樣的,但是另外還考慮到了內頁連回首頁的鏈接等等,總共進行了三次的計算(按照大地的說法,Google迭代計算三次,百度只計算一次。。。)。
可以發現層數越多的鏈接結構,其總PageRank值越多。但問題是多出來的PageRank大多是在欄目頁上的,對于一些類型的網站而言,欄目頁擁有很高的PR沒多大必要(但大型網站一定要提供欄目頁足夠多的PR以便爬蟲頻繁抓取)。
層數多的結構最顯著的一點不利之處是在于內頁一層的總PR上面,當層數多了以后,隨著權值(二)給予了網站首頁很多PR(之所以給首頁PR,因為實際情況中首頁更容易獲取外鏈),它能增加的PageRank值屈指可數。
如果這個理論推斷沒有錯誤的話,可以得出的結論是,層數多的網站的內頁在優化力度不強的時候,排名很可能大半靠的是域名權重,而極少是網頁權重。如果能把網頁權重一并利用起來的話,那些大型網站的流量是有可能得到很大的飛躍的。
而如何提升內頁的網頁權重這一點,首先可以是按照這個思路進一步嘗試其他鏈接結構,另外前面也提到過鏈接的位置很可能是會影響權值的傳遞比例的,把不重要的鏈接放在會被搜索引擎消噪的噪音區域,或許就會好得多。
對于小型網站而言,也可以發現的是,很多博客的結構是兩層的,它就可以很方便的把內頁的權重最大化。當然標準的兩層結構還要求博客首頁顯示更多內頁的鏈接,或許可以參考這個頁面的做法:http://sjolzy.cn/Js.html。
五、隨想
盡管通過理論推斷,簡單計算了一些數據,應該有點參考價值,但可能還是存在問題的。首先PageRank的計算其實還要復雜得多,本身這里用的一些計算方法已經是最簡化的了,可能和完整的算法相比有出入。另外PageRank算法在十多年里面不斷改進,可能也會帶來理論與實際的不同,比如內頁PR在多層鏈接結構之下的劣勢可能沒這么明顯。
當然支持這些猜想的依據也是有的,不然就沒必要做這么多麻煩事了。比如博客文章的權重很多人都是覺得比較高的;大型網站的SEO流量也有些很多、有些不濟,差異很大;搜索引擎也經常說要保證從首頁到內頁的點擊數盡量少。
但仍因為結論的不確定性,所以它可以作為改進網站SEO的參考,但最好不要照搬。
不論這些,還必須注意的一點是,PageRank算法本身在SEO里面占的比重也不算高,不是所有事情都能往“權重”這兩個字上面扯的。借用國平的話說,SEO里面細節的東西懂的越多越好,但真正做的時候還是要站在整體上面去考慮。
還有此文的思路想法多半是適合于百度的,但最終結論未必通用。因為百度可能是只計算一次就決定PR,這時候數值還遠遠沒穩定。也因此,原本就感覺百度更看重的是鏈接數量而非質量,也似乎找到了一些依據。
文中的計算方法或許也可以適用于嘗試一些特殊的鏈接結構,或許也可以把分頁之類的問題也考慮進去,求得更精確的結果。
理解搜索引擎原理的一個比較主要的好處就是在于,在同一個問題上,理解的深度可以強得多。同樣是PageRank,一些人知道要注重鏈接的數量和質量就覺得夠了,但其實是可以很深入的。本文的研究,應該不算深的,但是能力所限,也難以進一步研究下去。有興趣也有能力的可以參考Google的秘密——PageRank徹底解說 中文版(http://www.kreny.com/pagerank_cn.htm)進行深入的研究。
【編輯推薦】