15 мая 2008 ~ 11 комментариев

Пинаем пингуем Яндекс и Google

Продолжаем тему XML-RPC, поднятую в прошлых постах. Сегодня расскажу, как сообщить Яндексу и Google о том, на вашем сайте что-то изменилось. Делается это с помощью механизма pingback’ов.

Wikipedia:

A Pingback is one of three types of Linkbacks, methods for Web authors to request notification when somebody links to one of their documents. This enables authors to keep track of who is linking to, or referring to their articles. [...].

Essentially, a Pingback is an XML-RPC request (not to be confused with an ICMP ping) sent from Site A to Site B. However, it also requires a link. When Site B receives the notification signal, it automatically goes back to Site A checking for the existence of a live incoming link. If that link exists, the Pingback is recorded successfully. This makes Pingbacks less prone to spam than Trackbacks.

В Вордпресса этот механизм работает, стоит лишь указать нужные адреса:

http://ping.blogs.yandex.ru/RPC2

http://blogsearch.google.com/ping/RPC2

Бегиннер работает не на Вордпрессе, значит надо поработать ручками :) Для пинга используются функции weblogUpdates (http://www.xmlrpc.com/weblogsCom). Подробнее о пингах Яндекса можно почитать тут, для Google – тут.

Итак, переходим от слов к делу.


require('IXR_Library.inc.php');

// Что посылаем в пингах
// Название сайта
$siteName = 'Начинающий водитель';
// Адрес сайта
$siteURL = 'http://www.avtobeginner.ru/';
// Адрес страницы, которая изменилась (например)
$pageURL = 'http://www.avtobeginner.ru/news/test.html');
// Адрес страницы с фидом
$feedURL = 'http://www.avtobeginner.ru/news.rss';

/**
* Яндекс.Блоги
*/
$pingClient = new IXR_Client('ping.blogs.yandex.ru', '/RPC2');

// Посылаем challange-запрос
if (!$pingClient->query('weblogUpdates.ping', $siteName, $siteURL, $pageURL)) {
echo 'Ошибка ping-запроса [' . $pingClient->getErrorCode().'] '.$pingClient->getErrorMessage();
}
else {
echo 'Послан ping Яндексу';
}

/**
* Google
*/
$pingClient = new IXR_Client('blogsearch.google.com', '/ping/RPC2');

// Посылаем challange-запрос
if (!$pingClient->query('weblogUpdates.extendedPing', $siteName, $siteURL, $pageURL, $feedURL)) {
echo 'Ошибка ping-запроса [' . $pingClient->getErrorCode().'] '.$pingClient->getErrorMessage();
}
else {
echo 'Послан ping Google';
}

Все. Для русскоязычных сайтов, я считаю, что этого вполне хватит.

Собственно, все это успешно работает на начинающем водителе. Скоро места для иконок-кнопок не хватит :)

11 комментариев to “Пинаем пингуем Яндекс и Google”

  1. Клиент 16 мая 2008 at 14:21 Permalink

    Пользователем ВП (WordPress) намного легче, там все автоматизировано.
    Для незнающих: Настройки -> Написание -> В поле “Сервисы обновления” вписываем:
    http://rpc.pingomatic.com/
    http://blogsearch.google.com/ping/RPC2
    http://ping.blogs.yandex.ru/RPC2
    Жмем обновить ;)

  2. Knave 16 мая 2008 at 15:41 Permalink

    Согласен.

    Я так и написал:

    В Вордпрессе этот механизм работает, стоит лишь указать нужные адреса

  3. Максим 4 июня 2008 at 0:58 Permalink

    Яша теперь принимает SITEMAP в XML

  4. Knave 5 июня 2008 at 8:44 Permalink

    Это очень хорошо, я уже добавил.

  5. Schnaps 7 июня 2008 at 15:25 Permalink

    а фигли тоглку? добавил у гуглу карту в XML гугла через 2 дня пришла и все проиндексировала, а вот яша чото уже неделю прийти не может :( лучше расскажите есть какой нить злой метод чтоб у гуглы из песка сайт вытащить? в панели вебмастера гугля говорит что контент не повторяется, в выдаече по домену все страницы показывает, а в серпе по ключевикам позиций никаких нету :(
    вот сайт http://vinedivine.ru сайт мой самый первый сделан кривовато… но он для сапы…. :]

  6. Knave 9 июня 2008 at 11:32 Permalink

    Яндекс – тормоз в отношении индексации. Остается только одно – ждать.

    Можно еще ссылок побольше на свой сайт поставить, чтоб быстрее проиндексировал.

  7. Дмитрий 17 июня 2008 at 8:02 Permalink

    Добавь Яндексу sitemap.xml.
    Здесь генератор Sitemap и описано как создать Sitemap и как его подсунуть Google и Yandex

  8. Alex_K 17 июня 2008 at 20:01 Permalink

    Яндекс – тормоз. Могут и наказать за такие слова :)

  9. Hidden Object 1 сентября 2008 at 21:35 Permalink

    Что то я не понял, подскажите пожалуйста, где можно взять эту `IXR_Library.inc.php` ?

  10. Knave 2 сентября 2008 at 7:38 Permalink

    http://scripts.incutio.com/xmlrpc/

  11. БECCTЫДHИK 24 августа 2009 at 5:24 Permalink

    Прикольно! Спасибо за статью.