Технические требования

Экспорт данных для размещения заголовков и аннотаций новостей на yandex.ru (в том числе на сайте Яндекс.Новости) осуществляется в XML-based формате RSS 2.0.

  1. Описание элементов RSS 2.0, используемых для экспорта данных
  2. Символы и кодировки
  3. Механизм экспорта данных
  4. Пример экспортного файла

Описание элементов RSS 2.0, используемых для экспорта данных

Корневым элементом RSS-файла является rss, атрибут version которого должен иметь значение 2.0.

<rss xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">

Внутри элемента rss содержится элемент channel, который включает информацию об источнике и его содержание.

Описание структуры элемента channel

Элемент channel содержит информацию о сайте источника.

Примечание. Обязательные элементы отмечены значком .
Элемент Описание
title

Название RSS-канала.

Если экспортируется содержание целого сайта, в title передается его название.

<title>Российские новости</title>

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

<title>Российские новости: технологии</title>

На yandex.ru название RSS-канала не показывается, экспортируемые данные маркируются тем названием источника, которое было указано в анкете при подключении к сервису Яндекс.Новости.

link

URL сайта, данные которого транслируются.

<link>http://www.rossiyskie-novosti.ru</link>
description

Описание RSS-канала одним предложением.

Не используйте HTML-разметку.

<description>Ежедневная московская общественно-политическая газета</description>
yandex:analytics

Счетчик системы статистики для учета посещаемости Турбо-страниц. Обязательный элемент, если используется атрибут turbo со значением true.

Поддерживаются один или несколько счетчиков Яндекс.Метрики и по одному счетчику LiveInternet, Google Analytics, Рейтинг Mail.Ru, Rambler Топ-100 и Mediascope.

Чтобы трафик на Турбо-страницах учитывался в разных системах статистики, в элемент channel можно добавить сразу несколько элементов yandex:analytics:

Яндекс.Метрика

Укажите атрибут type со значением Yandex и атрибут id с номером вашего счетчика.

<yandex:analytics id="идентификатор на Яндекс.Метрике" type="Yandex"></yandex:analytics>
<yandex:analytics id="идентификатор другого счетчика на Яндекс.Метрике" type="Yandex"></yandex:analytics>
Liveinternet

Укажите атрибут type со значением LiveInternet.

<yandex:analytics type="LiveInternet" params="название счетчика"></yandex:analytics>

Если счетчик используется для нескольких хостов, вы можете добавить атрибут params с названием счетчика. Тогда статистика будет собираться именно в нем.

Для счетчика, привязанного к одному хосту, атрибут params добавлять не нужно.

Google Analytics

Укажите атрибут type со значением Google и атрибут id с номером вашего счетчика.

<yandex:analytics id="идентификатор на Google Analytics" type="Google"></yandex:analytics>
Mail.Ru

Укажите атрибут type со значением MailRu и атрибут id с номером вашего счетчика.

<yandex:analytics id="идентификатор на Mail.ru" type="MailRu"></yandex:analytics>
Rambler

Укажите атрибут type со значением Rambler и атрибут id с номером вашего счетчика.

<yandex:analytics id="идентификатор на Rambler" type="Rambler"></yandex:analytics>
Mediascope

Укажите атрибут type со значением Mediascope и атрибут id с номером вашего счетчика.

<yandex:analytics id="идентификатор tmsec от Mediascope" type="Mediascope"></yandex:analytics>
yandex:adNetwork

Идентификатор рекламного блока.

Используется для отображения рекламного блока на Турбо-страницах и для учета доходов от рекламы при подключении Турбо-страниц. Элемент добавляется один раз. Регистр в названии yandex:adNetwork имеет значение — буква «N» должна быть прописной.

Поддерживаются ID Рекламной сети Яндекса и код ADFOX.

РСЯ

Укажите атрибут type со значением Yandex и атрибут id с буквенно-числовым идентификатором рекламного блока.

<yandex:adNetwork type="Yandex" id="SomeId"></yandex:adNetwork>

ID Рекламной сети Яндекса можно получить после подписания дополнительного соглашения к текущему договору с Рекламной сетью Яндекса. Подробнее см. в разделе Реклама на Турбо-страницах.

ADFOX

В элемент yandex:adNetwork поместите код блока, обернутый в тег ![CDATA[]]. Добавьте атрибут type со значением AdFox.

<yandex:adNetwork type="AdFox">
<![CDATA[
   <div id="adfox_149674745503035167"></div>
     <script>
      window.Ya.adfoxCode.create
      ({
      ownerId: 123456,
      containerId: 'adfox_149674745503035167',
      params: {
      pp: 'g',
      ps: 'qwqw',
      p2: 'fqem'
      }
      });
     </script>
]]>
</yandex:adNetwork>

См. также требования к баннерам и пример получения кода.

item

Новостное сообщение.

Каждый item описывает только одно сообщение. В channel может содержаться любое количество элементов item.

В item передаются следующие обязательные элементы:

  • title — заголовок сообщения;
  • link — URL сообщения;
  • pubDate — время публикации сообщения на сайте источника;
  • yandex:full-text — полный текст новости.
Примечание. Для поддержки формата Турбо-страниц в открывающий элемент item каждого сообщения нужно добавить атрибут turbo со значением true.
<item turbo="true">

Описание структуры элемента item

Элемент item содержит информацию о сообщении.

Примечание. Обязательные элементы отмечены значком .
Элемент Описание
title

Заголовок сообщения.

<title>Яндекс ищет на президентском сайте</title>

Элемент title должен содержать актуальный вариант заголовка сообщения, такого же, как на странице с новостью на сайте.

Максимальная длина заголовка — 200 символов.

Запрещено:

  • передавать заголовок сообщения, написанный полностью прописными буквами;
  • ставить точку в конце заголовка;
  • указывать в заголовке название источника, дату или время сообщения;
  • включать в заголовок служебные примечания (например, «обновлено», «дополнено», «фоторепортаж», «видео») и неинформативные обороты, которые не являются неотъемлемой частью заголовка (например, «Срочно!» или «Сенсация»).
link

URL сообщения.

<link>http://www.rossiyskie-novosti.ru/2003/03/25/yandex.html</link>

Требования:

  • Максимальная длина URL — 243 ASCII-символа;
  • Домен, указанный в ссылке, должен соответствовать домену сайта-источника.
  • URL не должны повторяться или различаться только адресом после символа # или !#. Например, http://www.some-host.ru/news.html#2545 и http://www.some-host.ru/news.html#5794. Такие ссылки считаются идентичными и не допускаются к передаче внутри одного элемента item.
  • При переходе с заголовка, размещенного на Яндекс.Новостях, должна открываться страница, содержащая только одно сообщение, соответствующее заголовку. При этом заголовок и начало текста сообщения должны быть доступны на первом экране при разрешении 1024 х 768.
pubDate

Время публикации сообщения на сайте источника.

Передается в формате RFC-822. Регистр в названии элемента pubDate имеет значение — буква «D» должна быть прописной.

<pubDate>Tue, 21 Apr 2015 14:15:00 +0300</pubDate>
<!-- Значение «+0300» определяет часовой пояс. Запись означает, что новость датирована 21 апреля 2015 г., 14:15 московского времени. -->

Время, указанное в экспортном файле, должно совпадать с фактическим временем публикации на сайте. Актуальными считаются сообщения за последние 8 дней. Остальные проиндексированы не будут.

yandex:full-text

Текст новости.

Элемент yandex:full-text должен содержать полный актуальный текст новости. Он используется для индексирования поисковым роботом, на yandex.ru текст не размещается. Если текст новости на сайте был изменен после публикации, его необходимо обновить и в yandex:full-text.

<yandex:full-text>полный текст новости</yandex:full-text>

В элементе yandex:full-text запрещено передавать:

  • название источника;
  • дату или время сообщения;
  • контактную информацию;
  • ссылки на изображения, аудио- и видеофайлы (для этих ссылок нужно формировать отдельные теги enclosure, media:group).
pdalink

Ссылка на версию сообщения, адаптированную для мобильных устройств.

Чтобы мобильная версия сообщения была доступна на https://m.news.yandex.ru/, передайте в элементе pdalink ссылку на соответствующее сообщение в мобильной версии сайта источника.
<pdalink>http://www.m.rossiyskie-novosti.ru/2003/03/25/yandex.html</pdalink>
amplink

Ссылка на AMP-версию сообщения.

Ссылки на страницы в формате AMP, если они присутствуют в вашем экспортном файле, будут использоваться в версии Яндекс.Новостей для устройств с тачскрином вместо ссылок на обыкновенные мобильные и адаптивные страницы.

Чтобы передавать AMP-версии новостей, укажите в элементе amplink ссылку на AMP-версию страницы с соответствующим сообщением.

<amplink>http://amp.vesti.ru/doc.html?id=2733279</amplink>
description

Краткое описание сообщения (аннотация, лид).

Не используйте HTML-разметку.

<description>Продукт Яndex.Site установлен на сайте президента России</description>
yandex:genre

Жанр сообщения.

Указывается латиницей:

  • lenta — короткое новостное сообщение (50–80 символов);
  • message — более развернутое новостное сообщение;
  • article — статья;
  • interview — интервью.
<yandex:genre>article</yandex:genre>
author

Автор сообщения.

<author>Иван Петров</author>
category

Рубрика (раздел, категория).

Указывается оригинальное (как в издании) название рубрики, в которой опубликовано сообщение. Одному сообщению может соответствовать только одна рубрика.

<category>Технологии</category>
Внимание. Об изменении рубрикации издания или о добавлении в экспортный файл материалов новых рубрик необходимо сообщать по адресу info@news.yandex.ru. Иначе сообщения, относящиеся к ранее не существовавшим или переименованным рубрикам издания, проиндексированы не будут.
enclosure

Иллюстрации, аудио и видеофайлы.

В одном элементе указывается ссылка на одну иллюстрацию, аудио или видеофайл. Если в сообщении содержится несколько иллюстраций, или иллюстрация и видеофайл, используйте несколько элементов enclosure.

Требования к иллюстрациям:

  • Ширина не менее 240 пикселей, длина не менее 300 пикселей. Иллюстрации меньшего размера не индексируются.

    Если есть несколько вариантов одной иллюстрации, отличающихся размером, в enclosure должен быть указан URL изображения наибольшего размера.

  • Иллюстрации должны быть разрешены к индексированию в файле robots.txt.

Для изображений параметр type должен совпадать с тем, что отдается по указанному URL. Значение url обязательно. Значение type крайне рекомендуемо, а если невозможно определить тип контента по расширению файла, то обязательно.

<enclosure url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex.jpg" type="image/jpeg"/>
media:group

Группа связанных медиаобъектов.

Можно указать любое количество элементов media:group. Вложенные группы не допускаются. Атрибутов у элемента нет.

Элемент media:group применяется в следующих случаях:

  • Для объединения двух видео, отличающихся форматами. Различные по содержанию видео объединять не рекомендуется.
  • Для объединения плеера и тумбнейла. Ширина тумбнейла должна быть не меньше 240 пикселей, длина — не меньше 300 пикселей. Видео, сопровождающееся тумбнейлом размером менее 300 х 240 пикселей, проиндексировано не будет.
  • Для группировки видео и аудио, если аудиофайл является звуковой дорожкой к видео.
  • Для более качественного индексирования видеофайлов, сопровождающих сообщение, вместе с элементом enclosure или вместо него.

В media:group могут быть следующие вложенные элементы:

  • Один или несколько элементов media:content (обязательный элемент), в одном из которых может быть проставлен атрибут isDefault.
  • Только один элемент media:player (обязательный элемент). Если в группе содержится media:player, то вместо прямой ссылки на файл укажите ссылку на плеер.
  • Один или несколько элементов media:thumbnail, их следует указывать в порядке убывания приоритета.
<media:group>
  <media:content url="ссылка на видеофайл на вашем сайте"/>
  <media:player url="ссылка на плеер на вашем сайте"/>
  <media:thumbnail url="ссылка на иллюстрацию, которая должна быть использована в качестве preview"/>
</media:group>

Описание элементов, передающих содержимое Турбо-страницы

Контент для Турбо-страницы можно передавать с помощью элемента turbo:content.

Внимание. Обязательные требования:
  • Оберните содержимое элемента turbo:content в тег ![CDATA[]].
  • Добавьте в turbo:content элемент header с текстом заголовка сообщения. Заголовок нужно обернуть в тег h1. Он должен соответствовать заголовку в title.
  • Добавьте в turbo:content полный текст сообщения. Этот текст должен соответствовать тексту в  yandex:full-text .
  • Картинки и видеоматериалы продублируйте в элементе enclosure .
Обложка

Используйте элемент header, который может включать в себя:

Элемент Описание
figure Содержит элемент img с адресом изображения, которое используется в качестве обложки. Изображение может быть в любом формате (например, JPG).
<header>
  <figure>
   <img src="http://example.com/img.jpg"/>
  </figure>
...
h1 Заголовок первого уровня.
<h1>Заголовок новости</h1>
h2 Заголовок второго уровня.
Оформление текста
Элемент Описание
h1
Заголовок первого уровня. Обычно соответствует содержимому элемента title.
<h1>Заголовок новости</h1>
h2 Заголовок второго уровня.
h3 Заголовок третьего уровня.
p
Параграф.
<p>Параграф текста</p>
b
Выделение текста жирным.
<b>Текст</b>
i
Выделение текста курсивом.
<i>Текст</i>
ul
Маркированный список.
<ul>
  <li>первый пункт списка</li>
</ul>
ol
Нумерованный список.
<ol>
  <li>первый пункт списка</li>
</ol>
Ссылка в тексте
Используйте элемент a, атрибут href которого содержит URL.
<a href="https://www.example.com/page2.html">Текст ссылки</a>
Картинка в тексте

Используйте элемент figure, который может содержать:

Элемент Описание
img Атрибут src принимает в качестве значения URL картинки. Изображение может быть в любом формате (например, JPG).
<figure>
  <img src="http://example.com/img.jpg"/>
</figure>
figcaption Видимая подпись картинки.
<figure>
  <img src="http://example.com/img.jpg"/>
  <figcaption>Подпись</figcaption>
</figure>
Видео в тексте

Поддерживается только формат MP4. Используйте элемент figure, который может содержать:

Элемент Описание
video Включает в себя элемент source с атрибутами:
  • src — ссылка на видео. Должна быть доступна по протоколу HTTPS.
  • type — тип медиаматериала и его формат.
<figure>
  <video>
    <source src="https://example.com/video.mp4" type="video/mp4"/>
  </video>
</figure>
img Превью видео (изображение) в любом формате.
<figure>
  <video>
    <source src="https://example.com/video.mp4" type="video/mp4"/>
  </video>
  <img src="http://example.com/img.jpg"/>
</figure>
figcaption Подпись к видео.
<figure>
  <video>
    <source src="https://example.com/video.mp4" type="video/mp4"/>
  </video>
  <img src="http://example.com/img.jpg"/>
  <figcaption>Подпись к видео</figcaption>
</figure>
Пример использования элемента turbo:content
<turbo:content><![CDATA[
    <header>
        <figure>
            <img src="http://mydomain.com/path/to/img.jpg" />
        </figure>
        <h1>Заголовок новости</h1>
        <h2>Подзаголовок новости</h2>
    </header>
    <h1>Заголовок новости</h1>
    <a href="ttp://mydomain.com/path/to/newspage_1.shtml">Ранее</a>
    <p>Текст новости.</p>
    <p>Текст новости.</p>
    <figure>
        <img src="http://mydomain.com/path/to/img.jpg" />
        <figcaption>Подпись к фото</figcaption>
    </figure>
    <p>Текст новости.</p>
    <figure>
        <video>
            <source src="https://mysite.ru/video.mp4" type="video/mp4" />
        </video>
        <img src="http://mysite.ru/path/to/img2.jpg" />
        <figcaption>Подпись к видео</figcaption>
    </figure>
]]></turbo:content>

Описание элементов для онлайн-трансляций

Примечание. Онлайновые трансляции спортивных событий индексируются с помощью формируемых вами специальных экспортных файлов, технические требования к которым опубликованы в разделе «Технические документы» партнерского интерфейса Яндекс.Новостей.

Если в экспортном файле есть ссылки на онлайн-конференции или онлайн-репортажи, в ваш обычный фид для Яндекс.Новостей в элемент item сообщения-трансляции включите элемент yandex:online и поместите в него ссылку на еще один фид, в котором должен быть представлен непосредственно текст трансляции.

Структура экспортного файла онлайн-трансляции:

  • title — заголовок трансляции;
  • link — URL трансляции на сайте;
  • pubDate — дата обновления;
  • yandex:genre со значением online — укажите жанр сообщения online, чтобы ссылка на сообщение-трансляцию попала в список «Все онлайн-трансляции»;
  • item — сообщение трансляции (одна «реплика» внутри трансляции):
    • description — текст трансляции (обязательный элемент), не используйте HTML-разметку;
    • link — URL сообщения;
    • pubDate — время сообщения (обязательный элемент).
Пример сообщения с онлайн-репортажем в основном экспортном файле
<item>
  <title>Заголовок новости</title>
  <link>http://www.babruysk.com/revolution.html</link>
  <pubDate>Дата сообщения</pubDate>
  <yandex:full-text>полный текст сообщения</yandex:full-text>
  <yandex:online>http://babruysk.com/translation.xml</yandex:online>
  <yandex:genre>online</yandex:genre>
</item>

Пример файла с онлайн-трансляцией
<?xml version="1.0" encoding="UTF-8" ?>
  <rss version="2.0">
    <channel>
      <title>Революция в Бобруйске</title>
      <link>http://www.babruysk.com/revolution.html</link>
      <pubDate>Mon, 27 Dec 2011 16:45:00 +0000</pubDate>
      <item>
        <link>http://www.babruysk.com/revolution.html#1488</link>
        <description>Бобруйские рабочие предприняли попытку атаковать здание администрации</description>
        <pubDate>Mon, 27 Dec 2011 16:45:00 +0000</pubDate>
      </item>
    </channel>
  </rss>

Описание элементов для видео- и фоторепортажей

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

Трансляция видеорепортажа

Для трансляции видео необходимо в соответствующем item:

  1. Указать ссылку на видео в элементе enclosure или media:group.
  2. Указать жанр сообщения video в элементе yandex:genre.
  3. Сформировать элемент description, который должен содержать краткое описание (лид) видеорепортажа.
  4. Сформировать элементы yandex:tags и поместить в них ключевые слова для видео. Каждое ключевое слово должно быть в отдельном элементе yandex:tags. Минимальное количество — 5 ключевых слов.

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

    <yandex:tags>путин</yandex:tags>
    <yandex:tags>порошенко</yandex:tags>
    <yandex:tags>меркель</yandex:tags> 
    <yandex:tags>лукашенко</yandex:tags>
    <yandex:tags>минск</yandex:tags>
Трансляция фоторепортажа

Для трансляции фоторепортажей необходимо в соответствующем item:

  1. Указать ссылки на все иллюстрации, входящие в фоторепортаж, в элементе enclosure или media:content.
  2. Указать жанр сообщения photogallery в элементе yandex:genre.
  3. Сформировать элемент description, который должен содержать краткое описание (лид) фоторепортажа.
  4. Сформировать теги yandex:tags и поместить в них ключевые слова для фоторепортажа. Каждое ключевое слово должно быть в отдельном элементе yandex:tags. Минимальное количество — 5 ключевых слов.

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

    <yandex:tags>путин</yandex:tags>
    <yandex:tags>порошенко</yandex:tags>
    <yandex:tags>меркель</yandex:tags> 
    <yandex:tags>лукашенко</yandex:tags>
    <yandex:tags>минск</yandex:tags>

Символы и кодировки

Фактическая кодировка, отдаваемая веб-сервером, всегда должна совпадать с кодировкой, указанной в заголовке XML. Наиболее часто используемые кодировки: UTF-8, Windows-1251, KOI8-R.

Кодировку можно не указывать, если файл кодирован в UTF-8. Если используется другая кодировка, ее нужно обязательно передать.

Во всех элементах item и channel необходимо кодировать следующие символы:

UTF-8
Символ Название Код замены
& Амперсанд &amp;
> Правая угловая скобка &gt;
< Левая угловая скобка &lt;
" Знак кавычек &quot;
' Апостроф &apos;

Например, ссылка http://some.host.ru/?id=1&page=10 должна быть приведена к виду http://some.host.ru/?id=1&amp;page=10.

KOI8-R

Если RSS-файл передается в KOI8-R, необходимо также заменить встречающиеся в тексте символы кодировки Windows-1251 на аналоги из KOI8-R:

Символ Название Код замены
... Многоточие 133
Короткое тире (en-dash) 150
Длинное тире (em-dash) 151
' ' «Сглаженные» апострофы 145 и 146
" " «Сглаженные» кавычки — «лапки» 147 и 148
«» Кавычки «ёлочки» 171 и 187
Номер 185

Механизм экспорта данных

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

Примечание. Файл должен быть доступен по протоколу HTTP или HTTPS. Экспортный файл, который не удалось полностью загрузить за 10 секунд, считается недоступным.

Чтобы основной робот Яндекса проиндексировал файл, добавьте директиву в robots.txt:

User-agent: YandexNews
Allow: путь до экспортного файла без имени хоста (например, /file.rss)
...
#последняя строка должна быть пустой

Проверить корректность добавления строк можно в Яндекс.Вебмастере.

Если вы используете в robots.txt директиву Crawl-delay, укажите ее для робота YandexNews отдельно (со значением от 0.1 до 2).

User-agent: YandexNews
Allow: /file.rss
Crawl-delay: 0.1
...
#последняя строка должна быть пустой

Пример экспортного файла

<?xml version="1.0" encoding="windows-1251"?>
  <rss xmlns:yandex="http://news.yandex.ru" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
      <title>Российские новости</title>
      <link>http://www.rossiyskie-novosti.ru/</link>
      <description>Ежедневная иллюстрированная московская общественно-политическая газета.</description>
      <yandex:analytics type="Yandex" id="00000000"></yandex:analytics>
      <item turbo="true">
        <title>Яндекс ищет на президентском сайте</title>
        <link>http://www.rossiyskie-novosti.ru/2003/03/25/yandex.html</link>
        <pdalink>http://www.m.rossiyskie-novosti.ru/2003/03/25/yandex.html</pdalink>
        <description>Программный продукт Яndex.Site установлен на официальном сайте президента России</description>
        <author>Иван Петров</author>
        <category>Технологии</category>
        <enclosure url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex.jpg" type="image/jpeg"/>
        <enclosure url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex1.jpg" type="image/jpeg"/>
        <enclosure url="http://www.rossiyskie-novosti.ru/video/100237" type="video/x-ms-asf"/>
        <pubDate>Sun, 29 Sep 2002 19:59:01 +0300</pubDate>
        <yandex:genre>message</yandex:genre>
        <yandex:full-text>Для поиска по сайту www.kremlin.ru выбрана программа Яndex.Site. Этот программный продукт был исследован провайдером президентского сайта — Федеральным агентством правительственной связи и информации. ФАПСИ сочло возможным использование поисковой системы &lt;Яндекса&gt; на www.kremlin.ru. По результатам исследования программа была скомпилирована, протестирована и установлена на сайт.</yandex:full-text>
        <yandex:related>
          <link url="http://www.rossiyskie-novosti.ru/2002/10/11/yandex-start.html" img="http://www.rossiyskie-novosti.ru/yndx-old-logo.jpg">Новый сервис Яндекса</link>
          <link url="http://www.rossiyskie-novosti.ru/2002/12/05/new-internet-giants.html" img="http://www.rossiyskie-novosti.ru/searchengines-compilation.png">Новые игроки на рынке e-commerce</link>
        </yandex:related>
      </item>
    </channel>
  </rss>