Geçtiğimiz hafta içi website sahiplerin heyecanla karşıladıkları google pagerank güncellemesi gerçekleşti. Google‘ın periyodik güncellediği arama algoritması doğrultusunda websitelerin PageRank değerleri de her 3 aylık periyotlarda değişiklik gösteriyor.
Bu makalede, online google page rank sorgulama uygulaması yapıyoruz. Demo uygulamasını da sık sık kullanabilmek için bi yere not edin.
Google Pagerank konusuna bağlı olarak, Google Backlink Sorgulama ve Alexa değerlerini sorgulama uygulamalarını da ekleyeceğim.
class GooglePageRankChecker { private static $instance; function getRank($page) { if(!isset(self::$instance)) { self::$instance = new self(); } return self::$instance->check($page); } function stringToNumber($string,$check,$magic) { $int32 = 4294967296; // 2^32 $length = strlen($string); for ($i = 0; $i < $length; $i++) { $check *= $magic; if($check >= $int32) { $check = ($check - $int32 * (int) ($check / $int32)); //if the check less than -2^31 $check = ($check < -($int32 / 2)) ? ($check + $int32) : $check; } $check += ord($string{$i}); } return $check; } function createHash($string) { $check1 = $this->stringToNumber($string, 0x1505, 0x21); $check2 = $this->stringToNumber($string, 0, 0x1003F); $factor = 4; $halfFactor = $factor/2; $check1 >>= $halfFactor; $check1 = (($check1 >> $factor) &amp;amp;amp; 0x3FFFFC0 ) | ($check1 &amp;amp;amp; 0x3F); $check1 = (($check1 >> $factor) &amp;amp;amp; 0x3FFC00 ) | ($check1 &amp;amp;amp; 0x3FF); $check1 = (($check1 >> $factor) &amp;amp;amp; 0x3C000 ) | ($check1 &amp;amp;amp; 0x3FFF); $calc1 = (((($check1 &amp;amp;amp; 0x3C0) << $factor) | ($check1 &amp;amp;amp; 0x3C)) << $halfFactor ) | ($check2 &amp;amp;amp; 0xF0F ); $calc2 = (((($check1 &amp;amp;amp; 0xFFFFC000) << $factor) | ($check1 &amp;amp;amp; 0x3C00)) << 0xA) | ($check2 &amp;amp;amp; 0xF0F0000 ); return ($calc1 | $calc2); } function checkHash($hashNumber) { $check = 0; $flag = 0; $hashString = sprintf('%u', $hashNumber) ; $length = strlen($hashString); for ($i = $length - 1; $i >= 0; $i --) { $r = $hashString{$i}; if(1 === ($flag % 2)) { $r += $r; $r = (int)($r / 10) + ($r % 10); } $check += $r; $flag ++; } $check %= 10; if(0 !== $check) { $check = 10 - $check; if(1 === ($flag % 2) ) { if(1 === ($check % 2)) { $check += 9; } $check >>= 1; } } return '7'.$check.$hashString; } function check($page) { // Open a socket to the toolbarqueries address, used by Google Toolbar $socket = fsockopen("toolbarqueries.google.com", 80, $errno, $errstr, 30); // If a connection can be established if($socket) { // Prep socket headers $out = "GET /tbr?client=navclient-auto&amp;amp;amp;ch=".$this->checkHash($this->createHash($page)). "&amp;amp;amp;features=Rank&amp;amp;amp;q=info:".$page."&amp;amp;amp;num=100&amp;amp;amp;filter=0 HTTP/1.1\r\n"; $out .= "Host: toolbarqueries.google.com\r\n"; $out .= "User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; Windows XP 5.1)\r\n"; $out .= "Connection: Close\r\n\r\n"; // Write settings to the socket fwrite($socket, $out); // When a response is received... $result = ""; while(!feof($socket)) { $data = fgets($socket, 128); $pos = strpos($data, "Rank_"); if($pos !== false){ $pagerank = substr($data, $pos + 9); $result += $pagerank; } } // Close the connection fclose($socket); // Return the rank! return $result; } } }
Pagerank uygulamasının basit bi demo ekranında ajax ile birlikte uyarlanmış halini inceleyebilirsiniz. Uygulama dosyasını aşağıdaki download bağlantısı ile indirebilirsiniz.
Örnek Kullanım:
echo $rank = GooglePageRankChecker::getRank(“serpito.com”);
// 2
Çok güzel bir uygulama.
güzel bir uygulama paylaşım için tşk ler…
hocam merhaba ben bu scripti şu şekilde kullanmak istiyorum http://www.siteadi.com/index.php?url=google.com gibi ne yapmam gerekiyor