Как создать RSS-канал для вашего сайта с нуля
Программирование

Как создать RSS-канал для вашего сайта с нуля

Создать RSS-канал для вашего сайта для ваших читателей не так уж сложно. Вот что вам нужно знать

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

Давайте сначала рассмотрим, как создать RSS-канал для вашего сайта с нуля

Формат RSS-ленты: HEADER

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

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

Давайте посмотрим на теги, которые необходимо включить в XML-файл для создания RSS-канала:

<?xml version='1. 0' encoding='utf-8'?>
<rssversion'2. 0'>
<channel>

Первые две строки указывают версию XML и RSS, как вы можете видеть. Третья строка открывает тег ‘channel’. Именно в нем будет содержаться вся информация для вашего канала или сайта. Добавьте эти три строки, как они есть

Далее, немного кода о фиде:

<title>ПК RSS Feed</title>
<link>https://www.почини-компьютер.рф/</link>
<description>Cool Websites, Software and Internet Tips</description>
<lastBuildDate>Wed, July 4 2018</lastBuildDate>

В этих нескольких строках указывается информация о вашем RSS-канале и вашем сайте. Тег title содержит любой заголовок, который вы хотите дать своему RSS-каналу, тег link указывает на ваш сайт, а тег description содержит краткое введение о RSS-канале или сайте. Тег lastBuildDate содержит информацию о последнем изменении содержимого канала. Обратите внимание, что dlastBuildDate является необязательным

То, что сейчас находится внутри вашего файла, назовем HEADER

Формат RSS-ленты: КОНТЕНТ

Далее у нас есть фактическое содержание RSS-ленты, которое будет отображаться в виде отдельных записей при просмотре с помощью программы чтения лент. Каждая запись содержится в паре тегов <item></item> и должна иметь, как минимум, следующее содержание:

<item>
<title>Entry Title</title>
<link>URL Link to the entry</link>
<guid>https://www.mysite.com/?p=584674</guid>
<description>This is the description of the content.</description>
<pubDate>Wed, July 4 2018</pubDate>
</item>

Опять же тег title будет относиться к заголовку или вашему контенту, link – это полный веб-адрес, по которому можно перейти к записи элемента на вашем сайте

Дата имеет определенный формат, который можно увидеть выше. Время должно быть в формате GMT; более подробную информацию о других форматах спецификации даты-времени вы можете найти в разделе 5 RFC 822

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

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

Тег pubDate указывает дату публикации содержимого внутри канала. В приведенном выше примере это относится к содержимому отдельных элементов, и каждый элемент будет иметь свою собственную дату публикации

Закройте открытые теги channel и rss (используя </channel> и </rss> ) и сохраните файл. Загрузите его в соответствующее место на вашем веб-сервере (корень сайта подойдет), и у вас в распоряжении будет RSS-файл

Большинство современных программ для чтения фидов могут отображать изображение заголовка вашей статьи, если вы предваряете описание встроенным изображением с помощью тега HTML <img>

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

Сделайте свой RSS-канал динамичным

Это потребует от вас изрядной доли программирования. Если вы не уверены в своих навыках программирования, я предлагаю вам использовать CMS, такие как Joomla, Drupal или, лучше всего, WordPress (если вам это подходит).CMS имеют множество плагинов для RSS-каналов, а большинство из них даже предлагают функциональность RSS прямо из коробки. Однако, поскольку вы читаете эту статью, я предполагаю, что вы готовите свое собственное решение, поэтому давайте приступим к кодированию

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

Все, что нам предстоит сделать, это получить записи из базы данных и вставить их в соответствующие теги. Я могу только кратко описать шаги, потому что фактический код будет отличаться в зависимости от языка программирования, который вы используете. Следующие фрагменты кода любезно предоставлены WebReference.com, поэтому для получения полной информации при написании собственного кода обязательно ознакомьтесь с ними

Эта функция будет извлекать данные заголовков из базы данных и записывать их в RSS-файл

Эта функция извлекает все отдельные элементы из базы данных и записывает их в RSS-файл

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

  1. Подключитесь к базе данных, содержащей всю необходимую нам информацию (см. выше).
  2. Получите все ENTRIES , которые вы хотите добавить в RSS-канал. Обычно это 10 самых последних.
  3. Создайте первую часть файла, т.е. HEADER..
  4. Для каждого элемента выполните следующие действия:
    1. Создайте тег <item>
    2. Заполните необходимые теги и содержимое.
    3. Сгенерируйте тег </item>
  5. Сгенерируйте FOOTER для закрытия файла.

Сделайте свой RSS-канал доступным для обнаружения

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

  • Вы можете создать XML-файл в качестве RSS-файла и открыть его, а затем вручную добавлять элементы каждый раз, когда публикуется новая запись или когда лента должна быть обновлена.
  • Если вы используете скрипт для создания RSS-ленты при каждом запросе, вы можете отправить заголовок Content-Type: application/xml перед любой другой информацией.
  • Вы можете сохранить сценарий как XML-файл и заставить программное обеспечение вашего веб-сервера рассматривать его как файл сценария. Пример, добавление:
    AddType application/x-httpd-php.xml

    в .htaccess заставит Apache рассматривать файлы XML как файлы PHP.

В идеале, ваш браузер будет распознавать RSS-канал при вводе URL канала в поле адреса, а не показывать содержимое скрипта

Большинство современных сайтов WordPress имеют RSS-канал, доступный ‘из коробки’. Посмотрите на содержание RSS-ленты ПК, перейдя по URL-адресу с добавлением ‘/feed’ в конце

Более простые альтернативы созданию RSS-канала

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

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

Feed Creator: Этот сервис, созданный FiveFilters.org, позволяет вводить URL страницы и фильтровать по атрибутам guid, class или сегментам URL

Feed43: Позволяет получать HTML с любой веб-страницы и создавать фрагменты для фильтров, которые определяют все новые элементы на странице. Бесплатная версия позволяет создавать ограниченные ленты элементов, которые обновляются каждые шесть часов или чаще

Feedity: Этот сервис похож на FetchRSS тем, что позволяет графически выделять разделы веб-страницы для отслеживания обновлений

Включите свой RSS-канал

Существует ошибочное мнение, что RSS – это старая технология, но она остается основной частью Интернета не просто так. Именно поэтому большинство систем CMS интегрировали генерацию RSS в свой основной пакет. Это потому, что RSS – самый простой метод, позволяющий вашим поклонникам и читателям подписаться на получение уведомлений о каждом обновлении вашего сайта

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

Если вы хотите узнать больше о том, как легко управлять сайтом, обязательно ознакомьтесь с нашим руководством по WordPress

Об авторе

Алексей Белоусов

Привет, меня зовут Филипп. Я фрилансер энтузиаст . В свободное время занимаюсь переводом статей и пишу о потребительских технологиях для широкого круга изданий , не переставая питать большую страсть ко всему мобильному =)

Комментировать

Оставить комментарий