Разметка ленты 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 старые публикации, оставляя публикации за последние 2-3 дня. Большее количество элементов может усложнить обработку RSS. Более старые публикации уже хранятся в базе Дзена.
  • Вырезайте HTML, который не описан в настоящих рекомендациях к RSS.
Совет. После разметки 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, рекомендованное количество — публикации за 2-3 последних дня. Большее количество элементов может усложнить обработку 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 изображения наибольшего размера.

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, который не описан в настоящих рекомендациях к RSS, например:

Видео
<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.