Я.RSS
Что это?
Плагины к популярным PHP-форумам, выдающие приятный для Поиска по блогам RSS.
С помощью этого RSS-а Яндекс сможет скачать и проиндексировать форум целиком и быстро. После чего искать по форуму с помощью Яндекса и наслаждаться трафиком.
В данный момент поддерживаются следующие форумы:
PHPBB 3.x (на MySQL)
vBulletin® Version 3.x (тестировалось на 3.6.x)
IP.Board 2.x (тестировалось на 2.2.2)
SMF (Simple Machines Forum, тестировалось на SMF 2.0 beta 3, UTF-
- спасибо Константину Лихачеву.
Если вы хотите, чтобы ваш форум тоже поддерживался - пишите на
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.