0

Rezolvarea problemei de preluare Page Rank in linkex

Probabil ca in ultimul timp v-ati intrebat de ce nu mai merge linkex oferit gratuit de linkex.dk

De fiecare data cand se adauga un nou link va aparea eroare: Min. pagerank error. Required PageRank:

Acesta eroare va este afisata pe monitor din cauza faptului ca, Google si-a modificat algoritmul pentru preluarea PageRank-ului.

Adresa pe care o folosea in trecut

http://toolbarqueries.google.com/search?client=navclient-auto&ch={cod verificare}&ie=UTF-8&oe=UTF-8&features=Rank:FVN&q={info:http://www.elatest.info/}

s-a schimbat in

http://toolbarqueries.google.com/tbr?client=navclient-auto&ch={cod verificare}&ie=UTF-8&oe=UTF-8&features=Rank:FVN&q={info:http://www.elatest.info/}

Se mai poate mentiona ca in trecut a fost disponibil pe domeiul www.google.com dar si pe subdomeniul toolbarqueries.google.com. Pe langa aceasta modificare si codul de verificare a fost calculat dupa alt algoritm (algoritm care va fi prezentat mai jos).

Daca ne uitam la diferentele intre cele 2 observam ca s-a modificat url-ul din search in tbr

Pentru rezolvarea preluarii problemei  de preluare a PageRank-ului exista 2 posibilitati:

1) fiind cea simpla – este de a accepta site-uri cu orice fel de Pagerank. Se face urmand pasii: Admin -> Settings ->Link verification settings -> Min. PageRank -> se alege 0 (zero). Mai exact vor putea fi adaugate in linkex site-uri cu PR0 PR1 … PR10

2) Daca cunoasteti putina programare in PHP puteti rezolva din functia care preia Page Ranl-ul de la Google facand cateva modificari:

Se deschide intr-un editor fisierul index.php din folderul in care aveti linkex instalat si se fac urmatoarele modificari:

  • $header .= "GET /search?client=navclient-auto&ch=" . $cookie . "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n" ;
    se inlocuieste cu
    $header .= "GET /tbr?client=navclient-auto&ch=" . $cookie . "&features=Rank&q=info:" . $url . " HTTP/1.1\r\n" ; care se va regasi in 2 locuri.
    • var $googledatacenters = array( 'www.google.com' ); se va modifica in

var $googledatacenters = array( 'toolbarqueries.google.com' );

  • var $hosts = array( 'www.google.com' ); se modifica in var $host = array('toolbarqueries.google.com');
  • dupa var $host = array('toolbarqueries.google.com'); exista urmatoarea functie:
    function getCH( $str ) {
    $c1 = $this->strord( $str, 0x1505, 0x21 );
    $c2 = $this->strord( $str, 0, 0x1003F );$c1 >>= 2;
    $c1 = (($c1 >> 4) & 0x3FFFFC0 ) | ($c1 & 0x3F);
    $c1 = (($c1 >> 4) & 0x3FFC00 ) | ($c1 & 0x3FF);
    $c1 = (($c1 >> 4) & 0x3C000 ) | ($c1 & 0x3FFF);
    $T1 = (((($c1 & 0x3C0) << 4) | ($c1 & 0x3C)) < $T2 = (((($c1 & 0xFFFFC000) << 4) | ($c1 & 0x3C00)) << 0xA) | ($c2 & 0xF0F0000 ); $hn = ($T1 | $T2); $cb = $fl = 0; $hs = sprintf('%u', $hn); $length = strlen($hs); for ($i = $length - 1; $i >= 0; $i --) {
    $re = $hs{$i};
    if (1 === ($fl % 2)) {
    $re += $re;
    $re = (int)($re / 10) + ($re % 10);
    }
    $cb += $re;
    $fl ++;
    }$cb %= 10;
    if (0 !== $cb) {
    $cb = 10 - $cb;
    if (1 === ($fl % 2) ) {
    if (1 === ($cb % 2)) {
    $cb += 9;
    }
    $cb >>= 1;
    }
    }return '7'.$cb.$hs;
    }Aceasta va trebui modificata in

    function stringToNumber($str,$chk,$mag){
    $len=strlen($str);
    for($i=0;$i=4294967296){
    $chk=($chk-4294967296*(int)($chk/4294967296));
    $chk=($chk $chk+=ord($str{$i});}
    return$chk;
    }


    function createHash($str){
    $chk1=Google::stringToNumber($str,0x1505,0x21);
    $chk2=Google::stringToNumber($str,0,0x1003F);
    $HfFact=4/2;$chk1>>=$HfFact;
    $chk1=(($chk1>>4)&0x3FFFFC0)|($chk1&0x3F);
    $chk1=(($chk1>>4)&0x3FFC00)|($chk1&0x3FF);
    $chk1=(($chk1>>4)&0x3C000)|($chk1&0x3FFF);
    $calc1=(((($chk1&0x3C0)< $calc2=(((($chk1&0xFFFFC000)< return($calc1|$calc2);
    }


    function checkHash($HshNum){
    $chk=0;$Fg=0;
    $HshStr=sprintf("%u",$HshNum);
    $len=strlen($HshStr);
    for($i=$len-1;$i>=0;$i--){$r=$HshStr{$i};
    if(1===($Fg%2)){$r+=$r;$r=(int)($r/10)+($r%10);}$chk+=$r;$Fg++;}$chk%=10;
    if(0!==$chk){
    $chk=10-$chk;
    if(1===($Fg%2)){
    if(1===($chk%2)){
    $chk+=9;
    }
    $chk>>=1;
    }
    }
    return"7".$chk.$HshStr;
    }
    function getCH( $str ){
    $valX=$str;
    $val=Google::checkHash(Google::createHash(($str)));
    return $val;
    }

    In acest moment nu mai ramane decat sa intrat in Admin -> Settings -> Link verification settings -> iar in campul Google Datacenter(s) sa modificati in toolbarqueries.google.com

Dupa toate aceste modificari scriptul tau de link exchange ar trebui sa functioneze ca si pana acum cand exista vechiul algoritm si url de preluare Page Rank.