Доброго времени суток уважаемые читатели блога wooden-stool.ru. Хочу поделиться с вами простеньким PHP скриптом определения тИЦ и PR сайта. Скрипт парсит данные с яндекса, есть простенькая проверка данных, можно писать как с «http://» так и без.
Определяем (проверка) тИЦ и PR сайта на php
Небольшое отступление, что-то часто по статистике LI сюда приходят люди по запросу определения позиций сайта списком, по карте сайта и т.д..специально для таких:
Массовая проверка PR внутренних страниц по карте сайта sitemap.xml
и ещё один линк
Быстрый SEO анализ сайта.
всё, читайте дальше
if ($_GET['domain']) { $domain = $_GET['domain']; $domain = "http://".trim(preg_replace( "#https?://#i", ", $domain)); $xml = file_get_contents("http://bar-navig.yandex.ru/u?ver=2&url=$domain&show=1&post=1"); { preg_match('//Usi', $xml, $res); preg_match('/ /Usi', $xml, $res2); echo "тИЦ: ".$res[1]." (rank: ".$res2[1].")"; echo "PR: ".getpagerank($domain).""; ... .....
Дополнение
Выше приведённый скрипт определяет тИЦ и Я.ранк. Яндекс ранк- ничто иное как аналог гуглевского PageRank.
Небольшая табличка, по которой вычесляеться яндекс ранк:
тИЦ до 10 tcy rang=0
тИЦ 10-20 tcy rang=2
тИЦ 30-150 – tcy rang=3
тИЦ 160-600 – tcy rang=4
тИЦ 650-3000 – tcy rang=5
тИЦ 3100-81000 tcy rang=6
Собственно, яндекс ранк и тИЦ это одно и тоже, одно- зависит от другого. Разве что величина измерения другая.
а вот собственно и скрипт определения PR
function StrToNum($Str, $Check, $Magic) { $Int32Unit = 4294967296; $length = strlen($Str); for ($i = 0; $i < $length; $i++) { $Check *= $Magic; if ($Check >= $Int32Unit) { $Check = ($Check - $Int32Unit * (int) ($Check / $Int32Unit)); $Check = ($Check < -2147483648) ? ($Check + $Int32Unit) : $Check; } $Check += ord($Str{$i}); } return $Check; } function HashURL($String) { $Check1 = StrToNum($String, 0x1505, 0x21); $Check2 = StrToNum($String, 0, 0x1003F); $Check1 >>= 2; $Check1 = (($Check1 >> 4) & 0x3FFFFC0 ) | ($Check1 & 0x3F); $Check1 = (($Check1 >> 4) & 0x3FFC00 ) | ($Check1 & 0x3FF); $Check1 = (($Check1 >> 4) & 0x3C000 ) | ($Check1 & 0x3FFF); $T1 = (((($Check1 & 0x3C0) << 4) | ($Check1 & 0x3C)) <<2 ) | ($Check2 & 0xF0F ); $T2 = (((($Check1 & 0xFFFFC000) << 4) | ($Check1 & 0x3C00)) << 0xA) | ($Check2 & 0xF0F0000 ); return ($T1 | $T2); } function CheckHash($Hashnum) { $CheckByte = 0; $Flag = 0; $HashStr = sprintf('%u', $Hashnum) ; $length = strlen($HashStr); for ($i = $length - 1; $i >= 0; $i --) { $Re = $HashStr{$i}; if (1 === ($Flag % 2)) { $Re += $Re; $Re = (int)($Re / 10) + ($Re % 10); } $CheckByte += $Re; $Flag ++; } $CheckByte %= 10; if (0 !== $CheckByte) { $CheckByte = 10 - $CheckByte; if (1 === ($Flag % 2) ) { if (1 === ($CheckByte % 2)) { $CheckByte += 9; } $CheckByte >>= 1; } } return '7'.$CheckByte.$HashStr; } function getpagerank($url) { $fp = fsockopen("toolbarqueries.google.com", 80, $errno, $errstr, 30); if (!$fp) { } else { $out = "GET /tbr?client=navclient-auto&ch=".CheckHash(HashURL($url)) ."&features=Rank&q=info:".$url."&num=100&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"; fwrite($fp, $out); while (!feof($fp)) { $data = fgets($fp, 128); $pos = strpos($data, "Rank_"); if($pos === false) { } else { $pagerank = substr($data, $pos + 9); } } fclose($fp); } $pagerank = (strlen($pagerank) > 0) ? $pagerank : -1; $pagerank = intval($pagerank); if ($pagerank == -1) { $pagerank = 'n/a'; } return $pagerank; }
пример вызова проверки PR
echo getpagerank(wooden-stool.ru);
результатом вызова будет текущий PageRank страницы.
Посмотреть код определения PR и тИЦ в рабочих условиях можно на моём сервисе SEO анализа сайта.
на октябрь 2019 все работает. спасибо
Cкрипт-то отличный, но вот толку в нем веб-мастерам немного, он же на клей не проверяет сразу, значит для таких целей не пойдет. А если свой посмотреть, так веб-мастера итак знают
-
gloys Говорит:
03.02.2013 at 5:53 дп
Да, это всего лишь кусок кода демонстрирующий получение тИЦ с pr. Готовый толковый анализатор никто выкладывать естественно не будет : ) про клей я кстати то же писал у себя на блоге, если поискать то можно найти и в сумме с этим скриптом получится то, что вы хотите.
Хороший скрипт! Тока к сожелению у меня ума не хватает его поставить!(
Можно попросить фаил готовый? ссылкай скачать? Если не сложно!)