Скрипт проверки индексации ссылки по Яндексу

-Mouse-
На сайте с 26.03.2007
Offline
108
685

Нужна ф-ция (или кусок скрипта) на PHP, которая проверяет индексацию ссылки в Яндексе.

Буду рад, если кто-то поделится данным творением. :smoke:

[Удален]
#1

Это проверка числа проиндексированных страниц. Запрос проиндексированности ссылки можете позаимствовать у Сапы и вставить его в раздел query. Единственный нюанс: знак "<" заменяется на "&lt;", ну и с выводом пошаманьте ;)

<?php

$url=urldecode($_GET['url']);
$post='<?xml version=\'1.0\' encoding=\'windows-1251\'?>
<request>
<query>(url="'.$url.'/*"|url="www.'.$url.'/*")</query>
<page>0</page>
<maxpassages>0</maxpassages>
<groupings>
<groupby attr=\'d\' mode=\'deep\' groups-on-page=\'10\' docs-in-group=\'1\' curcateg=\'-1\'/>
</groupings>
</request>';
$curl=@curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://xmlsearch.yandex.ru/xmlsearch/');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 250);
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
$resp=curl_exec($curl);
$err=curl_error($curl);
curl_close($curl);
//Ловим ошибки
if(strpos($resp,'<error code="1">')){echo'XMLSyntaxError';exit;}//Синтаксическая ошибка — ошибка в языке запросов
if(strpos($resp,'<error code="8">')){echo'ZoneNotIndexed';exit;}//Зона не проиндексирована — обратите внимание на корректность параметров зонно-атрибутивного поиска
if(strpos($resp,'<error code="15">')){echo'NotIndexed';exit;}//Документ не прондексирован
if(strpos($resp,'<error code="18">')){echo'XMLError';exit;}//Ошибка в XML-запросе — проверьте валидность отправляемого XML и корректность параметров
if(strpos($resp,'<error code="20">')){echo'YandexError';exit;}//Неизвестная ошибка — при повторяемости ошибки обратитесь к разработчикам с описанием проблемы
if(!strpos($resp,'<doccount>')){echo'YandexOffLine';exit;}//Нет ответа от Яндекса
//Выцепляем количество страниц
preg_match('|<doccount>(.*)</doccount>|Uis', $resp, $out);
echo $out[1];
?>
A
На сайте с 27.08.2007
Offline
109
#2

/ru/forum/185155

если пригодится, то буду рад ;)

-Mouse-
На сайте с 26.03.2007
Offline
108
#3

Сенкс. 🚬

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий