存档

文章标签 ‘google pr’

网站终于有PR值了

2009年4月3日

网站域名从今年元月一号正式申请成功,然后找空间,上资料,在农历年前将其上线了,刚上线不久,就远走云南,而后回家过年,待过完年来,才抽空慢慢对网站进行更新。

终于在我的不懈努力之下,花了三个月的时间,实际应该只有两个月吧,网站Alexa排名已经上升到432,898,这是Alexa网站在今天的Traffic Rank。Google PR值也于今天终于有了零的突破了,PR值为1。虽然PR值才起步,但至少我的网站终于不再是零蛋了。。。

回首今年这两个月,每天都至少抽一点时间来看看我的网站。然后将一些平时的工作进行一些记录,将所用到的技术写成文章与网友共享。浏览一些关于SEO的文章,然后对网站尽可能的进行SEO,终于功夫不负有心人,网站在三个月内上升到43W了。。

搜索引擎优化 , , , ,

获取Google PR值

2009年3月20日

很多时候需要在网站上显示Google PR值,有可能显示为不同的方式,我在这里就使用最为常见的文本方式和图形方式。这里的图形方式并非由jpg、png之类的图像文件构成,而是由我采用div+css模拟构成。

以下为PHP获取Google PR值代码,也是本站开放获取Google PR值接口的源码:


<?php
/**
 * 获取Google PR值
 * 使用方式一:
 * 		URL: http://www.phpcoding.cn/lib/google.pr.php?url=http://www.phpcoding.cn
 * 		说明:将URL中的url=后面的网站地址换成相应的网站地址即可,可直接显示为: Google PR: xxxxx。
 * 使用方式二:
 * 		URL:http://www.phpcoding.cn/lib/google.pr.php?pic=pic&url=http://www.phpcoding.cn
 * 		说明:与方式一一样,将最后的网站地址换成目标网站地址即可。但此时应采用如下方式进行使用:
 * 		<script language="javascript" src="http://www.phpcoding.cn/lib/google.pr.php?pic=pic&url=http://www.phpcoding.cn">
 * 		这样才能够在页面上显示为图形方式
 * @author achao.org
 * @see http://www.phpcoding.cn
 */

define ( 'GMAG', 0xE6359A60 );

//unsigned shift right
function zeroFill($a, $b) {
	$z = hexdec ( 80000000 );
	if ($z & $a) {
		$a = ($a >> 1);
		$a &= (~ $z);
		$a |= 0x40000000;
		$a = ($a >> ($b - 1));
	} else {
		$a = ($a >> $b);
	}
	return $a;
}

function mix($a, $b, $c) {
	$a -= $b;
	$a -= $c;
	$a ^= (zeroFill ( $c, 13 ));
	$b -= $c;
	$b -= $a;
	$b ^= ($a < < 8);
	$c -= $a;
	$c -= $b;
	$c ^= (zeroFill ( $b, 13 ));
	$a -= $b;
	$a -= $c;
	$a ^= (zeroFill ( $c, 12 ));
	$b -= $c;
	$b -= $a;
	$b ^= ($a << 16);
	$c -= $a;
	$c -= $b;
	$c ^= (zeroFill ( $b, 5 ));
	$a -= $b;
	$a -= $c;
	$a ^= (zeroFill ( $c, 3 ));
	$b -= $c;
	$b -= $a;
	$b ^= ($a << 10);
	$c -= $a;
	$c -= $b;
	$c ^= (zeroFill ( $b, 15 ));

	return array ($a, $b, $c );
}

function GCH($url, $length = null, $init = GMAG) {
	if (is_null ( $length )) {
		$length = sizeof ( $url );
	}
	$a = $b = 0x9E3779B9;
	$c = $init;
	$k = 0;
	$len = $length;
	while ( $len >= 12 ) {
		$a += ($url [$k + 0] + ($url [$k + 1] < < 8) + ($url [$k + 2] << 16) + ($url [$k + 3] << 24));
		$b += ($url [$k + 4] + ($url [$k + 5] << 8) + ($url [$k + 6] << 16) + ($url [$k + 7] << 24));
		$c += ($url [$k + 8] + ($url [$k + 9] << 8) + ($url [$k + 10] << 16) + ($url [$k + 11] << 24));
		$mix = mix ( $a, $b, $c );
		$a = $mix [0];
		$b = $mix [1];
		$c = $mix [2];
		$k += 12;
		$len -= 12;
	}

	$c += $length;
	switch ($len) /* all the case statements fall through */
	{
		case 11 :
			$c += ($url [$k + 10] << 24);
		case 10 :
			$c += ($url [$k + 9] << 16);
		case 9 :
			$c += ($url [$k + 8] << 8);
		/* the first byte of c is reserved for the length */
		case 8 :
			$b += ($url [$k + 7] << 24);
		case 7 :
			$b += ($url [$k + 6] << 16);
		case 6 :
			$b += ($url [$k + 5] << 8);
		case 5 :
			$b += ($url [$k + 4]);
		case 4 :
			$a += ($url [$k + 3] << 24);
		case 3 :
			$a += ($url [$k + 2] << 16);
		case 2 :
			$a += ($url [$k + 1] << 8);
		case 1 :
			$a += ($url [$k + 0]);
		/* case 0: nothing left to add */
	}
	$mix = mix ( $a, $b, $c );
	/*-------------------------------------------- report the result */
	return $mix [2];
}

//converts a string into an array of integers containing the numeric value of the char
function strord($string) {
	for($i = 0; $i < strlen ( $string ); $i ++) {
		$result [$i] = ord ( $string {$i} );
	}
	return $result;
}

function getPR($_url) {
	$url = 'info:' . $_url;
	$ch = GCH ( strord ( $url ) );
	$url = 'info:' . urlencode ( $_url );
	$pr = file ( "http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url" );
	$pr_str = implode ( "", $pr );
	return substr ( $pr_str, strrpos ( $pr_str, ":" ) + 1 );
}

// Edit this to your website url:
if (isset($_GET["url"])) {
	$myWebSite = $_GET['url'];
}else {
	$myWebSite = "http://www.phpcoding.cn";
}
if (!isset($_GET['pic'])) {
	echo "Google PR: " . getPR ( $myWebSite );
}else {
	$pagerank = trim(getPR($myWebSite));
	$width = 6 * $pagerank;

	echo "document.write('<table width=\"80\" cellpadding=\"0\" cellspacing=\"1\" bgcolor=\"#CCCCCC\" style=\"font-size:11px;\"><tr bgcolor=\"#FFFFFF\">";
	echo "<td style=\"border:1px solid #999999;height:8px;width:62px;\">";
	echo "<div style=\"width:59px;margin-left:1px;margin-right:1px;height:6px;border:1px solid #999999;\" title=\"Google PR:{$pagerank}\">";
	echo "<div style=\"background:#1B13B7;height:4px;margin-top:1px;margin-left:1px;width:{$width}px;\"></div></div>";
	echo "</td><td align=\"center\" style=\"color:red;border:1px solid #999999;border-left:none;\">{$pagerank}</td></tr>');";

}
?>

PHP教程 , ,

googlel pr and alexa

2009年3月20日

这两天想到一个问题,想直接在我的站点上面标出Google PR和Alexa世界排名,别说这两个东西不知道,不知道的同学去Google or Baidu哈。

于是看这两个的算法接口,将这两个接口放到我的站点上面以供朋友使用,测试地址如下:

Google PR:http://www.phpcoding.cn/lib/google.pr.php?url=http://www.phpcoding.cn

Alexa 排名:http://www.phpcoding.cn/lib/alexa.php?url=http://www.phpcoding.cn

若是哪位朋友想测试,抑或其它,可将url=后面的站点URL(即红色显示的URL)换成你自己的站点URL即可。

只是以上两均是以文本的方式进行显示,因为我爱好简约!若哪位朋友需要显示为精美图片,与我联系,另行制作。

考虑到大多数人都喜欢图形化的方式,因此采用CSS+DIV模拟了一个图形的方式,引用地址为:

Google PR:http://www.phpcoding.cn/lib/google.pr.php?pic=pic&url=http://www.phpcoding.cn

Alexa 排名:http://www.phpcoding.cn/lib/alexa.php?pic=pic&url=http://www.phpcoding.cn

对于显示图形的方式,只需要在页面上采用如下方式即可显示为图形效果:

<script language="javascript" src="http://www.phpcoding.cn/lib/alexa.php?pic=pic&url=http://www.phpcoding.cn"></script>
<script language="javascript" src="http://www.phpcoding.cn/lib/google.pr.php?pic=pic&url=http://www.phpcoding.cn"></script>

对于使用PHP获取Google PR和Alexa排名的代码稍后放出。

PHP教程 , , , , , , , , ,