http://www.wocaoseo.com/thread-248-1-1.html
前不久看到一个搞笑的说法,有人问谷歌PR的计算是PR值=0.15+0.85*(A网页传递值+B网页传递值……),那么我是不是可以这么想,假如我不要后面的部分,每个网页只让他传递0.15的值,那么如果我做100个外链,PR值不等于15了吗,这个计算公式是不是很扯呢?


很有意思吧,虽然他的想法很单纯,但是这么一个问题却其实是很多人没有提出来过的,按照百度百科上的解释,我们可以看到其计算方式肯定是不完善的。百科的PR计算公式:PR(A)=(1-d)+d(PR(t1)/C(t1)+…+PR(tn)/C(tn),对于这个公式,我们按照最简单的思维思考的话,比如我们起源seo论坛首页www.wocaoseo.com作为计算的目标页PR(A),外部链接都是原始的页面且没有导向其他的页面链接的话,那么百科的计算公式可以简化为PR(A)=0.15+0.85*(0.15+0.15+0.15…X…),其中假使外部链接的页面个数是X的话,如果需要我们的目标页面PR是1的话,我们大约需要做7个外链就可以了,如果需要目标页面PR值是2个的话,只需要15个,需要PR值是3的话,只需要23个外链……我们可以很明显地感觉到这里存在一些问题,因为他们呈现出等差数列,也就是假如做从PR2到PR1的外链个数就可以把目标页从PR2到PR3,这个明显是不可能的。那么到底哪里出错了呢?


或许你觉得可能是我们的计算省略问题,但是即使计算不省略,也就是每个网页的导出链接个数可能是10或者更多,但是这个也只是比例问题,最终导致需要提升的个数增加,但是这个等差数列的关系是不变的,因为他改变的是一个常量而不是变量,所以这个百度百科的公式肯定存在一个知名的问题,而找到这个问题才有可能解决我们对PR的理解。


其实,我们可以换一种思维,假如百度百科的的PR计算公式是正确的,如果我们有一个刚刚建立的新目标页面,假如一种情况是PR1的首页给我们做了一个友情链接,而且只有我们一个外链,那么我们的PR这时候就是1。而一种情况PR9的页面有8个外部链接,再加上我们的是9个外链链接,按照其计算公式我们的PR值应该也是1。但是现实是什么,假如一个PR9的页面只有9个外链而且给我们一个页面的话,我们的PR值可能是非常高的,肯定会超过1。那么到底哪里出错了呢?


我们知道,PR的来源是随机浏览模型,PR的高低代表着假如没有搜索的流量还会有多少人会浏览来,假如一个评价是1的代表着10人,那么一个评价是9的绝对不可能是90人,肯定是千万级甚至是亿级的规模,因为假使我们给所有网站首页按照浏览量评级,PR1的浏览是10的话,这类的站太多了,而PR9的浏览量的网站微乎其微,他的浏览级别绝对是非常大的一个规模,所以9和1之间的区别绝对是一个很大的数量级,不能按照同一级别的计算公式来计算PR值。这才是问题的核心所在,那个公式只能是同级别的计算公式,根本无法用在不同的级别计算上,换句话说,同PR级别的可以用百度百科的那个计算公式,而不同级别的PR网站不能采用这个这个公式。


那么搜索到底是怎么运用这个公式的呢,第一个最简单的就是区别计算,把PR低于1的按照这个公式计算,把PR高于1的按照其PR值区间进行计算,然后在不同区间乘以一个区间内的常数,这样就可以计算出不同PR值的传递数值是多少;另外一个最可能是划归为统一原始值计算,也就是把高于PR1的都按照比例划分为原始值,比如PR是9的话,那么可以划分为多少个原始PR值的页面才能达到,PR1的话多少原始值页面才能达到,划分一个最小的度量单位,把所有超过这个度量单位的都进行计算到里面,这样就可以进行同级别进行计算了。


跳出这个公式的束缚,我们知道PR的计算属于迭代的运算,其最初的计算值都属于或接近于原始初值的,因此从道理上来讲百度那个PR计算公式属于这个迭代公式的一部分而已,仅仅可以用来计算原始网页的和最初PR值的计算,而不是最终的PR结果,如果想得出最终的PR值需要根完整的计算公式才可以。


注释:讲了这么多,其实只要大家理解一个问题,这公式属于去掉一定常量后的计算公式,不能直接用在计算上,只能用于理解Pr值的获得思维。至于具体的PR计算公式,焦大认为可能有2中可能算法,第一种是按照比例法,比如把所有的PR值归为原始网页的值,这样可以取对数就可以实现了,另外的一种可能是区间法,不同原始值的数量上有一定的区间,根据其区间输出一定的PR值。焦大:seo如何快速理解谷歌PR的计算奥秘 ...

以上内容由起源seo论坛提供,原文网址为http://www.wocaoseo.com/

焦大:seo如何快速理解谷歌PR的计算奥秘的更多相关文章

  1. 快速理解web语义化

    什么是Web语义化 Web语义化是指使用恰当语义的html标签.class类名等内容,让页面具有良好的结构与含义,从而让人和机器都能快速理解网页内容.语义化的web页面一方面可以让机器在更少的人类干预 ...

  2. 【转】快速理解Kafka分布式消息队列框架

     from:http://blog.csdn.net/colorant/article/details/12081909 快速理解Kafka分布式消息队列框架 标签: kafkamessage que ...

  3. Spark机器学习 Day2 快速理解机器学习

    Spark机器学习 Day2 快速理解机器学习 有两个问题: 机器学习到底是什么. 大数据机器学习到底是什么. 机器学习到底是什么 人正常思维的过程是根据历史经验得出一定的规律,然后在当前情况下根据这 ...

  4. 快速理解高性能HTTP服务端的负载均衡技术原理(转)

    1.前言 在一个典型的高并发.大用户量的Web互联网系统的架构设计中,对HTTP集群的负载均衡设计是作为高性能系统优化环节中必不可少的方案.HTTP负载均衡的本质上是将Web用户流量进行均衡减压,因此 ...

  5. 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)

    本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...

  6. 字符编码那点事:快速理解ASCII、Unicode、GBK和UTF-8

    原作者:阮一峰(ruanyifeng.com),现重新整理发布,感谢原作者的无私分享. 1.引言 今天中午,我突然想搞清楚 Unicode 和 UTF-8 之间的关系,就开始查资料. 这个问题比我想象 ...

  7. [转帖]十分钟快速理解DPI和PPI,不再傻傻分不清!

    十分钟快速理解DPI和PPI,不再傻傻分不清! https://baijiahao.baidu.com/s?id=1605834796518990333&wfr=spider&for= ...

  8. 快速理解VirtualBox的四种网络连接方式

    VirtualBox中有4中网络连接方式: NAT Bridged Adapter Internal Host-only Adapter VMWare中有三种,其实他跟VMWare 的网络连接方式都是 ...

  9. 深入浅出 1 - AI量化策略快速理解

      我们在用AI来编写量化策略过程中,主要用到了机器学习,先来从一张图直观理解什么是机器学习:人类对新问题做出有效决策依靠的是过去积累的许多经验,并对经验进行利用,而对机器来说,“经验”以“数据”方式 ...

随机推荐

  1. Python File next() 方法

    概述 next() 方法在文件使用迭代器时会使用到,在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发 StopIteration高佣联盟 www.c ...

  2. PHP hypot() 函数

    实例 计算不同的直角三角形的斜边长度: <?phpecho hypot(3,4) . "<br>";echo hypot(4,6) . "<br& ...

  3. PHP deg2rad() 函数

    实例 把角度转换为弧度: <?phpecho deg2rad("45") . "<br>";echo deg2rad("90&quo ...

  4. C/C++编程笔记:流行的数字游戏【2048】,C语言400行源代码分享

    游戏介绍 你玩过2048吗?2048是一款流行于各大网页和手机的数字游戏,手机安卓版推出的是<挑战2048>,之后的版本中还加入了双人对战的游戏模式,更加受到玩家的热捧. 2048的游戏规 ...

  5. 安装ElasticSearch遇到的深坑

    实验需要ES,安装过程中遇到一些奇葩的问题,记录下.下面介绍下安装步骤: 第一步:安装java ES是运行在java虚拟机上面的,所以首先需要安装java环境,安装过程不再赘述,唯一需要注意的是ES对 ...

  6. Jvm相关文章

    深入理解JVM-内存模型(jmm)和GC https://www.jianshu.com/p/76959115d486

  7. 使用ajax发送的请求实现页面跳转

    ajax 本身是不适用于页面跳转的: 可以借助其他方法实现: 1,window.location.href = "/home"; 2,springMVC 返回的modelAndVi ...

  8. python6.2类的封装

    class Card(object): def __init__(self,num,pwd,ban): self.num=num#卡号 self.pwd=pwd#密码 self.__ban=ban#余 ...

  9. 嵌入式Linux串口编程简介

    文章目录 简介 用到的API函数 代码 简介 嵌入式Linux下串口编程与Linux系统下的编程没有什么区别,系统API都是一样的.嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大 ...

  10. Github获8300星!用Python开发的一个命令行的网易云音乐

    最近在逛Github发现了一个非常有趣的库musicbox,是用纯Python打造的,收获了8300颗星.Python语言简单易学,好玩有趣,身边越来越多的小伙伴都开始学习Python.她的魅力非常大 ...