Сегодня мы рассмотрим: Настоящие ценители музыки знают, что для качественного...
Форматов для представления данных. Расшифровка этой аббревиатуры для разных версий выглядела по-разному:
- R ich S ite S ummary (RSS 0.9x) - обогащённая сводка сайта;
- R DF S ite S ummary (RSS 0.9 и 1.0) - сводка сайта с применением инфраструктуры описания ресурсов;
- R eally S imple S yndication (RSS 2.x) - очень простой сбор информации.
Общий смысл всех этих вариантов сводится к тому, что RSS - это способ публикации (трансляции) и распространения информации с сайта. Синдикация веб-контента означает быстрое распространение информации, благодаря одновременному размещению сразу в нескольких источниках.
В основном RSS-ленты используют для аннотаций, анонсирования свежей информации на сайтах: новостей, новых публикаций, обновлений и изменений.
История создания формата RSS
Впервые технологию RSS применила в конце 90-х компания Netscape для раздачи новостей на своем портале Netcenter. Первой открытой официальной версией RSS стала версия 0.90. К 2000 году формат получил широкое распространение и разделился на два разных стандарта - RSS 1.0, основанный на стандартах XML и RDF организации W3C, и RSS 0.92, основанный на версии формата от Netscape 0.91. Последняя версия формата RSS - 2.0 является дальнейшим развитием этой ветки (кстати, автор этой версии Дейв Вайнер и придумал свою расшифровку аббревиатуры - Really Simple Syndication).
В 2006 году вступил в борьбу с RSS вступил конкурирующий формат - Atom, продвигаемый компанией Google.
Терминология
Вы можете встретить в сети различные обозначения для новостного потока в формате RSS: RSS-лента, RSS-фид, RSS-поток, RSS-канал. Все эти термины обозначают одно и то же.
В чем удобство RSS-лент для посетителей сайтов
Существуют специальные программы-агрегаторы, которые позволяют собирать информацию множества RSS-лент из разных источников. Эти программы способны не только автоматически получать данные в формате RSS, но и обрабатывать их: сортировать, фильтровать и приводить к максимально удобному для чтения виду. Такими агрегаторами ("читалками") снабжены все популярные браузеры. Существуют также агрегаторы в Web - это специальные сайты для сбора и отображения RSS-каналов (примеры - Яндекс.Лента , Google Reader).
Используя программы-агрегаторы, пользователи имеют возможность подписываться на новости любимых сайтов и блогов и просматривать их, не обходя сами сайты-источники. Это позволяет колоссально экономить время, особенно если таких излюбленных ресурсов у читателя много. Открыв RSS-агрегатор, вы практически мгновенно узнаете, какие сайты обновились с момента последней вашей сессии работы с ним и имеете возможность бегло просмотреть заголовки с тем, чтобы решить, какие них стоят того, чтобы посетить сайт-источник для чтения полной версии новости, статьи или иного свежего материала.
Просмотр новостей в формате RSS позволяет также экономить трафик, поскольку этот формат гораздо "легче", чем страницы обычных сайтов из-за отсутствия графической оболочки, рекламы и т.п.
Как подписаться на RSS-ленту сайта
Современные браузеры умеют самостоятельно определять наличие RSS-потоков на сайтах, и, обнаружив их при посещении сайта, сразу предлагают пользователю диалог для подписки на RSS-фид. Кроме того, на сайтах, транслирующих RSS-потоки, как правило, имеются специальные иконки - чаще всего оранжевого прямоугольника, с расходящимися волнами внутри. Стандартная RSS-иконка выглядит приблизительно так: или так , но дизайн такой иконки может варьировать как угодно, в зависимости от фантазии и эксцентричности вебмастера. Кликнув на такую иконку, вы подписываетесь на RSS-рассылку сайта.
Зачем RSS-лента нужна сайту
Исходя из вышеизложенного вы, надеюсь, уже поняли, что современному сайту, особенно часто обновляющемуся, не обойтись без своей RSS-ленты (фида). Если вы заинтересованы в повышении посещаемости вашего сайта и удерживании внимания постоянных посетителей (клиентов), пренебрегать таким полезным инструментом не стоит.
Определенную пользу RSS-лента приносит и в плане продвижения сайта, поскольку тиражирование этой ленты на других ресурсах способствуют увеличению количества ссылок на сайт-источник RSS-потока.
Кроме того, есть мнение, что сайты, содержащие RSS-фиды, могут ранжироваться выше засчет того, что имеют в лице RSS-лент а) высокотаргетированный, б) узкотематический, в) часто обновляемый материал. Наличие RSS-потока способствует более частому посещению сайта поисковыми роботами, то есть такой сайт чаще индексируется и новая информация обнаруживается поисковиками раньше. Кроме того, этот фактор увеличивает шансы на попадание в индекс поисковых систем.
RSS-ленты и SEO
SEO-специалисты предупреждают о негативных последствиях, которые может иметь наличие RSS-фида на сайте (блоге).
Во-первых, было замечено, что нередко поисковики раньше индексируют контент RSS-лент на других сайтах, нежели на источнике, транслирующем фид. И считают первоисточниками именно эти сайты, а авторский сайт еще и получает от поисковиков "по шапке" за "дублированный контент". Особенно это касается блогов, в которых в ленту выносится не только заголовок и краткая аннотации, а посты целиком. Таким образом, ваш контент быстро становится "неуникальным" и "бесполезным для людей", с точки зрения поисковиков. Почему так происходит, спросите вы, ведь лента содержит ссылки на источник новостей? А потому, что сайты, которые грабят ваш контент (rss-каталоги, социальные закладки) в большинстве своем "жирнее", чем ваш сайт, то есть трастовость вашего ресурса никак не сравнима с трастовостью раскрученного сервиса.
Как следствие описанного явления, транслированные потоки часто сдвигают первоисточник вниз в .
Во-вторых, не стоит обольщаться, что грабилки вашей ленты в обязательном порядке будет ставить ссылку на источник: многие нагло вырезают такие ссылки или засовывают их в noindex, nofollow или в яваскрипты.
В-третьих, точно так же не стоит рассчитывать, что с сайтов-воров к вам будут по ссылкам приходить посетители: многие из них ограничатся чтением новости там, где они ее обнаружили. А если учесть часто встречающийся пункт номер 2 (отсутствие прямой ссылки на вас), то перспектива повышения посещаемости засчет таких ресурсов становится и вовсе призрачной.
В-четвертых, формат XML весьма удобен для . Создав собственную RSS-ленту, вы достаточно быстро обнаружите, что ее содержимое беззастенчиво "дерут" создатели сателлитов, сплогов и прочей web-нечисти, еще более способствуя тому, чтобы ваш контент был сочтен поисковиками неуникальным и бесполезным.
Вывод, однако, не в том, чтобы отказаться от RSS полностью. RSS-лента нужна вашим постоянным посетителям! А вот спешить добавлять вашу ленту сразу после создания в различные RSS-каталоги совсем не стоит.
Как создать свою RSS-ленту. Элементы RSS-канала
Ряд движков и CMS уже имеет встроенные модули публикации RSS-потока. Если вы пользуетесь таким, вам не нужно ломать голову над этом вопросом. Эта глава для тех, кто хочет писать свою RSS-ленту вручную или интересуется спецификацией формата RSS.
Чтобы завести свою RSS-ленту, для начала необходимо создать документ в стандарте XML 1.0. То есть файл RSS-ленты должен начинаться со строки
Другой ключевой момент - собственно элемент rss с указанием версии:
Внутри тэга rss размещается тэг
http://www.ссылка на сайт
Обязательными элементами канала являются title, link и description. В элементе * Даты в RSS-канале обязательно должны быть в формате RFC 2822 ! Например, Tue, 18 May 2010 07:30:00 +0300. Если вы затрудняетесь с правильным оформлением даты или не хотите делать это вручную, воспользуйтесь нашим онлайн-конвертером даты и времени в формат RFC 2822 . Вы можете внести дополнительную информацию о канале, сайте-источнике или авторе канала. language
managingEditor
webMaster
pubDate
lastBuildDate
cloud
(В этом примере для запроса уведомления нужно отправить сообщение XML-RPC на ccc.com , порт 80, путь /RPC2 . Вызываемая процедура - myCloud.rssPleaseNotify.) ttl
image
Максимальная ширина - 144 (по умолчанию - 88). Элемент author
comments
enclosure
source
Итак, вы изготовили собственную RSS-ленту. Для того, чтобы убедиться, что вы все сделали правильно, советую воспользоваться услугами онлайн-валидаторов, например, Feed Validator или RSS Validator. Чтобы организовать возможность подписки на вашу RSS-ленту, необходимо сделать 2 вещи: 2. Вставить между тегами
Ссылка на полный текст новости или статьи №1
Ссылка на полный текст новости или статьи №2
Необязательные элементы RSS-канала
Язык, на котором написан канал. Позволяет сборщикам, например, объединять на одной странице все сайты на одном языке. Перечень допустимых значений этого элемента лежит .
Пример:
ru-ru
Электронный адрес человека, ответственного за редакторский текст.
Пример:
Адрес электронной почты человека, ответственного за технические аспекты канала.
(rss_tech@gmail.com (Vasily Petrov)
Дата публикации текста в канале Дата и время в RSS соответствуют спецификации RFC 822 , за исключением того, что год может представляться двумя или четырьмя цифрами (последнее предпочтительно).
Пример:
(Sat, 07 Sep 2002 00:00:01 GMT)
Время последнего изменения содержимого канала.
Пример:
(Sat, 07 Sep 2002 09:42:31 GMT)
Указывает веб-сервис, поддерживающий интерфейс rssCloud, реализующий подписку на обновления канала. .
Пример:
Время жизни - количество минут, на которые канал может кешироваться перед обновлением с ресурса.
Пример:
(
Изображение (в формате GIF, JPEG или PNG), которое может отображаться с каналом.
Максимальная высота - 400 (по умолчанию - 31).
Адрес электронной почты автора сообщения. Актуально, например, для RSS-лент онлайн-СМИ, в которых у каждой статьи - свой автор. Формат элемента:
URL страницы для комментариев, относящихся к сообщению. Формат элемента:
Описывает медиа-объект, прикрепленный к сообщению. Имеет 3 обязательных атрибута: url (адрес приложения), length (размер приложения в байтах) и type (тип приложения MIME). Пример:
Название RSS-канала, из которого получено сообщение, полученное из его Проверка RSS-ленты на соответствие стандарту
Организация подписки на RSS-ленту
Этот шаг необходим для того, чтобы сообщить браузерам о наличии RSS-ленты - как вы помните, в уважающих себя браузерах есть свои rss-читалки.
Кстати, обнаруженную браузером на сайте RSS-ленту можно просмотреть, кликнув на специальную иконку в меню. В Mozilla она находится в адресной строке, в IE - в командной строке:
Кстати, как вариант, вы можете дать под RSS-кнопкой ссылку не на саму новостную ленту, а на фид в гуглевском сервисе Feedburner.com . Предварительно, конечно, нужно там зарегистрироваться и добавить свою ленту. Преимущества "зажигания" вашего фида в том, что сервис FeedBurner позволяет владельцам сайтов предоставлять информацию своим подписчикам в наиболее удобном формате, а также дает полную статистическую информацию о посетителях и подписчиках фида, и позволяет зарабатывать на своем фиде (с помощью ).
Есть у этого ресурса RSS лента последних изменений. Но вот беда - лента изменений самая минимальная. Там указано только кем, когда и какая страница редактировалась. Нет полных изменений и нет GUID у элементов ленты, поэтому некоторые RSS клиенты (например, Google Reader) не показывают большую часть новостей, считая их одинаковыми.
Для преобразования ленты в свой, удобный формат, выбор пал на такой специализированный инструмент, как Yahoo Pipes . Но тут постигла неудача. Для получения изменений странички, wiki строго требовала наличия cookie с именем «wikit_e» в http запросе, а научить Yahoo Pipes отсылать куки не получилось. Фокус с HTTP запросом GET и параметром в виде "?COOKIE=" так же не проходил.
В итоге, выбор пал на более гибкий инструмент - Google Apps Script . В итоге получился вот такой скрипт:
// Эта функция будет выполняться автоматически, при вызова скрипта как веб-приложения
function doGet() {
// Задаем URL исходной RSS ленты
var feed = "http://wiki.tcl.tk/rss.xml";
// Определяем ID для доступа к кэшу
var id = Utilities.base64Encode(feed);
// Определяем кэш и пробуем забрать уже собранную ленту из него
var cache = CacheService.getPublicCache();
var rss = cache.get(id);
// Если в кэше лента не сохранена - переходим к ее созданию
if (rss == null) {
// Получаем данные RSS ленты в виде XML
var data = UrlFetchApp.fetch(feed).getContentText();
var doc = Xml.parse(data);
// Выбираем канал
var channel = doc.getElement().getElement("channel");
// Выбираем название канала, ссылку, описание ленты
var title = channel.getElement("title").getText();
var link = channel.getElement("link").getText();
var desc = channel.getElement("description").getText();
var guid, date;
// Начинаем создавать свою RSS ленту, заполняем название, ссылку и описание
rss = "