Как создать свой RSS-канал (ленту новостей)

14.07.2019

О том, что такое RSS, у многих владельцев сайтов, у которых нет RSS (а таких не так уж и мало, как могут думать некоторые), может возникнуть желание заполучить его себе:-) В этой статье я хочу перечислить способы организации RSS-канала для своего сайта. Начиная с самых простых способов и заканчивая сложными.

Изначально нужно быть уверенным, что вы знаете о том, что RSS-документ – это, по сути своей, обычный файл, в котором специальным образом в виде текста описаны те или иные новости (или статьи). В итоге понятие «у меня (у моего сайта) есть RSS-канал» будет выражаться на практике в виде интернет адреса к этому самому документу (у меня на блоге это, к примеру, адрес: http://feeds.feedburner.com/devezoterik ). Ваши же читатели, имея этот адрес, в дальнейшем смогут следить за изменениями в этом файле с помощью .

Использование сторонних сервисов (блогов)

Способ, пожалуй, один из самых простых (не требует специальных знаний в области программирования, денежных затрат и т.д.), но при этом, как не парадоксально, он не плох. Можно использовать бесплатные сервисы, предоставляющие возможность вести свои блоги. Блоги или по-русски говоря «дневники», это чаще всего что-то вроде специфических домашних страниц ( можно более подробно об этом прочесть) :). Во-первых, на всех таких серверах вам выдают ссылку на RSS-документ (RSS-канал) вашего блога. Во-вторых, блоги имеют именно новостную структуру, т.к. все ваши записи в блоге идут последовательно, и каждая из них привязана к какой-либо дате, а это как раз то, что нам нужно.

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

Подобных сервисов для ведения своих блогов предостаточное количество в интернете. Одни из самых популярных и надежных это: www.blogger.com , my.ya.ru и livejournal.com (но вообще их просто несметное количество, отличающихся обычно немногим). На каждом из указанных мной сервисов есть русская версия с подробной помощью, описывающей, как «завести» свой блог.

Использование сервисов генерации RSS из обычных страниц

Этот способ так же не требует навыков программирования и подходит в первую очередь людям, которые имеют свой сайт и имеют на нем некую страницу новостей, которые они могут обновлять тем или иным способом, но, тем не менее, не имеют на этом сайте RSS-канала.

Конечно, можно воспользоваться первым способом: создать где-нибудь блог и дублировать в него новости со своего сайта (обычно это те новости, которые выводят на первой странице сайта). Но тогда ведь постоянно придется дублировать новости с сайта на блог… Предлагаемый же способ дает альтернативу для более прогрессивных/ленивых (иногда грань между этими понятиями бывает мала:)) владельцев сайта.

Смысл заключается в том, чтобы использовать сервисы, которые будут сами следить за вашей страницей новостей и создавать каждый раз (при обновлении вами страницы) актуальный RSS-документ. О подробностях этого процесса я . Писал в первую очередь для тех, кто хочет следить за чужими сайтами, но никто нам не мешает посмотреть с другой точки зрения и следить за своим 🙂 В итоге мы будет иметь ссылку на автоматически обновляемый RSS-документ, отражающий все новости на вашем сайте (правда, с задержкой около одного часа). Вам лишь нужно будет добавлять новости на свою страницу, не изменяя внутреннего форматирования html документа, чтобы сервисы «слежения» не потерялись на странице в поисках искомых новостей (чтоб узнать более подробную информацию, читайте статью по выше приведенной ссылке).

Создание RSS-документа вручную

Если по каким-либо причинам вы не хотите, чтоб RSS-документ обитал вне вашего сайта, и при этом вы не программист, остается еще один способ: создавать и обновлять этот документ у себя на сайте вручную (здесь уже понадобится опыт работы с html). В случае использования хостинга без поддержки скриптов и при не слишком частом появлении новостей (иначе вся эта затея будет очень утомительной), это вполне востребованный вариант.

Для создания и редактирования такого файла лучше всего использовать редактор или любой другой редактор, поддерживающий работу с кодировкой UTF-8 (без BOM). Документ должен быть в кодировке UTF-8 (без BOM). Вот пример того, как может выглядеть RSS-документ внутри (пример снабжен комментариями):

Мой сайт http://www.moi_sait.ru Здесь вы сможете прочесть все последние новости сайта ru-ru http://www.moi_sait.ru/logo.jpg Логотип моего сайта http://www.moi_sait.ru Sun, 07 Jun 2009 04:00:11 +0300 На сайте реализована поддержка RSS Ура, наконец-то теперь есть поддержка RSS!
Долой e-mail рассылку!
Fri, 05 Jun 2009 10:39:18 +0300 Станислав http://www. moi_sait.ru/news/1.htm

Сохранять такой файл в большинстве случаев лучше под именем «rss.xml». Имя rss уже как традиция, но можно использовать и любое другое имя, а расширение xml просто желательно (в этой статье я не способен оговорить и объяснить всех деталей, так как тогда она была бы явно слишком большой:)).

Автоматическая генерация RSS-документа на своем сервере

Этот способ подходит уже только для более искушенных веб-программированием людей. Если информация на сайте хранится в базе данных, а сами страницы являются серверными скриптами (а ля PHP), тогда становится возможным использовать самый автономный и не обременяющий в дальнейшем способ – создавать в автоматическом режиме RSS-документ при запросе оного пользователями. Описывать, как создать подобный скрипт, не имеет смысла, так как уже есть достаточно статей на эту тему с готовыми примерами и разъяснениям к ним. Вот одни из них (для языка PHP): ссылка 1 , ссылка 2 , ссылка 3 , ссылка 4 , ссылка 5 .

Скромный посредник — Feedburner

И вот у вас, наконец, есть желанный адрес своей RSS-ленты. Казалось бы, чего еще можно желать? Конечно же, подробной статистики. Именно для этого и был создан сервис feedburner . Он позволит вам получать максимально возможную статистику, такую, например, как: количество подписчиков, распределение подписчиков по странам, степень интереса подписчиков к тем или иным новостям, возможность получать ваши RSS-новости по e-mail и т.д.

Основной принцип работы feedburner`а заключается в том, что он является посредником между вашим RSS-документом и читателями. Вы указываете feedburner`у адрес своей RSS-ленты, после чего feedburner сможет отдавать эту ленту уже из другого адреса (адрес будет таким: http://feeds.feedburner.com/ + имя вашей RSS-ленты ). И если пользователи будут подписываться именно на адрес от feedburner`а, вы сможете в полной мере использовать все функции данного сервиса. При этом нужно помнить, что если кто-то подпишется на настоящий адрес вашего канала, вы не сможете получить прелести использования feedburner`а.

Эта схема поможет придать больше наглядности вышеописанному:

О настройках feedburner можно прочесть . А так же , и .

На самом деле, помимо всего прочего, этот сервис несет в себе еще один плюс. Так как все подписчики будут подписываться на RSS-ленту, находящуюся на feedburner, то вы можете, когда захотите, поменять адрес оригинального источника RSS-ленты (например, пробуя со временем разные способы создания RSS, описанные в этой статье, или, может, вы смените адрес сайта), не потеряв при этом всех своих подписчиков (они всегда будут видеть адрес ленты на feedburner, не подозревая о изменении ваших настроек). Если же люди подписывались бы на оригинальный адрес RSS-документа (без посредника в виде feedburner), то при его смене (вами) они перестанут получать новости, так как документа по старому адресу не будет существовать.

Вы наверняка знаете, что RSS лента WordPress (канал) отличается от сайта, и на один сайт можно создать сколь угодно различных RSS каналов. Не знаете? Читаем дальше.

RSS лента WordPress

RSS лента (канал, фид) это динамический файл формата XML, привязанный к домену сайта, формирующийся по определенным правилам. При публикации нового материала RSS лента этого типа материала дополняется и обновляется.

Если мы откроем файл RSS ленты сайта в браузере, то не увидим визуально понятной информации. Выглядит он так:

Чтобы сделать RSS канал читабельным, существуют, так называемые, RSS агрегаторы.

Важно! RSS агрегатор создаст из нечитабельного фида, отдельную rss ленту главной страницы сайта. Часто такие ленты называют «Новостная лента формата RSS».

Так как агрегаторов много, то можно создать сколь угодно RSS лент главной страницы сайта. У каждой ленты будет свой адрес в сети. Кроме этого, можно создать RSS канал не только для главной страницы сайта, но для различных разделов и новых комментариев.

Например , у вас интернет магазин на WordPress и все появление новых товаров вы отражаете в отдельном разделе «Новинки». Используя адрес фида этого раздела, вы можете создать новостную rss ленту раздела «Новинки». Эта лента будет нужна для создания новостной рассылки магазина.

Еще пример. У вас информационный блог WordPress и все новые статьи вы публикуете на главной странице. В этом случае достаточно создать rss ленту главной страницы блога, который будет пополняться материалом при выходе новой статьи или публикации новости на главной странице блога.

Адреса rss лент WordPress

CMS WordPress по умолчанию создает несколько RSS каналов сайта. Из них важны два главных (указаны относительные URL).

RSS лента WordPress в формате RSS2

  • Фид последних записей /feed/
  • Фид свежих комментариев /comments/feed/
  • Фид последних записей /feed/rss/
  • Фид свежих комментариев /comments/feed/rss/
  • Фид последних записей /feed/rss2/
  • Фид свежих комментариев /comments/feed/rss2/

В формате Atom

  • Фид последних записей /atom/
  • Фид свежих комментариев /comments/atom/

В формате RDF

  • Фид последних записей /rdf/
  • Фид свежих комментариев /comments/rdf/

В ядре системы есть файлы, которые выводят каждый из перечисленных фидов. Все лежат в каталоге wp-includes .

Для записей:

  • feed-atom.php (лента в формате atom)
  • feed-rdf.php (лента в формате rdf)
  • feed-rss.php (лента в формате rss) устарел
  • feed-rss.php (формат ленты rss2)
  • feed.php (функции фид-лент )

Примечание: Файл feed.php это RSS-контейнер для функции bloginfo. С помощью функции get_bloginfo () Вы можете получить преобразованную информацию лишенную тегов и символов для использования в фидах сайта.

Комментарии

  • feed-atom-comments.php (лента комментариев в формате atom)
  • feed-rss2-comments.php (лента комментариев в формате rss2)

Значок фида на сайте

В последних версиях WordPress, этот виджет убран из коробочной версии. Теперь этот виждет можно найти на системном плагине «JetPack» под названием «ссылки RSS JetPack».

Настроить, что показывать в фиде сайта WordPress, можно и нужно в консоли на вкладке «Написание», пункты:

  • В RSS-лентах отображать последние…
  • Показывать в ленте…, анонс или полное содержание.

Вывод 1

  • Главных RSS каналов (они же фид-ленты или фиды) сайта два: главной страницы и последних комментариев;
  • RSS лента WordPress имеет четыре формата: rss (устарел), atom, rss2, rdf;
  • С помощью rss-агрегаторов можно создать сколько угодно новостных rss-лент сайта.

Практика применения знаний о фидах WordPress

Для практического использования фид-лент сайта вам понадобится URL главного фида (/feed/) или URL новостного раздела, о котором я говорил в начале статьи (/category/name-category/feed/). feed можно поменять на нужный формат. Префикс category в URL используется в настройках по умолчанию.

Проверка фида

Для проверки фида сайта, нужно полный URL фида вписать в адресную строку браузера и проверить, как RSS лента WordPress отражается в браузере.

При желании или необходимости, можно проверить валидность фид-ленты на сервисе: http://validator.w3.org/feed/

Использование RSS ленты

Имея адрес фид-ленты сайта вы можете:

  • Показать новости сайта на другом WordPress сайта используя виджет «RSS», записи из любой ленты RSS или Atom;
  • Создать новостную рассылку на сервисе FeedBurner. Красивая рассылка со своей формой подписки;
  • Показать новости сайта в новостных каталогах, например, LiveRSS: http://liverss.ru/ ;
  • Создать новостную рассылку своим подписчикам на любом стороннем почтовом сервисе, типа MailChimp. Многофункциональная рассылка, интерфейс на английском языке, со своей настраиваемой формой подписки. Отлично интегрируется с WordPress.

Альтернативой FeedBurner и MailChimp может стать любой другой почтовый сервис: SmartResponder (умер 01-11-2016), UniSender (русс.), Aweber, а также Constant Contact, Campaign Monitor, GetResponse, ActiveCampaign, MyEmma, Mad Mimi, Infusionsoft, Feedblitz, HubSpot, MyNewsletterBuilder, Inbox First, Sailthru, Klaviyo, Vero, Pardot, Zapier, Ontraport, ExactTarget, Vertical Response, Drip, MailerLite, WhatCounts, ConvertKit, MailJet, Maropost.

Даёт возможность оперативно транслировать новости и обновления читателям. Формат этот несколько устаревший, но аудитория пользователей всё ещё большая. Возможность организации RSS-лент заложена во многие популярные движки, такие как WordPress, Joomla, Drupal и многие другие. Где-то эта возможность является штатной, а где-то реализуется с помощью плагинов. Рассматривать процесс установки плагинов не имеет особого смысла, поэтому мы попробуем разобраться, как организовать RSS-ленту своими силами, не используя плагины.

RSS-лента для статического сайта на html

Для начала мы рассмотрим ручной способ, позволяющий реализовать трансляцию новостей на любом сайте, даже на статичном, построенном на голых html-страницах. Данный функционал будем создавать с помощью простого кода, который размещается в файле rss.xml в корне сайта:

- в этой строке указывается кодировка <span>Новости с сайта Site.ru </span> - указываем название новостной ленты http://site.ru/rss.xml - указываем адрес ленты Новостная лента с сайта Site.ru - вводим описание нашей ленты Fri, 03 Jul 2015 17:51:00 +0300 - дата последнего обновления ленты - указываем заголовок новости http://site.ru/news1.html - указываем адрес страницы с полной новостью - вписываем краткое содержание новости

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

Представленный код обновляется в ручном режиме. То есть, для внесения изменений необходимо открыть файл rss.xml и вписать в него новые данные. Нужно несколько новостей? Тогда редактируемый файл с лентой должен содержать в себе несколько конструкций следующего вида:

<span>На нашем сайте открылся новый раздел </span> http://site.ru/news1.html На нашем сайте открылся новый раздел, приглашаем всех желающих к ознакомлению с новой информацией

Каждая такая конструкция – это отдельная новость, которая располагается между тегами item. По мере добавления новостей, старые записи можно удалять. Количество записей может быть любым, но прописывать больше 10 последних новостей не стоит – вряд ли кому-то понадобятся устаревшие записи.

Автоматизируем создание RSS-ленты

Предположим, что наш сайт создан на самописной CMS, либо на CMS, у которой RSS-лента отсутствует. В этом случае необходимо разобраться в структуре базы MySql, используемой для хранения данных, и выяснить, как производится хранение данных о заголовках страниц, их адресах и содержимом страниц с новостями. Разобравшись со структурой базы, необходимо несколько модернизировать файл с RSS-лентой. Для начала, дадим ему другое расширение, чтобы в нём мог исполняться php-код, необходимый для работы с базой MySql. В противном случае наша RSS-лента не заработает. Необходимо переработать и внутреннее содержимое файла:

  • Реализуем подключение к базе данных;
  • Делаем выборку нужных данных, установив ограничение на 10 последних записей;
  • Выводим в цикле содержимое полученных переменных;

С первым пунктом всё понятно – нам нужно выполнить подключение к базе данных для забора оттуда информации. Второй пункт тоже понятен – нам нужно получить 10 дат, 10 id ссылок на страницы с новостями, 10 заголовков новостей и 10 тел новостей. В третьем тексте мы последовательно выводим всё то, что мы публиковали между тегами item в ручном формате нашей RSS-ленты. Таким образом, разобравшись в структуре базы данных, мы можем организовать RSS-ленту для любого ресурса. Такой подход хорош тем, что мы не касаемся исходного кода CMS и не создаём дополнительных нагрузок на хостинг – этим грешат некоторые плагины, нагружающие сайты километрами ненужного кода. Кроме того, наша методика позволит избавиться от возможных ошибок в функциональности действующего сайта на этапе внедрения RSS-ленты. Максимум, что может произойти, так это получение не тех данных, что нужны для формирования ленты на нашем сайте.

Теперь рассмотрим сам код:

Новости с сайта Site.ru http://site.ru/rss.php Новостная лента с сайта Site.ru"; $result=MYSQL_QUERY("SELECT id, title, text, date, FROM article ORDER BY date DESC LIMIT 10"); while ($row=MYSQL_FETCH_ARRAY($result)) { $id=$row["id"]; $title=$row["title"]; $text=$row["text"]; $date=$row["date"]; echo " $title ссылка на статью с указанием id $text $date "; } echo " "; ?>

Первые строки данного кода схожи с вышеописанным ручным кодом и содержат в себе общую информацию о нашей новостной ленте – это название, описание и полный адрес ленты. Даты последнего обновления ленты нет, но её можно реализовать, модернизировав исходный код. Далее производится выборка необходимых данных из MySql-базы и запускается цикл формирования RSS-ленты.

С датой новости, её текстом и заголовком всё понятно – они выводятся из переменных $title , $text и $date . Что касается ссылки на полную новость, то здесь берётся её id, после чего мы можем сформировать полную ссылку, опираясь на структуру формирования ссылок на нашем сайте. Например, ссылки могут иметь вид http://site.ru/news.php?id=48 . Здесь мы описываем лишь общий принцип формирования ссылок, поэтому при практической реализации в вышеуказанный код необходимо внести соответствующие изменения.

Как только формирование файла rss.php будет готово, мы можем заливать его на хостинг и приступать к тестированию.

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

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

Краткое введение в технологию RSS и ее преимущества

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

К слову, данный способ вывода информации может пригодиться разработчикам мобильных приложений, чтобы отображать новости Joomla в мобильном приложении (хоть на Android, хоть на iOS, хоть на кроссплатформенных проектах).
Для пользователей, наибольшим преимуществом RSS является то, что они не должны идти на каждый сайт, чтобы увидеть, есть ли что-то новенькое на том или ином сайте, потому что новый контент сам централизованно придет к ним. С помощью RSS-канала, пользователи могут легко просмотреть все заголовки, а затем прочитать фрагмент каждой статьи и выбрать то, что им больше интересно.
Для владельцев бизнеса, RSS-ленты - отличная возможность. Путем создания RSS на своем сайте, они могут дать пользователям возможность подписаться на их контент, что в свою очередь означает, что вы можете превратить просто посетителя в постоянного читателя. Также, вы можете позволить продвигать ваш контент на других сайтах, или вы можете просто создать блог из RSS-ленты.

Итак, Вы сможете, выйти на новых клиентов и создать качественные обратные ссылки на ваш сайт.

Давайте приступим к созданию RSS-лента в новенькой Joomla 3.

Как создать RSS-ленту в Joomla 3

Шаг 1. Войдите в админ-панель вашего сайта

Шаг 2. Теперь в панели администратора перейдите в Компоненты - Ленты новостей

Шаг 3. Нажмите кнопку “Создать” в левом верхнем углу

Шаг 4. Откроется окно, в котором вам нужно заполнить Заголовок и вставить ссылку на саму ленту (о том, где взять ссылку чуть ниже)

Шаг 5. Сохраните изменения

Теперь возникает вопрос, где же взять ссылку на ленту?

Существует 2 варианта.

Вариант 1. Если вы хотите транслировать на своем сайте ленту с другого сайта, например, новости, то вам нужна рабочая ссылка на RSS-ленту этого сайта.

Существует огромное количество сайтов, которые дают возможность пользоваться их новостями. Например, можно использовать RSS-ленту РИА Новости. http://ria.ru/docs/about/rss.html

И это далеко не единственный сайт, который предлагает такие возможности. Вы без труда сможете найти их в интернете:)

Вариант 2. Но что, если вы хотите разместить свою ленту новостей Joomla на другом сайте или на своем собственном сайте?

Чтобы сделать это возможным - воспользуемся стандартным способом создания RSS из категории новостей Joomla.

Шаг 1. Откройте панель администратора - Материалы - Менеджер категорий.

Шаг 3. Запомните или скопируйте ID этой категории.

http://вашсайт.ru/index.php?option=com_content&view=category&id=НОМЕРАЙДИКАТЕГОРИИ&format=feed&type=rss

Например: simplesite.ru/index.php?option=com_content&view=category&id=5&format=feed&type=rss

А теперь создадим страницу пункта меню для вывода новости
Шаг 1. Откройте менеджер меню

Шаг 2. Создайте новый пункт меню с типом “Лента новостей”

Шаг 3. Назовите пункт меню

Шаг 4. Выберите созданную вами ленту

Шаг 5. Сохраните изменения

А теперь можно полюбоваться результатом.


Расширения для создания RSS в Joomla

Если же вы хотите немного упростить создание новостной ленты, то я порекомендую вам 2 расширения для Joomla:
1. obRSS
obRSS позволяет создавать неограниченное количество лент (или даже HTML страницу ленты) для вашего сайта на Joomla, который может выглядеть, как CNET, CNN, или BBC. Вы можете создавать, управлять и отображать все RSS-каналы в одном месте. Это расширение также можно использовать для вывода данных в json для использования в приложениях для iOS, Android.

2. RizVN FeedBurner (бесплатный модуль)
RizVN FeedBurner - очень простой модуль, который выводит RSS в максимально красивом виде и экономит пространство на вашем сайте Joomla. Вы можете полностью настроить его в бекэнде.
В нем также есть много других функций, которые вам могут понравиться!

Похожие статьи