Плагин пинга для Яндекс.Поиска

Плагин пинга для Яндекс.Поиска 1.2.2

Нет прав для скачивания

yaxray

Проверенные
Сообщения
43
Реакции
53
Баллы
8,120
Пользователь yaxray разместил новый ресурс:

Яндекс.Поиск by DAPF.RU - Плагин пинга для Яндекс.Поиска, как популярных CMS (Drupal, Joomla!, MODx, TYPO3, WordPress)

Наконец то, руки дошли написать плагин Яндекс.Поиска для XenForo
Плагин основан на оригинальном классе от Яндекса, используемом в плагинах для популярных CMS (Drupal, Joomla!, MODx, TYPO3, WordPress).

Скриншоты

Посмотреть вложение 20931 Посмотреть вложение 20932

Плагин работает путем отправки HTTP-запросов вида:
Код:
POST /ping.xml?key=b11f3e1d35a1a01cb009a19dcf8f259b4bcaaf33&login=some_login&search_id=43210123 HTTP/1.1
Content-type: application/x-www-form-urlencoded
Host: site.yandex.ru...

Узнать больше об этом ресурсе...
 
Огромное Вам спасибо!

А есть такое для Google?
 
А есть такое для Google?
Для гугла в ближайшее время напишу, с начало надо немного оптимизировать данный плагин.

P.S. Рекомендую задержку на выполнение поставить с 3 до 1 минуты (думаю в следующих версиях её уберу совсем), если контент на форуме часто обновляется.
 
yaxray, подскажите обновление не готово? очень ждем.
 
Убрать задержку можно просто установив значение в планировщике с 3 минут на 0.
 
P.S. Рекомендую задержку на выполнение поставить с 3 до 1 минуты
Проблема кстати с тем, что выполняется не каждые 3 минуты, а каждый час в 3 минуты. Поэтому надо ставить "Учитывать все" и для минут в любом случае, потому что даже самый скудный на сообщений форум в таком случае будет едва-едва успевать отправить пинги. А за плагин большое спасибо, вещь полезная.

В дополнении есть один большой баг.

Если установлен официальный менеджер ресурсов, то при создании нового ресурса в таблице xf_resource в поле discussion_thread_id не вносится номер привязанной темы, а вносится 0. Из-за этого темы, которые создаются на форуме при создании ресурса никак не связаны с самим ресурсом - у них нет кнопки скачивания, кнопки обсуждения, да и просто вкладок, которые показывали бы, что к этой теме привязан ресурс. Как я понимаю проблема в следующем коде:
PHP:
<?php

class DAPFYandexSearch_DataWriter_Discussion_Thread extends XFCP_DAPFYandexSearch_DataWriter_Discussion_Thread
{
    public function save()
    {
        parent::save();
        $thread = $this->getMergedData();
        $db = XenForo_Application::get('db');

        $data['thread_id'] = $thread['thread_id'];
        $data['date'] = time();

        $db->insert('xf_yandex_search_ping', $data);
    }
}
Поднимал тему-обсуждение на официальном форуме, в тикетах решали проблему - проблема оказалась в этом дополнении.
 
  • Мне нравится
Реакции: Hope
Arisu, нашел такой пример использования на официальном форуме - - такое ведь подойдет? Записывать id последней темы в переменную и уже ее вносить в таблицу.
 
Arisu, нашел такой пример использования на официальном форуме - - такое ведь подойдет? Записывать id последней темы в переменную и уже ее вносить в таблицу.
В принципе, это избыточно. Это если нужно между контроллером и датаврайтером передать какие-то значения, то нужно так делать. Это тот случай, который я обсуждал в , т. е., когда необходимо вставить дополнительную логику в середину экшена, до непосредственно записи новой темы в БД. Это немного не то.
В этой же ситуации, достаточно будет перехватить датаврайтер и выполнить свой код прямо после сохранения темы в БД. Это будет метод _discussionPostSave, потому что он выполняется уже после сохранения темы в бд, когда она имеет свой id. В этой точке прерывание уже не произойдет, и откат записи не возможен.

Ладно, чет я тут растекся диссертацией на тему ксены, просто нужно подправить вот так:

PHP:
<?php
class DAPFYandexSearch_DataWriter_Discussion_Thread extends XFCP_DAPFYandexSearch_DataWriter_Discussion_Thread
{
  public function _discussionPostSave()
  {
  parent::_discussionPostSave(); // вызываем действия по умолчанию
  $thread = $this->get('thread_id');  // можно даже вот так
  $db = XenForo_Application::get('db');

  $data['thread_id'] = $thread;
  $data['date'] = time();

  $db->insert('xf_yandex_search_ping', $data);
  }
}
 
Arisu, благодарю за пояснения по вопросу.
 
В общем я почти допилил новую версию плагина с учетом ваших пожеланий.
В новой версии:
1) Изменились настройки
1233й.png
2) Убрано использование БД для хранения записей.
3) Убрана поддержка планировщика заданий, теперь все запросы отправляются сразу при создании темы/сообщения.

Выложить данный плагин пока не могу, т.к. возникли проблемы с отправкой запросов (уже 2 дня ломаю голову).
При отправке запроса (всё доходит успешно) у меня возникает ошибка:
Код:
HTTP/1.1 400 Bad Request
Date: Sat, 08 Nov 2014 17:09:15 GMT
Content-Type: application/xml
X-Frame-Options: Deny
Set-Cookie: yandexuid=9723851721415466555;domain=.yandex.ru;path=/;expires=Fri, 08 Nov 2024 17:09:15 GMT
Content-Length: 182

USER_NOT_PERMITTEDUser IP address is not equal to one specified in search properties

Никак не могу понять, в чем проблема, IP сервера с кого отправляю запросы указан в списке разрешенных :confused:
Как разберусь с данной проблемой, сразу выложу новую версию плагина.
 
Последнее редактирование:
Используйте класс XenForo_Helper_Http::getClient, а не сокеты.
 
Яндекс?
Кто им пользуется?
Я наверное в этом году один раз его заюзал, и то не поиск, а разве что в почту старую зашёл.
Думаю, что лучше бы реализовали поиск от гугла :)
Сам не умею, но вдруг, кто сможет)
 
Яндекс?
Кто им пользуется?
Я наверное в этом году один раз его заюзал, и то не поиск, а разве что в почту старую зашёл.
Думаю, что лучше бы реализовали поиск от гугла :-)
Сам не умею, но вдруг, кто сможет)
Ты просто не понимаешь :-)
Никто не пользуется их поиском на сайте, кроме единиц.
Данный плагин нужен не для поиска, а для пинга яндекса, чтобы ускорить индексацию страниц.
Об этом читаем тут:
Насчет юзеров которые пользуются Яндексом и его сервисами, то большая часть рунета 51% его использует, гуглом пользуются 39%, статистика тут: и тут:
Так что если ваш сайт ориентирован на рунет, то Яндекс это основная поисковая система, которая и будет давать максимум поискового трафика.
 
Последнее редактирование:
Пользователь yaxray обновил ресурс Яндекс.Поиск by DAPF.RU новой записью:

12222ы.png

Плагин пинга для Яндекс.Поиска 1.2.0

Обновил плагин пинга для Яндекс.Поиска до версии 1.2.0
По сравнению с плагина в 1.2.0 внесены следующие изменения:
1) Изменились настройки
Посмотреть вложение 25486
2) Убрано использование БД для хранения записей.
3) Убрана поддержка планировщика заданий, теперь все запросы отправляются сразу при создании темы/сообщения.
4) Добавлен вывод результата работы плагина.

Установка
1)...

Узнать больше об этом обновлении...

Ошибку исправил, новая версия выше :-)
 
Последнее редактирование:
Неверный обработчик DAPFYandexSearch_Listener::template_hook (Неправильный метод).
 
А можно по точнее, что данный плагин делает?
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу