Технічні вимоги

Експорт даних для розміщення заголовків і анотацій новин на yandex.ua (зокрема й на сайтах Яндекс.Новини) здійснюється в 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>

Усередині елемента rss міститься елемент channel, який, зокрема, має інформацію про джерело і його вміст.

  1. Передавання інформації про сайт-джерело
  2. Передавання інформації про повідомлення
  3. Турбо-сторінки
  4. Опис елементів для відео- та фоторепортажів

Передавання інформації про сайт-джерело

Відомості передаються в елементі channel.

Елемент Опис
title

Назва RSS-каналу.

Якщо експортується вміст усього сайту, зазначте його назву.

<title>Українські новини</title>

Якщо експортується розділ сайту, зазначте назву сайту і розділу через двокрапку.

<title>Українські новини: технології</title>
Примітка. На yandex.ua назву RSS-каналу не показано, дані, що експортуються, маркуються тією назвою джерела, яку було зазначено в анкеті під час підключення до сервісу Яндекс.Новини.
link

Домен сайту, дані якого транслюються.

<link>http://www.example.com</link>
description

Опис каналу одним реченням. Не використовуйте HTML-розмітку.

<description>Щоденна газета</description>
language

Мова статті за стандартом ISO 639-1.

<language>uа</language>
item *

Інформація про сторінку та її вміст.

Кожен item описує лише одне новинне повідомлення. У channel може міститися будь-яка кількість елементів item.

Для передавання новинних повідомлень у item зазначаються такі обов’язкові елементи:

  • title* — заголовок повідомлення;
  • link* — URL повідомлення;
  • pubDate* — час публікації повідомлення на сайті джерела;
  • yandex:full-text* — повний текст повідомлення.
<item>
  <title>Заголовок повідомлення</title>
  <link>http://www.example.com/page.html</link>
  <pubDate>Sun, 29 Sep 2002 19:59:01 +0300</pubDate> 
  <yandex:full-text>Повний текст повідомлення</yandex:full-text>
</item>

* Обов’язковий елемент.

Передавання інформації про повідомлення

Дані передаються в елементі item.

Елемент Опис
title *

Заголовок повідомлення.

<title>Яндекс шукає на президентському сайті</title>

Елемент title повинен містити актуальний варіант заголовка повідомлення, такий як на сторінці з новиною на сайті.

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

Заборонено:

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

URL сторінки-джерела.

<link>http://www.example.com/page1.html</link>
Вимоги:
  • посилання повинно містити схему HTTP або HTTPS;
  • домен, зазначений у посиланні, повинен відповідати домену сайту-джерела;
  • максимальна довжина URL — 243 ;
  • за одним URL повинна бути доступною одна стаття;
  • URL не повинні повторюватися або відрізнятися лише адресою після символу # або !#. Наприклад, http://www.some-host.ru/news.html#2545 і http://www.some-host.ru/news.html#5794. Такі посилання вважаються ідентичними і не допускаються до передавання усередині одного елемента item.
  • У разі переходу із заголовка, розміщеного на Яндекс.Новинах, повинна відкриватися сторінка, що містить лише одне повідомлення, що відповідає заголовку. Водночас заголовок і початок тексту повинно бути видно на першому екрані за роздільної здатності 1024 × 768.
pubDate *

Час публікації повідомлення на сайті джерела. Передається у форматі RFC-822.

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

Час, зазначений в експортному файлі, має збігатися з фактичним часом публікації на сайті. Актуальними вважаються повідомлення за останні 8 днів. Решту проіндексовано не буде.

author

Автор повідомлення.

<author>Іван Петров</author>
yandex:full-text *

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

Елемент yandex:full-text повинен містити повний актуальний текст новини. Він використовується для індексування пошуковим роботом, на yandex.ua текст не розміщується. Якщо текст новини на сайті було змінено після публікації, його необхідно оновити й у 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/page.html</pdalink>
amplink

Посилання на AMP-версію повідомлення.

Посилання на сторінки в форматі AMP, якщо вони є у вашому експортному файлі, буде використано у версії Яндекс.Новин для пристроїв з тачскрином замість посилань на звичайні мобільні і адаптивні сторінки.

Щоб передавати AMP-версії новин, зазначте в елементі amplink посилання на AMP-версію сторінки з відповідним повідомленням.

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

Короткий опис повідомлення (анотація, лід). Не використовуйте HTML-розмітку.

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

Жанр повідомлення.

Зазначається латиницею:

  • lenta — коротке новинне повідомлення (50–80 символів);
  • message — більш розгорнуте новинне повідомлення;
  • article — стаття;
  • interview — інтерв’ю.
<yandex:genre>article</yandex:genre>
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/01.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:thumbnail, а також хоча б один елемент media:content або media:player. Використовувати всі три елементи не потрібно.
<media:group>
  <media:content
   url="посилання на відеофайл на вашому сайті"/>
  <media:player
   url="посилання на плеєр на вашому сайті"/>
  <media:thumbnail
   url="посилання на ілюстрацію, яка повинна 
 бути використана як preview"/>
</media:group>

* Обов’язковий елемент.

Турбо-сторінки

Передача інформації про Турбо-сторінки сайту проводиться через Яндекс.Вебмастер. Детальніше

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

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

Для трансляції відео необхідно у відповідному 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>

Символи та кодування

В експортному файлі зазначте кодування, що віддає ваш сервер. Найчастіше використовуються: UTF-8, Windows-1251, KOI8-R.

У всіх елементах channel і item слід кодувати такі символи:

Символ Назва Код заміни
& Амперсанд &amp;
> Права кутова дужка >
< Ліва кутова дужка <
" Знак лапок &quot;
' Апостроф '

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

Механізм експорту даних

Щоб передавати інформацію про новинні повідомлення, розмістіть 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>
      <item>
        <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"/>
        <media:group>
          <media:content 
            url="http://www.rossiyskie-novosti.ru/video/100237" 
            type="video/x-ms-asf"/>
          <media:thumbnail 
            url="http://www.rossiyskie-novosti.ru/2003/03/25/yandex1.jpg" 
            type="image/jpeg"/>
        </media:group>        
        <pubDate>Sun, 29 Sep 2002 19:59:01 +0300</pubDate>
        <yandex:genre>message</yandex:genre>
        <yandex:full-text>Для пошуку на сайті www.kremlin.ru вибрано програму Яndex.Site. 
          Цей програмний продукт було досліджено провайдером президентського сайту — 
          Федеральним агентством урядового зв’язку та інформації. ФАУЗІ визнало
          можливим використання пошукової системи <Яндекса> на www.kremlin.ru. 
          За результатами дослідження програму було скомпільовано, протестовано і встановлено
          на сайт.</yandex:full-text>
       </item>
     </channel>
  </rss>