Разметить ленту RSS

Чтобы информация о материалах сайта корректно отражалась в ленте Дзена, следуйте нашим советам о разметке ленты RSS.
  1. Общие рекомендации
  2. Описание источника
  3. Описание материала
  4. Описание медиаконтента
  5. Удаление кода HTML
  6. Пример ленты RSS со всеми элементами

Общие рекомендации

Примечание. RSS-лента, подготовленная для сервиса Яндекс.Новости, для Дзена не подойдет. В Дзене другой набор обязательных атрибутов и другие требования к размеру иллюстраций.
  • Лента RSS должна соответствовать нашим требованиям.
  • Присылайте ссылки на все иллюстрации и видео из публикации. Публикация должна содержать как минимум одно изображение шириной не менее 400 пикселей. Разместите изображение с помощью элементов img, media:content или enclosure. Если используется элемент img или media:content, продублируйте информацию об изображении в enclosure.
  • Размечайте откровенный контент с помощью элемента media:rating. Такие материалы будут показаны только подписчикам канала. Если на сайте в основном публикуются откровенные материалы, ему будет присвоена категория «Для взрослых».
  • Указывайте тематику материала, и Дзен быстрее найдет заинтересованных читателей.
  • Откройте роботу Яндекса доступ к материалам, чтобы они показывались в RSS-ленте. Убедитесь, что в текстовом файле robots.txt адрес RSS не запрещен директивой Disallow, или явно разрешите его директивой Allow RSS_URL.

    Пример:

    # Если в robots.txt прописана директива 
    Disallow /feed
    # то робот не проиндексирует страницу
    your-site.ru/feed/some_url/rss.xml
    # Чтобы разрешить индексацию, добавьте директиву
    Allow /feed/some_url/rss.xml
  • Включайте в ленту материалы за два-три последних дня. Если элементов много, это усложняет обработку RSS. Более старые материалы уже хранятся в базе Дзена.
  • Вырезайте HTML, который не описан в настоящих рекомендациях к RSS.

После разметки RSS-ленты проверьте ее валидатором. Если в ленте окажутся пустые и незакрытые элементы, Дзен ее не обработает.

Иногда валидатор объявляет элементы, которые описаны ниже, ошибочными. Причина в том, что валидатор не всегда учитывает специфику Дзена. Этим можно пренебречь. Главное — исправьте пустые и незакрытые элементы.

Описание источника

Обязательные элементы отмечены значком .

Элемент Описание
rss Формат данных. Данные экспортируются в Дзен в XML-based формате RSS 2.0. Поддерживаются RSS, Media RSS, GeoRSS, HTML5 и микроформаты.
channel

Набор элементов с информацией о сайте-источнике.

<channel>     
    <title>Андроид восстановит ферму в Японии</title>
    <link>http://example.com/happy-farmer</link>
    <description>
        Заброшенную землю передали андроиду
        с внешностью известного японского хозяйственника.
    </description>
    <language>ru</language>
    <item>
        …
    </item>
</channel>
title

Название сайта.

link

URL сайта.

description

Описание сайта.

language

Язык ленты RSS по стандарту ISO 639-1.

item

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

Пример использования
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:georss="http://www.georss.org/georss">
    <channel>
        <title>Пастернак</title>
        <link>http://example.com/</link>
        <description>
            Проект о фруктах и овощах. Мы рассказываем о том,
            как их выращивать, готовить и правильно есть.
        </description>
        <language>ru</language>
        <item>
    ...
    </item>
    </channel>

Описание материала

Набор элементов, описывающих материал, располагается внутри элемента item. Обязательные элементы отмечены значком .

Элемент Описание
title Заголовок.
link

URL статьи, данные которой транслируются в ленте RSS. Ссылка в RSS должна полностью (с точностью до знака) дублировать ссылку на сайте. Например, эти URL не совпадают:

  • http://example.com/2023/07/04/android-happy-farmer
  • http://example.com/2023/07/04/android-happy-farmer/
  • http://example.com/2023/07/04/android-happy-farmer?utm_medium=cpc&utm_source=yandex. {source_type}&utm_campaign={campaign_id}&utm_content={ad_id}&utm_term={keyword}
pdalink Ссылка на версию, адаптированную для мобильных устройств.
amplink Ссылка на AMP-версию.
media:rating

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

  • adult — материал только для взрослых;
  • nonadult — контент, который можно показывать взрослым и детям от 13 лет.
pubDate Дата и время публикации в формате RFC822: Wed, 02 Oct 2002 15:00:00 +0300. Если элемента нет, Дзен будет считать дату загрузки ленты RSS датой публикации.
author Имя автора.
category

Тематика.

Можно выбрать несколько тем из этого списка
  • Авто
  • Война
  • Дизайн
  • Дом
  • Еда
  • Здоровье
  • Знаменитости
  • Игры
  • Кино
  • Культура
  • Литература
  • Мода
  • Музыка
  • Наука
  • Общество
  • Политика
  • Природа
  • Происшествия
  • Психология
  • Путешествия
  • Спорт
  • Технологии
  • Фотографии
  • Хобби
  • Экономика
  • Юмор
enclosure

Описание изображений, аудио- и видеофайлов в материале. Может быть единственным упоминанием медиаконтента или дублировать элементы figure, media:content , размещаемые внутри content:encoded.

Каждому элементу figure или media:content должен соответствовать элемент enclosure в описании. Например, если в материале два изображения и один видеоролик, в описании источника разместите три элемента enclosure.

Если в материале несколько вариантов одной иллюстрации, которые отличаются только размером, укажите элемент enclosure один раз и пропишите в нем URL изображения наибольшего размера. Минимальная ширина изображения — 400 пикселей. Убедитесь, что на изображении нет надписей и цифр: они могут обрезаться при загрузке.

description Краткое содержание.
content:encoded Полный текст (рекомендуемый объем — не менее 300 знаков с пробелами) или видеоролик. Содержит элементы для размещения медиаконтента.
Пример использования
<item>
    <title>Андроид восстановит ферму в Японии</title>
    <link>http://example.com/2023/07/04/android-happy-farmer</link>
    <pdalink>http://m.example.com/2023/07/04/android-happy-farmer</pdalink>
    <amplink>http://amp.example.com/2023/07/04/android-happy-farmer</amplink>
    <media:rating scheme="urn:simple">nonadult</media:rating>
    <pubDate>Tue, 4 Jul 2023 04:20:00 +0300</pubDate>
    <author>Петр Стругацкий</author>
    <category>Технологии</category>
    <category>Наука</category>
    <category>Дизайн</category>
    <enclosure url="http://example.com/2023/07/04/pic1.jpg" type="image/jpeg"/>
    <enclosure url="http://example.com/2023/07/04/pic2.jpg" type="image/jpeg"/>
    <enclosure url="http://example.com/2023/07/04/video/42420" type="video/x-ms-asf"/>
    <description>
        <![CDATA[
        Заброшенную землю рядом с токийским университетом передали андроиду
        с внешностью известного японского хозяйственника.
        ]]>
    </description>
    <content:encoded>
        <![CDATA[
        <p>Здесь находится полный текст статьи.</p>
        ]]>
    </content:encoded>
</item>

Описание медиаконтента

Элементы, описывающие медиаконтент, располагаются внутри элемента content:encoded. Элементы из этой таблицы использовать необязательно.

Элемент Описание
figure
Описание изображения:
<figure>     
   <img src="http://example.com/pic1.jpg" width="1200" height="900">
   <figcaption>
      Первый андроид-фермер смотрит на свои угодья
   </figcaption>  
 </figure>
Описание видео:
<figure>     
   <video width="1200" height="900">
      <source src="http://example.com/42420" type="video/mp4">
   </video>
   <figcaption>
      Андроид-фермер вспахивает землю при помощи собственного изобретения
      <span class="copyright">Михаил Родченков</span>
   </figcaption>
 </figure>
img Изображение в формате JPEG, GIF или PNG шириной не меньше 400 пикселей. Первое изображение, размеченное этим элементом, появляется на карточке в ленте Дзена. Продублируйте каждое изображение, размеченное img, в описании материала с помощью элемента enclosure.
video

Видео. Допустимые варианты:

  • MPEG-4 (H.264).
  • YouTube.
  • Vimeo.
Продублируйте каждое видео, размеченное элементом video, в описании публикации с помощью элемента enclosure.
figcaption Подпись под изображением или видео.
<figcaption>
    Первый андроид-фермер смотрит на свои угодья
    <span class="copyright">Михаил Родченков</span>
</figcaption>
media:content
Альтернативный элементу figure способ вставить в публикацию медиаконтент:
  • Изображения JPEG, GIF, PNG.
  • Видеоролики MPEG-4 (H.264), YouTube, Vimeo.
  • Аудиоролики MPEG-3, SoundCloud.

Продублируйте каждое изображение, видео или аудио, размеченное элементом media:content, с помощью элемента enclosure.

Набор элементов, описывающих изображение, видео или аудио:

<media:content>     
    <media:description/>
    <media:copyright/>
</media:content>
media:description Подпись под изображением или видео.
media:copyright Авторские права на изображение или видео.
Пример использования элементов <img>, <video>, <figcaption>:
<figure>
    <img src="http://example.com/2023/07/04/pic1.jpg" width="1200" height="900">
      <figcaption>
         Первый андроид-фермер смотрит на свои угодья
         <span class="copyright">Михаил Родченков</span>
      </figcaption>
</figure>
<figure>
    <video width="1200" height="900">
      <source src="http://example.com/2023/07/04/video/42420" type="video/mp4">
    </video>
    <figcaption>
      Андроид-фермер вспахивает землю при помощи собственного изобретения
     <span class="copyright">Михаил Родченков</span>
</figcaption>
</figure>
Пример использования элементов <media:content>, <media:description>, <media:copyright>
<item>
    <media:content type="image/jpeg" medium="image" width="900" height="400"
url="http://example.com/2023/07/04/pic1.jpg">
        <media:description type="plain">
            Андроид-фермер смотрит на свои угодья
        </media:description>
        <media:copyright>Михаил Родченков</media:copyright>
    </media:content>
</item>

Удаление кода HTML

Удалите весь HTML, который не описан в рекомендациях, например:

Видео
<iframe src="URL Vimeo или YouTube" height="480" width="640"/>
Instagram, Твиттер, Facebook
<iframe src="//instagram.com/p/INSTID/" ...></iframe>
<blockquote class="twitter-tweet" ...>
    <h3>Status text</h3>
    <a href="https://t.co/...">media reference</a>
</blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8">
</script>
<div class="fb-post" data-href="facebook_url_to_the_post"> ... </div>
<div class="fb-video" data-href="facebook_url_to_video"> ... </div>
Примечание. Элементы p и span внутри content:encoded Дзен удаляет автоматически.

Пример ленты RSS со всеми элементами

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:atom="http://www.w3.org/2005/Atom"
    xmlns:georss="http://www.georss.org/georss">
    <channel>
        <title>Пастернак</title>
        <link>http://example.com/</link>
        <description>
Проект о фруктах и овощах. Рассказываем о том, как выращивать, готовить и правильно есть.
</description>
        <language>ru</language>
        <item>
           <title>Андроид восстановит ферму в Японии</title>
           <link>http://example.com/2023/07/04/android-happy-farmer</link>
           <pdalink>http://m.example.com/2023/07/04/android-happy-farmer</pdalink>
           <amplink>http://amp.example.com/2023/07/04/android-happy-farmer</amplink>
           <guid>2fd4e1c67a2d28fced849ee1bb76e7391b93eb12</guid>
           <pubDate>Tue, 4 Jul 2023 04:20:00 +0300</pubDate>
           <media:rating scheme="urn:simple">nonadult</media:rating>
           <author>Петр Стругацкий</author>
           <category>Технологии</category>
           <enclosure url="http://example.com/2023/07/04/pic1.jpg" type="image/jpeg"/>
           <enclosure url="http://example.com/2023/07/04/pic2.jpg" type="image/jpeg"/>
           <enclosure url="http://example.com/2023/07/04/video/420"
                      type="video/x-ms-asf"/>
           <description>
                <![CDATA[
Заброшенную землю рядом с токийским университетом Нисёгакуся передали андроиду
с внешностью известного японского хозяйственника.
]]>
            </description>
            <content:encoded>
                <![CDATA[

<p>Здесь находится полный текст статьи.
Его могут прерывать картинки, видео и другой медиаконтент.</p>
<figure>
    <img src="http://example.com/2023/07/04/pic1.jpg" width="1200" height="900">
        <figcaption>
Первый андроид-фермер смотрит на свои угодья

            <span class="copyright">Михаил Родченков</span>
        </figcaption>
    </figure>
    <p>Продолжение статьи после вставленной картинки. В статье рассказывается
о технологии вспахивании земли, которую использует японский андроид-фермер.
Поэтому в материале не обойтись без видеоролика. Пример видеоролика ниже.</p>
    <figure>
        <video width="1200" height="900">
            <source src="http://example.com/2023/07/04/video/42420" type="video/mp4">
            </video>
            <figcaption>
Андроид-фермер вспахивает землю при помощи собственного изобретения

                <span class="copyright">Михаил Родченков</span>
            </figcaption>
        </figure>
        <p>Статья продолжается после видео. Андроид копает картошку.
Фермы развиваются. Япония продолжает удивлять.</p>
]]>
            </content:encoded>
        </item>
    </channel>
</rss>

Скачать пример разметки ленты RSS.