tips for website promotion

All things techie, be they discussions on troubleshooting, video encoding, programming, or algorithm design.

Moderator: Nuxius

Postby TerraFrost » Thu Dec 23, 2004 4:57 pm

wikipedia provides a nifty discussion of pagerank:

http://en.wikipedia.org/wiki/Pagerank

also, i've figured out how to determine pagerank without the google toolbar :)

the basic requests look like this:

http://toolbarqueries.google.com/search ... e%2Ecom%2F

where the ch var is equal to a checksum of the website being passed to it. the algorithim for the checksum is described here:

http://google-blog.dirson.com/post.new/0155/

EDIT: these pages look to have comprehnsives write-ups about how google pr works, too:

http://www.freeweb-hosting.com/google_p ... r_checker/
http://pr.efactory.de/

EDIT2: the google toolbar also connects to the following URL on occasion:

http://toolbar.google.com/version2?dll= ... brand=GGLD

i'm not really sure what the significance of that is, but i thought i'd mention it, heh.
TerraFrost
Legendary Guard
 
Posts: 12357
Joined: Wed Dec 04, 2002 6:37 am

Postby TerraFrost » Fri Feb 04, 2005 8:24 am

here's a website that discusses problems with google:

http://www.scroogle.org/scraper2.html

also, slashdot.org currently has an article on search engine optimization. a number of comments suggest as murrian suggested - that code that validates gets bonuses on google. this seems to be in accord with my own observations. my graemlin creator jumped from a PR of 3 to a 5 one day, out of the blue. the reason is, i believe, that i had moved to a tabless layout (i'm not sure how long ago i did this before google noticed, but i do know that it was valid xhtml before i did this - although i may not have had keywords in header tags).

also, being linked to on dmoz is better for you, i believe, the longer you're in dmoz. the reason being that other sites seem to use the dmoz db and that the longer your site has been in dmoz, the longer a copy of the dmoz db with your site in it has had to propogate through out the net.
TerraFrost
Legendary Guard
 
Posts: 12357
Joined: Wed Dec 04, 2002 6:37 am

Postby TerraFrost » Fri Apr 15, 2005 2:10 am

the above link to the google pr checksum calculator is bad, now, so here's what it was at the time that it was good (the link, i mean)...

Code: Select all
<?php
/*
        Written and contributed by
        Alex Stapleton,
        Andy Doctorow,
        Tarakan,
        Bill Zeller,
        Vijay "Cyberax" Bhatter
        traB
    This code is released into the public domain
*/
header("Content-Type: text/plain; charset=utf-8");
define('GOOGLE_MAGIC', 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 GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
    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;
}


// converts an array of 32 bit integers into an array with 8 bit values. Equivalent to (BYTE *)arr32

function c32to8bit($arr32) {
    for($i=0;$i<count($arr32);$i++) {
        for ($bitOrder=$i*4;$bitOrder<=$i*4+3;$bitOrder++) {
            $arr8[$bitOrder]=$arr32[$i]&255;
            $arr32[$i]=zeroFill($arr32[$i], 8);
        }   
    }
    return $arr8;
}


// http://www.example.com/ - Checksum: 6540747202
$url = 'info:'.$_GET['url'];
print("url:\t{$_GET['url']}\n");
$ch = GoogleCH(strord($url));
printf("Checksum <2.0.114:\t6%u\n",$ch);

$ch=sprintf("%u", $ch);
// new since Toolbar 2.0.114

$ch = ((($ch/7) << 2) | (((int)fmod($ch,13))&7));

$prbuf = array();
$prbuf[0] = $ch;
for($i = 1; $i < 20; $i++) {
      $prbuf[$i] = $prbuf[$i-1]-9;
}
$ch = GoogleCH(c32to8bit($prbuf), 80);
//

printf("Checksum >=2.0.114:\t6%u\n",$ch);
?>

archive.org's copy

also, the algorithim, in vbscript, can be found here:

http://tumanov.com/projects/scriptlets/ ... ecksum.asp
TerraFrost
Legendary Guard
 
Posts: 12357
Joined: Wed Dec 04, 2002 6:37 am

Postby TerraFrost » Sun Jun 19, 2005 2:16 am

Apparently some more information on how Google calculates PageRank has been revealed:

http://www.buzzle.com/editorials/6-10-2005-71368.asp

The most notable thing is that the age of the domain is factored into the determination of PR.
TerraFrost
Legendary Guard
 
Posts: 12357
Joined: Wed Dec 04, 2002 6:37 am

Postby TerraFrost » Mon Jan 16, 2006 8:22 pm

This is kinda interesting:

http://www.rustybrick.com/pagerank-prediction.php
http://www.iwebtool.com/pagerank_prediction

They attempt to tell you what you can expect your PageRank to be after the next PageRank update. Unfortunately, I think it's more hype and bs than anything (I think this of most SEO stuff, actually)...
TerraFrost
Legendary Guard
 
Posts: 12357
Joined: Wed Dec 04, 2002 6:37 am

Previous

Return to Communications Center

Who is online

Users browsing this forum: No registered users and 1 guest

cron