详细解析 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。数值是随便取的,主要是为了方便区分。为了方便理解,这个示意图也是非常精简的,没考虑内页和栏目页再连回首页等等的问题。

图中第二、第三行分别代表的是两轮的计算,实际上还需要更多次才能达到数值的稳定,当然,这里只是为了说明问题,两次就足够了。

详细解析 PageRank算法与PR值传递

第一轮计算中,从每个有出链的网页开始计算PR的输出,此时栏目页和内页分别得到了一次PageRank值。但是内页其实得到的PageRank不应该仅仅是这些,因为第一轮计算的时候,连向它的栏目页得到了更多的PR。此时就进行第二轮的计算,内页在此时得到了更多的PR。

实际运用中,因为链接结构复杂得多,不太会出现图中内页的总PR还高于首页的情况,因为内页还是会连回首页的。当多次计算后数值趋于平稳的时候,各个页面的分值都已经会很大了,但它们之间的比值是稳定的。

四、PageRank算法的猜想

根据上图可以发现,PR传递中很重要的一点,便是“层”的概念(比如三层结构一般由首页、栏目页和内页构成)。但每一层有多少页面在这里没什么关系,它们总是分光该层的PR值为止。所以这里可以把一个层视为一个节点。

p.s. 节点就是一个点,它可以用来简化概念,SEO里面页面、索引词什么的都能视为节点。比如下面的两层标准结构,可以闭上眼睛,把首页和内页两类页面想象成两个点,然后当中有两个箭头(弧)把它们连接起来,代表着首页连接内页,内页连接首页。

下面看图,数值首先不必太在意,看懂意思就行:

详细解析 PageRank算法与PR值传递

上图涉及了一些虽然数学角度很简单,但是挺绕的计算。计算方法和第一张图是一样的,但是另外还考虑到了内页连回首页的链接等等,总共进行了三次的计算(按照大地的说法,Google迭代计算三次,百度只计算一次。。。)。

可以发现层数越多的链接结构,其总PageRank值越多。但问题是多出来的PageRank大多是在栏目页上的,对于一些类型的网站而言,栏目页拥有很高的PR没多大必要(但大型网站一定要提供栏目页足够多的PR以便爬虫频繁抓取)。

层数多的结构最显著的一点不利之处是在于内页一层的总PR上面,当层数多了以后,随着权值(二)给予了网站首页很多PR(之所以给首页PR,因为实际情况中首页更容易获取外链),它能增加的PageRank值屈指可数。

如果这个理论推断没有错误的话,可以得出的结论是,层数多的网站的内页在优化力度不强的时候,排名很可能大半靠的是域名权重,而极少是网页权重。如果能把网页权重一并利用起来的话,那些大型网站的流量是有可能得到很大的飞跃的。

而如何提升内页的网页权重这一点,首先可以是按照这个思路进一步尝试其他链接结构,另外前面也提到过链接的位置很可能是会影响权值的传递比例的,把不重要的链接放在会被搜索引擎消噪的噪音区域,或许就会好得多。

对于小型网站而言,也可以发现的是,很多博客的结构是两层的,它就可以很方便的把内页的权重最大化。当然标准的两层结构还要求博客首页显示更多内页的链接,或许可以参考这个页面的做法:http://sjolzy.cn/Js.html。

五、随想

尽管通过理论推断,简单计算了一些数据,应该有点参考价值,但可能还是存在问题的。首先PageRank的计算其实还要复杂得多,本身这里用的一些计算方法已经是最简化的了,可能和完整的算法相比有出入。另外PageRank算法在十多年里面不断改进,可能也会带来理论与实际的不同,比如内页PR在多层链接结构之下的劣势可能没这么明显。

当然支持这些猜想的依据也是有的,不然就没必要做这么多麻烦事了。比如博客文章的权重很多人都是觉得比较高的;大型网站的SEO流量也有些很多、有些不济,差异很大;搜索引擎也经常说要保证从首页到内页的点击数尽量少。

但仍因为结论的不确定性,所以它可以作为改进网站SEO的参考,但最好不要照搬。

不论这些,还必须注意的一点是,PageRank算法本身在SEO里面占的比重也不算高,不是所有事情都能往“权重”这两个字上面扯的。借用国平的话说,SEO里面细节的东西懂的越多越好,但真正做的时候还是要站在整体上面去考虑。

还有此文的思路想法多半是适合于百度的,但最终结论未必通用。因为百度可能是只计算一次就决定PR,这时候数值还远远没稳定。也因此,原本就感觉百度更看重的是链接数量而非质量,也似乎找到了一些依据。