Создаем свой RSS канал с помощью Google Apps Script. Онлайновые генераторы RSS-лент

Вы наверняка знаете, что 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/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-ленты на сегодняшний день прочно обосновались на страницах многих современных сайтов, потому, как данная технология очень удобна для получения информации об оновлениях сайтов. Если на сайте нет 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-ленту своими силами, не используя плагины.

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>На нашем сайте открылся <a href="/kak-sozdat-novyi-disk-v-windows-7-kak-pravilno-dobavit-novyi-razdel-na-zhestkom/">новый раздел</a> </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 ленты. Сначала мы разберёмся, что это такое, как правильно настроить и зачем вообще это нужно. Расмотрим все минусы и возможность их устранения.

Что это такое?

Каждый из вас читает несколько новостных сайтов. К примеру, вы читаете 3 блога, как вам узнать что вышла новая статья? Нужно зайти на три сайта и посмотреть, а теперь представьте, что делать этого не нужно, нужно будет зайти на 1 сайт и там вы узнаете всю нужную информацию о новых статьях. Звучит неплохо, согласитесь, теперь давайте разберём, для кого же она предназначена.

Если у вас есть свой блог или сайт, на котором публикуются различные новости, тогда RSS лента для вас. Она поможет вам раскрутить ваш сайт, но вот если у вас корпоративный сайт компании или визитка, тогда это бессмысленно, потому что на них информация обновляется не так часто. Вывод: rss лента нужна только на сайтах, где информация обновляется несколько раз в неделю.

По тому же принципу работают многие известные сайты и программы: "Яндекс.Дзен", "Новости в win 10" и др. На них собираются новости с других сайтов, где есть rss лента, они не пишут новости сами, он просто собирают их с других сайтов.

Как её сделать?




Заголовок ленты
http://www.ссылка на сайт
Краткое описание канала
Дата последнего изменения в канале*


Заголовок новости или статьи № 1
Ссылка на полный текст новости или статьи №1
Текст новости № 1 (длина произвольная)


Заголовок новости или статьи № 2
Ссылка на полный текст новости или статьи №2
Текст новости № 2 (длина произвольная)


Это стандартный вид RSS ленты.

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

Организация подписки на RSS-ленту

Чтобы организовать возможность подписки на вашу RSS-ленту, необходимо сделать 2 вещи:

2. Вставить между тегами и следующую строку:

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

Необязательные элементы RSS-канала

Вы можете внести дополнительную информацию о канале, сайте-источнике или авторе канала.

language
Язык, на котором написан канал. Позволяет сборщикам, например, объединять на одной странице все сайты на одном языке. Перечень допустимых значений этого элемента лежит .

Пример: ru-ru

Пример: (Copyright 2017, Ivan Petrov)

managingEditor
Электронный адрес человека, ответственного за редакторский текст.

Пример:

webMaster
Адрес электронной почты человека, ответственного за технические аспекты канала.
([email protected] (Vasily Petrov)

pubDate
Дата публикации текста в канале Дата и время в RSS соответствуют спецификации RFC 822 , за исключением того, что год может представляться двумя или четырьмя цифрами (последнее предпочтительно).

lastBuildDate
Время последнего изменения содержимого канала.

cloud
Указывает веб-сервис, поддерживающий интерфейс rssCloud, реализующий подписку на обновления канала. .

Пример:

(В этом примере для запроса уведомления нужно отправить сообщение XML-RPC на ccc.com , порт 80, путь /RPC2 . Вызываемая процедура — myCloud.rssPleaseNotify.)

ttl
Время жизни - количество минут, на которые канал может кешироваться перед обновлением с ресурса.
Пример: (60)

image
Изображение (в формате GIF, JPEG или PNG), которое может отображаться с каналом.

Максимальная ширина — 144 (по умолчанию — 88).
Максимальная высота — 400 (по умолчанию — 31).

Элемент также может содержать дополнительные элементы, такие как:

author
Адрес электронной почты автора сообщения. Актуально, например, для RSS-лент онлайн-СМИ, в которых у каждой статьи - свой автор. Формат элемента:

[email protected] (Andrew Petrov)

comments
URL страницы для комментариев, относящихся к сообщению. Формат элемента:

http://domain.com/article4403.php#comments

enclosure
Описывает медиа-объект, прикрепленный к сообщению. Имеет 3 обязательных атрибута: url (адрес приложения), length (размер приложения в байтах) и type (тип приложения MIME). Пример:

source
Название RSS-канала, из которого получено сообщение, полученное из его . Имеет обязательный атрибут URL (ссылка на источник).</p> <p>Любой вебмастер хочет, чтобы его сайт был популярен и посещаем. И использует для этого все возможные способы. Один из вариантов увеличения популярности своего ресурса – использование технологии RSS.</p><p>В двух словах о том, что это такое и как это работает. RSS предоставляет возможность пользователям, подписавшимся на RSS-канал, моментально получать сообщения о всех новых материалах, размещенных на вашем сайте. Если анонс вашей статьи окажется интересным, пользователю достаточно нажать на ссылку – и он окажется на вашем сайте. Таким образом, пользователь не забудет о вашем сайте, а будет регулярно получать напоминания о его существовании в виде анонсов статей.</p><p>Эта статья посвящена тому, как самому организовать RSS-канал для своего сайта. Итак, как уже было описано выше, в общем виде RSS – это краткое содержание новинок на вашем сайте, которое представляет из себя файл с расширением xml.</p><p>Как и все в этом мире, RSS имеет несколько модификаций (версий). Самыми популярными форматами RSS в настоящее время являются RSS 2.0 и Atom. В данном обзоре мы научимся создавать RSS-канал, совместимый с обоими форматами.</p><p>Приступим к созданию RSS-ленты. Создаем пустой файл с расширением txt, открываем его, например, Notepad’ом. Первые две строки будут такие:</p><p><?xml version="1.0" encoding="windows-1251"?><br> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"></p><p>В них мы указываем, что это документ xml, а лента поддерживает форматы RSS 2.0 и Atom одновременно.</p><p>Теперь необходимо указать полный путь, где будет храниться файл с RSS-контентом на вашем сайте. В моем случае это будет выглядеть так:</p><p><channel><br> <atom:link href="http://сайт/feed/rss.xml" rel="self" type="application/rss+xml" /></p><ol><li><b>http://сайт/feed/ </b> - путь до файла на хостинге.</li> <li><b>rss.xml </b> - это название файла, который будет хранить новости нашего сайта (который, собственно, мы сейчас и создаем).</li> </ol><p>Теперь указываем название нашего RSS-канала, ссылку на сайт и краткое описание канала:</p><p><title>Всё для вебмастера
http://сайт/


http://сайт/pic/rss.jpghttp://сайтRSS-канал

И дату, когда наш канал последний раз изменялся:

На эту строку кода надо обратить особое внимание. Каждый раз, когда вы будете добавлять новость, вам необходимо будет в этой строке менять число. Иначе программы для чтения RSS-каналов просто не будут знать, что новости обновились. Ведь они, заходя на ваш сайт, смотрят на дату в этой строке, сравнивают ее с датой последнего обновления в своей базе и, если они совпадают, то считывание информации не происходит.

Дату следут вводить на английском языке в следующей последовательности - День недели, Число, Месяц, Год, Время.

  • Sun – Воскресенье
  • Mon – Понедельник
  • Tue – Вторник
  • Wed – Среда
  • Thu – Четверг
  • Fri – Пятница
  • Sat - Суббота
Далее вам необходимо разместить сами новости, которые вы хотите донести до подписчиков вашего RSS-канала. Делается это так:


Как сделать свой RSS-канал?
http://сайт/info/09.shtml

Mon, 19 May 2008 01:29:14 GMT
http://сайт/info/09.shtml

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

    Когда все новости вписаны, в конце закрываем теги ленты новостей:

    Что получили в итоге:





    Всё для вебмастера
    http://сайт/
    Новости портала сайт – всё о создании и популяризации сайтов


    http://сайт/pic/rss.jpg
    http://сайт
    RSS-канал


    Как сделать свой RSS-канал?
    http://сайт/info/09.shtml
    В данном материале дана пошаговая инструкция создания RSS-ленты для своего сайта
    Mon, 19 May 2008 01:29:14 GMT
    http://сайт/info/09.shtml

    Теперь сохраняем файл, меняем его расширение с txt на xml и выкладываем на хостинг. Затем ставим на сайт кнопочку RSS (путь до которой мы прописали в файле) и делаем её ссылкой на нашу ленту новостей.

    RSS-летна, которую мы создали, может содержать только текстовую информацию. При желании мы можем создать более «продвинутый» RSS-канал – с возможностью размещения графической информации (проще говоря – картинок). Делается это на основе уже созданного нами RSS-канала с добавлением в него нового тега CDATA. Цветом я отметил новые вставки в старый код, которые и дают возможность нам создавать RSS-ленту с графикой:





    <!]>




    <!]>


    <!]>

    В данном материале дана пошаговая инструкция создания RSS-ленты для своего сайта]]>


    Как вы видите, теперь многие элементы кода просто включаются в теги , а в описание включена картинка

    Итак, вы создали файл с RSS-лентой (с графикой или без графики) и разместили его на своем хостинге. Теперь самое время убедиться, что все сделано правильно и RSS-канал корректно отображает информацию. Если вы пользуетесь браузерами Opera или Mozilla, то вам достаточно ввести в адресную строку браузера путь до вашей RSS-ленты на хостинге и посмотреть полученный результат. Если хотете потренироваться и посмотреть, как выглядят RSS-каналы с графикой и без, можете поглядеть мои RSS-ленты:

    • - лента с графикой (не обновляется)
    • - лента без графики

    Также будет не лишним проверить свой код на ошибки. Сделать это можно, например, тут - FEED Validator . Данный ресурс просканирует код вашей RSS-ленты и даст заключение о наличии или отстутвии ошибок.

    По материалам сайта http://www.jeder.ru/