Создание и настройка RSS ленты. Необязательные элементы RSS-канала
Есть у этого ресурса RSS лента последних изменений. Но вот беда - лента изменений самая минимальная. Там указано только кем, когда и какая страница редактировалась. Нет полных изменений и нет GUID у элементов ленты, поэтому некоторые RSS клиенты (например, Google Reader) не показывают большую часть новостей, считая их одинаковыми. RSS-лента представляет собой замечательный стандартный компонент Joomla 3, но не многие полностью понимают как использовать его на сайте Joomla. А многие о нем вообще не знают В этом посте я познакомлю вас с RSS, расскажу как запустить и настроить RSS на вашем сайте стандартными средствами Joomla 3, а еще порекомендую пару лучших на рынке расширений для RSS-лент. RSS - это способ вывода содержания вашего сайта для показа и использования на других сайтах, способ показа нового контента, такого как заголовки новостей, сообщения на форуме, комментарии к новостям, видео-контент и события календаря. К слову, данный способ вывода информации может пригодиться разработчикам мобильных приложений, чтобы отображать новости Joomla в мобильном приложении (хоть на Android, хоть на iOS, хоть на кроссплатформенных проектах). Итак, Вы сможете, выйти на новых клиентов и создать качественные обратные ссылки на ваш сайт. Давайте приступим к созданию 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 А теперь создадим страницу пункта меню для вывода новости Шаг 2. Создайте новый пункт меню с типом “Лента новостей” Шаг 3. Назовите пункт меню Шаг 4. Выберите созданную вами ленту Шаг 5. Сохраните изменения А теперь можно полюбоваться результатом. Если же вы хотите немного упростить создание новостной ленты, то я порекомендую вам 2 расширения для Joomla: 2. RizVN FeedBurner
(бесплатный модуль) Любой вебмастер хочет, чтобы его сайт был популярен и посещаем. И использует для этого все возможные способы. Один из вариантов увеличения популярности своего ресурса – использование технологии RSS. В двух словах о том, что это такое и как это работает. RSS предоставляет возможность пользователям, подписавшимся на RSS-канал, моментально получать сообщения о всех новых материалах, размещенных на вашем сайте. Если анонс вашей статьи окажется интересным, пользователю достаточно нажать на ссылку – и он окажется на вашем сайте. Таким образом, пользователь не забудет о вашем сайте, а будет регулярно получать напоминания о его существовании в виде анонсов статей. Эта статья посвящена тому, как самому организовать RSS-канал для своего сайта. Итак, как уже было описано выше, в общем виде RSS – это краткое содержание новинок на вашем сайте, которое представляет из себя файл с расширением xml. Как и все в этом мире, RSS имеет несколько модификаций (версий). Самыми популярными форматами RSS в настоящее время являются RSS 2.0 и Atom. В данном обзоре мы научимся создавать RSS-канал, совместимый с обоими форматами. Приступим к созданию RSS-ленты. Создаем пустой файл с расширением txt, открываем его, например, Notepad’ом. Первые две строки будут такие: В них мы указываем, что это документ xml, а лента поддерживает форматы RSS 2.0 и Atom одновременно. Теперь необходимо указать полный путь, где будет храниться файл с RSS-контентом на вашем сайте. В моем случае это будет выглядеть так: Теперь указываем название нашего RSS-канала, ссылку на сайт и краткое описание канала: И дату, когда наш канал последний раз изменялся: На эту строку кода надо обратить особое внимание. Каждый раз, когда вы будете добавлять новость, вам необходимо будет в этой строке менять число. Иначе программы для чтения RSS-каналов просто не будут знать, что новости обновились. Ведь они, заходя на ваш сайт, смотрят на дату в этой строке, сравнивают ее с датой последнего обновления в своей базе и, если они совпадают, то считывание информации не происходит. Дату следут вводить на английском языке в следующей последовательности - День недели, Число, Месяц, Год, Время. Если вы размещаете сразу несколько новостей, то для каждой надо сделать такой блок. Когда все новости вписаны, в конце закрываем теги ленты новостей: Что получили в итоге:
Теперь сохраняем файл, меняем его расширение с txt на xml и выкладываем на хостинг. Затем ставим на сайт кнопочку RSS (путь до которой мы прописали в файле) и делаем её ссылкой на нашу ленту новостей. RSS-летна, которую мы создали, может содержать только текстовую информацию. При желании мы можем создать более «продвинутый» RSS-канал – с возможностью размещения графической информации (проще говоря – картинок). Делается это на основе уже созданного нами RSS-канала с добавлением в него нового тега CDATA. Цветом я отметил новые вставки в старый код, которые и дают возможность нам создавать RSS-ленту с графикой:
Как вы видите, теперь многие элементы кода просто включаются в теги
, а в описание включена картинка
Итак, вы создали файл с RSS-лентой (с графикой или без графики) и разместили его на своем хостинге. Теперь самое время убедиться, что все сделано правильно и RSS-канал корректно отображает информацию. Если вы пользуетесь браузерами Opera или Mozilla, то вам достаточно ввести в адресную строку браузера путь до вашей RSS-ленты на хостинге и посмотреть полученный результат. Если хотете потренироваться и посмотреть, как выглядят RSS-каналы с графикой и без, можете поглядеть мои RSS-ленты: Также будет не лишним проверить свой код на ошибки. Сделать это можно, например, тут -
FEED Validator
. Данный ресурс просканирует код вашей RSS-ленты и даст заключение о наличии или отстутвии ошибок. По материалам сайта http://www.jeder.ru/ RSS-ленты на сегодняшний день прочно обосновались на страницах многих современных сайтов, потому, как данная технология очень удобна для получения информации об оновлениях сайтов. Если на сайте нет RSS-канала, то создать его поможет один из онлайновых генераторов RSS-ленты, который поможет внедрить на своем проекте технологию RSS при отсутствии опыта написания соответствующего кода для своего сайта. Самый простой способ создать RSS-ленту для понравившегося сайта- воспользоваться сервисами или . Первый из них отличается рускоязычным интерфейсом и даже не требует регистрации. Второй имеет возможность перевода интерфейса на русский. Оба сервиса крайне просты в использовании. Чтобы получить RSS-ленту, достаточно указать ссылку на исходный веб-сайт. Никаких дополнительных инструментов, заводящих пользователя в тупик, не предусмотренно. Задача поиска обновляющихся элементов и оформления ленты целиком возложена на алгоритмы самих сервисов. Более гибкие возможности редактирования собственных RSS-каналов предлагаются на сайтах и . Feedity сканирует указанную пользователем веб-страницу и составляет список всех расположенных на ней ссылок, которые ведут на новые сообщения или статьи. PonyFish имеет полезную особенность сохранение и передачи cookies, что позволяет обрабатывать страницы, для просмотра которых требуется регистрация. Неплохие возможности генерации RSS-лент предоставляет сервис . Данный сервис, в отличие от выше рассмотренных работает в "полуавтоматическом" режиме. Пользователь может активно влиять на отбор данных для RSS-ленты и ее оформление. Еще один сервис предлагает для создания каналов новостей три режима: AnySite, MySite, Podcast. Понятно, что первый режим это создание Rss-канала для любого сайта. Второй режим предлагает самостоятельно поставить в коде своих вев-страниц теги разметки, на которые будет ориентироваться робот сервиса. И третий это возможность создания звуковых подкастов. Если у вас уже есть RSS-лента, то в нее можно включить контекстную рекламу. Самый удачный для этого дела сервис Feedburner принадлежащий поисковому гиганту Google. Он достаточно тесно связан со службой AdSense, так, что при желании можно включить в свою ленту контекстную рекламу. Разместив уже сужествующую ленту на данном сервисе вы получаете возможностьдобавлять к ней ряд полезных сервисов, в том числе подкасты в видеофоматах. Ну вот пожалуй и все. Воспользоваться одним их вышеприведенных сервисов для создания своей RSS-ленты не представляет из себя ничего сложного, достаточно лишь желания, а выгода для вашего сайта будет неоспоримой. Даёт возможность оперативно транслировать новости и обновления читателям. Формат этот несколько устаревший, но аудитория пользователей всё ещё большая. Возможность организации RSS-лент заложена во многие популярные движки, такие как WordPress, Joomla, Drupal и многие другие. Где-то эта возможность является штатной, а где-то реализуется с помощью плагинов. Рассматривать процесс установки плагинов не имеет особого смысла, поэтому мы попробуем разобраться, как организовать RSS-ленту своими силами, не используя плагины. Для начала мы рассмотрим ручной способ, позволяющий реализовать трансляцию новостей на любом сайте, даже на статичном, построенном на голых html-страницах. Данный функционал будем создавать с помощью простого кода, который размещается в файле rss.xml
в корне сайта: При необходимости, в данном коде можно указать язык ленты, что необходимо при её регистрации в некоторых каталогах RSS-лент, а также добавить дополнительные элементы. Представленный код обновляется в ручном режиме. То есть, для внесения изменений необходимо открыть файл rss.xml и вписать в него новые данные. Нужно несколько новостей? Тогда редактируемый файл с лентой должен содержать в себе несколько конструкций следующего вида: Каждая такая конструкция – это отдельная новость, которая располагается между тегами item. По мере добавления новостей, старые записи можно удалять. Количество записей может быть любым, но прописывать больше 10 последних новостей не стоит – вряд ли кому-то понадобятся устаревшие записи. Предположим, что наш сайт создан на самописной CMS, либо на CMS, у которой RSS-лента отсутствует. В этом случае необходимо разобраться в структуре базы MySql, используемой для хранения данных, и выяснить, как производится хранение данных о заголовках страниц, их адресах и содержимом страниц с новостями. Разобравшись со структурой базы, необходимо несколько модернизировать файл с RSS-лентой. Для начала, дадим ему другое расширение, чтобы в нём мог исполняться php-код, необходимый для работы с базой MySql. В противном случае наша RSS-лента не заработает. Необходимо переработать и внутреннее содержимое файла: С первым пунктом всё понятно – нам нужно выполнить подключение к базе данных для забора оттуда информации. Второй пункт тоже понятен – нам нужно получить 10 дат, 10 id ссылок на страницы с новостями, 10 заголовков новостей и 10 тел новостей. В третьем тексте мы последовательно выводим всё то, что мы публиковали между тегами item в ручном формате нашей RSS-ленты. Таким образом, разобравшись в структуре базы данных, мы можем организовать RSS-ленту для любого ресурса. Такой подход хорош тем, что мы не касаемся исходного кода CMS и не создаём дополнительных нагрузок на хостинг – этим грешат некоторые плагины, нагружающие сайты километрами ненужного кода. Кроме того, наша методика позволит избавиться от возможных ошибок в функциональности действующего сайта на этапе внедрения RSS-ленты. Максимум, что может произойти, так это получение не тех данных, что нужны для формирования ленты на нашем сайте. Теперь рассмотрим сам код: Первые строки данного кода схожи с вышеописанным ручным кодом и содержат в себе общую информацию о нашей новостной ленте – это название, описание и полный адрес ленты. Даты последнего обновления ленты нет, но её можно реализовать, модернизировав исходный код. Далее производится выборка необходимых данных из MySql-базы и запускается цикл формирования RSS-ленты. С датой новости, её текстом и заголовком всё понятно – они выводятся из переменных $title
, $text
и $date
. Что касается ссылки на полную новость, то здесь берётся её id, после чего мы можем сформировать полную ссылку, опираясь на структуру формирования ссылок на нашем сайте. Например, ссылки могут иметь вид http://site.ru/news.php?id=48
. Здесь мы описываем лишь общий принцип формирования ссылок, поэтому при практической реализации в вышеуказанный код необходимо внести соответствующие изменения. Как только формирование файла rss.php будет готово, мы можем заливать его на хостинг и приступать к тестированию. Полезные советы
Для преобразования ленты в свой, удобный формат, выбор пал на такой специализированный инструмент, как 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 = "/g, "
");
// Добавляем к нашей RSS ленте новость
rss += "
После сохранения скрипта, настраиваем уровень доступа как «Просмотреть элемент может любой пользователь, обладающий ссылкой» либо «Общедоступно в Интернете: найти и просмотреть элемент может любой пользователь». В меню «Файл->Версии...» создаем новую версию приложения. Далее, в меню «Публикация->Развернуть как веб-приложение...» выбираем сохраненную версию, в выпадающем списке «Как запускать приложение» выбираем «От моего имени», в выпадающем списке «Кто имеет доступ к приложению» выбираем «Все, включая анонимных пользователей». Получаем ссылку в виде "
Краткое введение в технологию RSS и ее преимущества
Для пользователей, наибольшим преимуществом RSS является то, что они не должны идти на каждый сайт, чтобы увидеть, есть ли что-то новенькое на том или ином сайте, потому что новый контент сам централизованно придет к ним. С помощью RSS-канала, пользователи могут легко просмотреть все заголовки, а затем прочитать фрагмент каждой статьи и выбрать то, что им больше интересно.
Для владельцев бизнеса, RSS-ленты - отличная возможность. Путем создания RSS на своем сайте, они могут дать пользователям возможность подписаться на их контент, что в свою очередь означает, что вы можете превратить просто посетителя в постоянного читателя. Также, вы можете позволить продвигать ваш контент на других сайтах, или вы можете просто создать блог из RSS-ленты.Теперь возникает вопрос, где же взять ссылку на ленту?
Шаг 1. Откройте менеджер меню
Расширения для создания RSS в Joomla
1. obRSS
obRSS позволяет создавать неограниченное количество лент (или даже HTML страницу ленты) для вашего сайта на Joomla, который может выглядеть, как CNET, CNN, или BBC. Вы можете создавать, управлять и отображать все RSS-каналы в одном месте. Это расширение также можно использовать для вывода данных в json для использования в приложениях для iOS, Android.
RizVN FeedBurner - очень простой модуль, который выводит RSS в максимально красивом виде и экономит пространство на вашем сайте Joomla. Вы можете полностью настроить его в бекэнде.
В нем также есть много других функций, которые вам могут понравиться!
http://сайт/
Далее вам необходимо разместить сами новости, которые вы хотите донести до подписчиков вашего RSS-канала. Делается это так:
http://сайт/info/09.shtml
http://сайт/
http://сайт
http://сайт/info/09.shtml
RSS-лента для статического сайта на html
- в этой строке указывается кодировка
Автоматизируем создание RSS-ленты
Заходя на некоторые сайты, мы можем видеть в адресной строке браузера прямую ссылку на RSS-ленту этих сайтов. Для того чтобы не отставать от моды, проведём ещё одну модернизацию нашего сайта и добавим в него всего одну строчку кода: