Блог Обо мне Храню Читаю Ем 99  

15.09.2008, Nº 1858



Расширение RSS: «Яндекс», поиск по блогам

«Яндекс» выпустил специальный RSS-плагин к популярным PHP-форумам для сервиса «Поиск по блогам». Автор — известный PHP-программист Дима Смирнов. На медленно стухающей «Хабре» немедленно появились те, кто «не читал, но обсуждают».

В чём же заключается смысл плагина? Поскольку я в курсе, давайте расскажу.

Сервис поиска по блогам «Яндекса», как вытекает из названия, индексирует блоги и многим кажется, что на этом его отличие от основного поиска заканчивается. Как бы не так! Поисковик «Яндекса» индексирует HTML-страницы, поисковик поиска по блогам индексирует RSS, а в RSS сайты отдают какое-то небольшое количество последних постов.

Проблема, как несложно догадаться, в том, что существую сайты, которые старше сервиса, а так же такие, до которых поисковик добрался недавно. Львиную часть их содержимого индексатор поиска по блогам не видит — из RSS они давным-давно пропали.

Дима с командой поиска по блогам придумали очень простую и эффективную штуку. RSS — формат расширяемый, для него уже масса расширений, это нормальная практика. Если заглянуть в RSS любого диминого сайта, то можно увидеть, что в нём упоминается новое расширение: «ya:more», т.е. новый тег «more» в пространстве имён «ya».

Для того, чтобы его использовать, в тег «rss» нужно дописать строку «xmlns:ya="http://blogs.yandex.ru/"» и вставить тег «ya:more», содержащий URL, указывающий на RSS, содержащий предыдущие N постов:
<rss xmlns:ya="http://blogs.yandex.ru/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" version="2.0">
<ya:more>http://coprophagous.ru/rss/posts/740</ya:more>
Получается много связанных этим тегом документов, в последнем из которых тег «ya:more» отсутствует. Таким образом индексатор поиска по блогам может пройтись по всем постам блога и проиндексировать их. СЕОшники должны оценить.

Заслуга Димы заключается не только в том, что он придумал простое решение проблемы и мотивировал команду поиска реализовать её, но ещё и в том, что он написал готовые плагины, которые добавляют эту функциональность для трёх популярных форумов на языке PHP: PHPBB, vBulletin и IP.Board.

Кроме этого, формат позволяет индексировать и комментарии к записям, в том числе и древовидные. Подробнее об этом можно прочитать в файле readme.html, который находится внутри архива с плагинами.
15.09 23:21
15.09 23:21



15.09.2008, Nº 1858

#1 coprophagous.ru 15.09.2008, 23:46

"Дима придумал очень простую и эффективную штуку". -> "Дима и комманда поиска по блогам придумали очень простую и эффективную штуку".

"Заслуга Димы заключается не только в том, что он придумал простое решение проблемы" -> "Заслуга Димы заключается в том, что он мотивировал комманду ППБ сделать то, что они и так очень давно планировали".

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

#2 sarman.livejournal.com 16.09.2008, 00:34

Это добро.

#3 bolk @bolknote.ru16.09.2008, 00:36 ответил coprophagous.ru

Поправил, спасибо!

#4 bolk @bolknote.ru16.09.2008, 00:38 ответил sarman.livejournal.com

Надо себе будет тоже плагин написать.

#5 skurudo @pavel.galkin.su16.09.2008, 12:02 ответил coprophagous.ru

Дай, пожалуйста, PunBB. И пива бы попить :)

#6 myxolove.blogspot.com 16.09.2008, 12:47

Ну прям "Господу Богу помолимся!".

#7 leotsarev.livejournal.com 16.09.2008, 13:22

Надо только упомянуть о двух недостатках yarss.php
Во-первых, E_STRICT yarss.php не выдерживает, что для коммерческого проекта нонсенс.
Во-вторых, в документации сказано — поддерживает PHPBB, а на самом деле — поддерживает PHPBB на базе данных MySQL, потому что внаглую игнорирует PHPBB встроеннный Database Abstraction Layer и читает все напрямую. По официальным стандартам MOD PHPBB — это безусловный отказ в сертификации. Разобраться в том, как работает этот DBAL, у меня заняло полдня, не больше.
Ну и в-третьих вытекает из второго. Если бы пункт 2 удалось бы решить, можно было бы запаковать этот файл как MOD, что очень упростило бы жизнь в плане обновления и прочего.

#8 bolk @bolknote.ru16.09.2008, 13:32 ответил leotsarev.livejournal.com

Для коммерческого, наверное, нонсенс. Наверное, всё дело в том, что проект не коммерческий и в открытых исходниках. И, если что-то не так, то можно писать не русские буквы в комментариях, а латинские в исходниках? ;)

Поправьте и пришлите Диме, все вам скажут спасибо.

#9 coprophagous.ru 16.09.2008, 17:01 ответил bolknote.ru

А че такое E_STRICT?

#10 bolk @bolknote.ru16.09.2008, 17:19

http://ru2.php.net/manual/ru/e…levels.e-strict

#11 david-m.livejournal.com 16.09.2008, 18:49

Я-море — это, конечно, круто. Немного круче, правда, было бы использовать atom:link rel="next/previous", которые не то чтобы стандартны, но на практике вполне используются: http://www.google.ru/search?q=…ink+rel%3Dnext.

#12 bolk @bolknote.ru17.09.2008, 10:55 ответил david-m.livejournal.com

Что-то мне подсказывает, что используются они в Atom'e?

#13 bolk @bolknote.ru17.09.2008, 10:57 ответил david-m.livejournal.com

Круто не «я-море». Круто — придумать решение, вдохновить людей на его реализацию и написать три плагина к написанным левой ногой движкам, которые видишь впервые в жизни.

#14 david-m.livejournal.com 17.09.2008, 15:26

(как показывают гугловские примеры,) Используются они где угодно, так же как и ya:more, ибо XML велик.

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<atom:link rel="next" href="my://feed?page=2" />

Просто при этом мы имеем определённую семантику, которую уже понимают как минимум некоторые программы, а не только яндекс-бот. В качестве конструктива — поскольку такие линки всё-таки в природе существуют, имеет смысл поддержать ботом и их тоже.

С «круто» — я согласен, что без реализации никакая идея ничего не стоит, и в этом смысле плагин безусловно положительная штука. И уж точно один новый xml-элемент — это ГОРАЗДО лучше чем тот шедевр самостийности, который нам предлагается для яндекс-картинок (http://images.yandex.ru/xml-import.html).

#15 Az @shitdesign.ru17.09.2008, 15:52

еще бы оно UTF поняло - и был бы рай!

#16 LXj @lxj.endofinternet.net19.09.2008, 15:16 ответил bolknote.ru

Что-то мне подсказывает, что Яндекс и Atom проиндексировать может.


Текст комментария (для гиков: не HTML, а текст!)


Кому бы вы хотели ответить (или кликните на его аватару)


t=0.052