Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Пингуем Яндекс и Гугль  (Прочитано 16289 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« : 28-07-2010 19:47 » 

ну вот гляди...
http://forum.shelek.ru/index.php/topic,23821.0.html
Кто-то что-то сказал? Ладно. Это только новостная лента.
А не сказал, потому как не нужно.
Я после этой статьи пытался найти что-то в реализации.
И вот сегодня.... читаю про пинг гугля и яндекса.
Оказывается....
описан протокол Weblogs.Com XML-RPC interface
Описаны API  и создан сервис у Яндекса
Описан API Google http://www.google.com/help/blogsearch/pinging_API.html
а вот и реализация

Код:
require('IXR_Library.inc.php');
// Что посылаем в пингах
// Название сайта
   $Namesite = 'Твой сайт';
// Адрес сайта
   $URLsite = 'http://мой.сайт/';
// Адрес страницы, которая изменилась (например)
   $URLpage = 'http://мой.сайт/новыйпост');

/**
* Яндекс.Блоги - почему блоги мне совсем не понятно
*/
   $pingYA = new IXR_Client('ping.blogs.yandex.ru', '/RPC2');

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

/**
* Google - опять почему-то блоги
*/
   $pingGoogle = new IXR_Client('blogsearch.google.com', '/ping/RPC2');

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

И сам класс...
http://scripts.incutio.com/xmlrpc/IXR_Library.inc.txt

Да... и как я понял, что во многих блоговых движках это уже встроенная штука (кто-нибудь из блогеров об этом знает?). Приведенный пример для "велосипедистов".

зы...Почему здесь? А где? Улыбаюсь

ззы Про мгновенную индексацию не знаю, не проверял. Но есть надежда что поисковики узнают об этом новом посте чуть быстрее, чем простой индексацией.

зззы. Только б не забыть, что это я написал здесь Улыбаюсь

« Последнее редактирование: 28-07-2010 20:13 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 28-07-2010 20:17 » 

Сам перенес.
Потому как возник вопрос
Если у меня кодировка 1251, то нужно ли мне перекодировать в UTF?

и... а не сильно ли это все похоже на trackback?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #2 : 28-07-2010 20:32 » 

Слав, кодировка чего и где?

Я так понял, сайт сам должен сообщить ПС новый урл?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 29-07-2010 06:00 » 

$Namesite = 'Твой сайт'
как я понял из weblogs'a по сути это title страницы
Но сервис Я не спрашивает титл, а только адрес.

Погляжу... что получится
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #4 : 29-07-2010 06:14 » 

Интересен факт, что метод Гугля не описан в спецификации.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 29-07-2010 06:41 » 

Цитата
weblogsUpdates.ping (weblogname, weblogurl, changesurl=weblogurl, xmlurl=weblogfeedurl, categoryname="none") returns struct;
Код:
POST /RPC2 HTTP/1.1
Host: ping.blogs.yandex.ru
Content-Type: text/xml
Content-length: 318

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>weblogUpdates.ping</methodName>
    <params>
        <param>
            <value>Лучший подарок — это книга</value>
        </param>
        <param>
            <value>http://clubs.ya.ru/company/rss/posts.xml</value>
        </param>
    </params>
</methodCall>
Код:
function ping ($url, $blogname, $blogurl)
{

$tb_send='<?xml version="1.0"?>
<methodCall>
    <methodName>weblogUpdates.ping</methodName>
    <params>
        <param>
            <value>'.$blogname.'</value>
        </param>
        <param>
            <value>'.$blogurl.'</value>
        </param>
    </params>
</methodCall>';

    $target=parse_url($url);

    $tb_sock = fsockopen($target["host"],  80);
    fputs($tb_sock, "POST " . $target["path"] . $target["query"] . " HTTP/1.1\r\n");
    fputs($tb_sock, "User-Agent: NoAgent\r\n");
    fputs($tb_sock, "Host: " . $target["host"] . "\r\n");
    fputs($tb_sock, "Content-Type: text/xml\r\n");
    fputs($tb_sock, "Content-length: " . strlen($tb_send) . "\r\n");
    fputs($tb_sock, "Connection: close\r\n\r\n");
    fputs($tb_sock, $tb_send);
    while (!feof($tb_sock)) {
        $response .= fgets($tb_sock, 128);
    }
    fclose($tb_sock);
//еще не хватало парсить XML :)
    strpos($response, '<error>0</error>') ? $return = true : $return = false;
    return $return;

}

ping ("http://ping.blogs.yandex.ru/RPC2", $title, $newURL);

Возможно, нужно подобрать время выполнения скрипта
set_time_limit(0);
« Последнее редактирование: 29-07-2010 06:43 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 29-07-2010 06:50 » 

set_time_limit, как правило, ограничивают. Но думаю, что RPC-сервисы просто обязаны быть быстрыми.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #7 : 29-07-2010 07:06 » 

Так как это чистый велосипед
Цитата
#По каким блогам ведется поиск?

Поиск по блогам должен охватывать все блоги, где есть канал сайта (RSS или Atom). Сюда относятся блоги не только из системы Blogger, но и изо всех прочих систем.


#Как включить блог в результаты поиска?

Если ваш блог публикует канал сайта в каком-нибудь формате и автоматически связывается со службой обновления (например, Google Blog Search Pinging Service), то мы, скорее всего, найдем его и внесем в списки. Кроме того, скоро мы предоставим форму для внесения блогов в индекс вручную, если они не были найдены автоматически. Следите за новостями, мы будем держать вас в курсе дела.
Я иногда тихо ненавижу Google с такими вопросами/ответами.


под Google

Цитата
weblogsUpdates.ping (weblogname, weblogurl, changesurl=weblogurl, xmlurl=weblogfeedurl, categoryname="none") returns struct;
Код:
POST /RPC2 HTTP/1.0
User-Agent: request
Host: blogsearch.google.com
Content-Type: text/xml
Content-length: 447

<?xml version="1.0"?>
<methodCall>
  <methodName>weblogUpdates.extendedPing</methodName>
  <params>
    <param>
      <value>Official Google Blog</value>
    </param>
    <param>
      <value>http://googleblog.blogspot.com/</value>
    </param>
    <param>
      <value>http://googleblog.blogspot.com/</value>
    </param>
    <param>
      <value>http://googleblog.blogspot.com/atom.xml</value>
    </param>
  </params>
</methodCall>

Код:
function ping ($url, $blogname, $blogurl)
{

$tb_send='<?xml version="1.0"?>
<methodCall>
    <methodName>weblogUpdates.extendedPing</methodName>
    <params>
        <param>
            <value>'.$blogname.'</value>
        </param>
        <param>
            <value>'.$blogurl.'</value>
        </param>
    </params>
</methodCall>';

    $target=parse_url($url);

    $tb_sock = fsockopen($target["host"],  80);
    fputs($tb_sock, "POST " . $target["path"] . $target["query"] . " HTTP/1.1\r\n");
    fputs($tb_sock, "User-Agent: NoAgent\r\n");
    fputs($tb_sock, "Host: " . $target["host"] . "\r\n");
    fputs($tb_sock, "Content-Type: text/xml\r\n");
    fputs($tb_sock, "Content-length: " . strlen($tb_send) . "\r\n");
    fputs($tb_sock, "Connection: close\r\n\r\n");
    fputs($tb_sock, $tb_send);
    while (!feof($tb_sock)) {
        $response .= fgets($tb_sock, 128);
    }
    fclose($tb_sock);
    strpos($response, '<error>0</error>') ? $return = true : $return = false;
    return $return;

}

ping ("http://blogsearch.google.com", $TITLE, $URLPATH);

Если действовать по FAQ гугля, то надо еще указывать и адрес фида, ибо без него новый блог не найдется.
Зато, сказано, что не только можно блоги пинговать, а все что есть с фидом.
« Последнее редактирование: 29-07-2010 07:09 от Sla » Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 29-07-2010 09:41 » 

А чем блог от другой формы сайта отличается? Те же страницы...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 29-07-2010 09:44 » 

с одной стороны ничем.
но почему-то и у гугля, и у яндекса  есть сервис поиска по блогам.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 29-07-2010 09:45 » 

Варианты:

1. Модные словечки == ничего не значит или просто на сайте есть RSS.
2. Большие общественные сайты типа ЖЖ.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #11 : 29-07-2010 09:46 » 

pingback отличается от trackback тем, что задача стоит только пнуть Сервис, а трэкбэк, еще и получает контент.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 29-07-2010 09:50 » 

Скажем так.
Новостная лента по сути есть блог. При добавлении новости есть необходимость пнуть поисковик на действия, хотя бы чтоб зашел и посмотрел.

Модное слово? Впрочем да. Нездоровая тенденция - клепают сайты визитки на блоговых движках, и даже не удосуживаются изменить шаблоны.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #13 : 29-07-2010 10:34 » 

Посмотрел в панели вебмастера на Гугле. Там появилась возможность использовать RSS-каналы, присутствующие на сайте, как дополнительный sitemap.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #14 : 29-07-2010 10:58 » 

RXL, в каком месте

* b1.jpg (80.13 Кб - загружено 2145 раз.)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 29-07-2010 12:08 » 

Сперва зайти в "Статистика о подписчиках". Там надо подтвердить по каждому каналу, после оно появится в sitemap.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #16 : 03-08-2010 04:39 » 

Sla, а смысл этих танцев с бубном только в ускорении индексации?

Интересно пинг блогов будет попадать в выдачу больного поиска?
А как же вот это http://help.yandex.ru/webmaster/?id=995325 ?
Записан

Странно всё это....
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #17 : 03-08-2010 06:27 » 

sitemap поможет поисковику индексировать все страницы - это только информация для поисковика, только тогда когда он ее прочитает.
Пинг говорит, что появилась новая страница.
Насчет 404-й страницы - не знаю... Особенно если вдруг страница перенесена по какой-либо причине. Яндекс плохо понимает 301 редирект. Впрочем, и гугля тоже, хотя и говорит обратное.
Запрет индексации - - это в robots.txt.
Цитата
запретите в robots.txt индексирование страниц, неинтересных пользователям. Например, формы ответа на форуме, статистику посещений, страницы с результатами поиска, сайты-зеркала, документы на нераспространенных в рунете языках;
если некоторые страницы и можно запретить в robots, то остальное непонятно...
Запретить страницу с результатом поиска.... А какого хрена поисковик заполняет форму поиска и жмакает submit?
Или как тогда поисковик узнает о странице результата поискового запроса?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #18 : 03-08-2010 06:55 » 

AAAA....
на календаре 03/08/2010


Яндекс в отпуске или на жаре перегрелся

* aaa.png (20.98 Кб - загружено 2213 раз.)
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #19 : 03-08-2010 13:31 » 

Sla, а в чём проблема? можешь дать ссылку на ресурс откуда сделан снимок?
Записан

Странно всё это....
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 03-08-2010 13:48 » 

Кстати, сейчас поиском нашел в Яндексе тему (позиция 9!), которую запостил несколько часов назад. Без всяких пингов быстро находят - лишь бы ресурс был активным.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.

Хз, я не очень просто не очень во всё это верю, во всякие там сатурны и прочую поебень.
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #21 : 03-08-2010 14:01 » 

Антон (LogRus), не могу - это из яндекс вебмастера
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #22 : 04-08-2010 07:37 » 

что касается времи индексации Яндексом: http://www.osp.ru/news/2010/0709/13002970/
Записан

Странно всё это....
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 11-08-2010 18:36 » new

а вот и сервис пинга от google
http://blogsearch.google.com/ping
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines