Я.RSS

Что это?

Плагины к популярным PHP-форумам, выдающие приятный для Поиска по блогам RSS.

С помощью этого RSS-а Яндекс сможет скачать и проиндексировать форум целиком и быстро. После чего искать по форуму с помощью Яндекса и наслаждаться трафиком. ;)

В данный момент поддерживаются следующие форумы:

Если вы хотите, чтобы ваш форум тоже поддерживался - пишите на spectator@yandex-team.ru.

Программа поставляется бесплатно по принципу as-is и по лицензии BSD. Любые правки, добавления и исправления приветствуются и принимаются.

Свежую версию плагинов всегда можно скачать по адресу http://nano.yandex.ru/project/yarss/.

Установка

Скопируйте из нужной директории файл yarss.php в корень своего форума. Откройте его в браузере.

Если всё прошло хорошо, все заработает сразу, и по адресу http://ваш-форум.ru/yarss.php вы получите список RSS-фидов, которые можно (и нужно) добавлять в поиск по блогам.

(Яндекс не найдет сам эти потоки до тех пор, пока вы их не добавите!)

Настройка

Разрешить индексировать форум или часть его можно следующими способами:

PHPBB

Поставить в настройках форума галочку "Enable search indexing" у тех форумов, которые вы хотите индексировать. Прописать нужным форумам права "bot access" у группы "bots".

IP.Board

Присвоить нужным форумам права на чтение тем для группы "гости".

vBulletin

Поставить в настройках форума галочку "Index New Posts in Search Engine" у тех форумов, которые вы хотите индексировать.

Simple Machines Forum

В RSS выдаются только те форумы, в которых разрешено индексирование ("Характеристики и настройки" -> "Поисковые системы" -> "Настройки", "Назначить группу для пауков").

Все форумы

Открыть файл yarss.php, найти строчку $botaccess=true; и заменить ее на $botaccess=false;. В этом случае все форумы будут выдаваться на индексацию.

Знаки вопросов в выдаче.

Если ваши MySQL-таблицы в кодировке cp-1251, найдите в файле строку // S_ql ("SET NAMES cp1251"); S_ql ("SET CHARACTER SET cp1251"); и уберите // в начале.

Если в кодировке utf-8, то уберите // перед строкой // S_ql ("SET NAMES utf-8"); S_ql ("SET CHARACTER SET utf-8");


Особенности этого RSS

Информация для продвинутых.

1.

Yarss выдает два разных потока: "посты" и "комментарии".

"Посты" - это первый пост в треде, с которого тред начинается, - и так для каждого треда.
"Комментарии" - это все последующие посты в этом треде, которые являются как бы комментарием к первому посту.

2.

Каждый поток имеет "листалку", вида <ya:more>ссылка на следующую страницу<ya:more>.

Эта ссылка ведет на предыдущую страницу с RSS (скажем, yarss.php?posts=3475 возвращает все посты начиная с 3475 и на 20 ниже, после чего стоит в yamore ссылка на yarss.php?posts=3455). Страницы должны иметь постоянный адрес.

Таким образом поиск по блогам сможет скачать весь форум по RSS, "пролистав" его.

3.

Поток с постами имеет ссылку на поток с комментариями в виде <wfw:commentRss>ссылка на rss-фид со всеми комментариями</wfw:commentRss>

Важно! Эта ссылка находится на уровне <chanel>-а, а не <item>-а.

Обычно она находится на уровне <item> и обозначает ссылку на rss-комментарии конкретно к этому посту, но мы ее используем на уровне канала как ссылку на поток с комментариями вообще.

Формат, вида "каждый пост имеет свой RSS-поток с комментариями" мы не используем потому, что тяжело отслеживать обновление кучи RSS (один пост - одна RSS).

4.

Поток с комментариями имеет в каждом комментарии (<item>'е) параметр <ya:post>ссылка на пост, к которому оставлен комментарий</ya:post>.

Ссылка должна быть такой же, как и в потоке с постами. С помощью его мы привязываем комментарии к постам, то есть <ya:post> в комментариях должно совпадать с <link> в постах, к которым комментарии оставлены.

Если форум древовидный, то в item'е должен быть параметр <ya:parent>ссылка на комментарий, к которому оставлен комментарий</ya:parent>.

5.

Если пост или комментарий удален, и мы знаем об этом (т.е. в таблице стоит статус "удален", а не просто запись вычищена, - зависит от движка форума), то мы выдаем эту запись в rss с пустыми полями title и description.