Создание RSS-канала для Турбо-страниц. Описание и технические требования

Ниже представлены описание и требования к RSS-каналу для использования Турбо-страниц в результатах поиска Яндекса.

Настройка и подключение Турбо-страниц.

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

Турбо-страницы формируются на основе страниц сайта. Данные для Турбо-страниц экспортируются в 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/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0">
    ...
</rss>

Для формирования Турбо-страницы передайте следующие данные:

...
    <channel><!--Информация о сайте-источнике (RSS-канале)-->
        ...
        <item turbo="true"><!--Информация о странице-->
            ...
            <turbo:content>...</turbo:content><!--Содержание страницы-->
            ...
        </item>
    </channel>
</rss>
  1. Передача информации о сайте-источнике, подключение рекламы и счетчиков веб-аналитики
  2. Передача информации о странице
  3. Передача содержимого страницы
  4. Символы и кодировки

Передача информации о сайте-источнике, подключение рекламы и счетчиков веб-аналитики

Сведения передаются в элементе channel.

Элемент Описание
title

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

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

<title>Название канала</title>
link

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

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

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

<description>Краткое описание потока</description>
language
Язык статьи по стандарту ISO 639-1.
<language>ru</language>
yandex:analytics

Счетчик системы веб-аналитики для учета посещаемости Турбо-страниц.

Можно указать несколько счетчиков Яндекс.Метрики и по одному счетчику других систем.

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

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

<yandex:analytics
 id="номер счетчика"
 type="Yandex">
</yandex:analytics>
LiveInternet
Укажите атрибут type со значением LiveInternet.
<yandex:analytics
 type="LiveInternet">
</yandex:analytics>

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

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

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

<yandex:analytics
 id="идентификатор отслеживания"
 type="Google">
</yandex:analytics>
Рейтинг Mail.RU

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

<yandex:analytics
 id="идентификатор счетчика"
 type="MailRu">
</yandex:analytics>
Rambler Топ-100

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

<yandex:analytics
 id="идентификатор счетчика"
 type="Rambler">
</yandex:analytics>
Mediascope (TNS)
Укажите атрибут type со значением Mediascope и атрибут id с номером счетчика.
<yandex:analytics
 id="идентификатор tmsec от Mediascope"
 type="Mediascope">
</yandex:analytics>
yandex:adNetwork

Используйте для отображения блоков Рекламной сети Яндекса и сторонней рекламы, подключенной через ADFOX на Турбо-страницах. А также для учета доходов от рекламы при использовании Турбо-страниц. Чтобы добавить несколько рекламных блоков, для каждого блока укажите отдельный элемент yandex:adNetwork.

Для определения места размещения рекламы на странице задайте для каждого блока буквенный идентификатор в качестве значения атрибута turbo-ad-id. Например, first_ad_place, second_ad_place. Чтобы указать фактическое место рекламы на странице, этот же атрибут добавьте в элемент figure внутри элемента turbo:content.

Если атрибут turbo-ad-id не указан, реклама не будет отображаться на Турбо-странице.

РСЯ

В партнерском интерфейсе создайте рекламный блок для Турбо-страниц. В RSS-файл добавьте атрибут type со значением Yandex и атрибут id с буквенно-числовым идентификатором рекламного блока.

<yandex:adNetwork
 type="Yandex"
 id="идентификатор блока"
 turbo-ad-id="first_ad_place">
</yandex:adNetwork>
ADFOX
В интерфейсе ADFOX создайте площадку для Турбо-страниц. В RSS-файл добавьте атрибут type со значением AdFox. В элемент yandex:adNetwork поместите код блока, обернутый в тег <![CDATA[]]>.
<yandex:adNetwork
 type="AdFox"
 turbo-ad-id="second_ad_place">
    <![CDATA[
        <div id="идентификатор контейнера"></div>
        <script>
            window.Ya.adfoxCode.create({
                ownerId: 123456,
                containerId: 'идентификатор контейнера',
                params: {
                    pp: 'g',
                    ps: 'cmic',
                    p2: 'fqem'
                }
            });
        </script>
    ]]>
</yandex:adNetwork>
item*

Информация о странице и ее содержимом.

Чтобы использовать формат Турбо-страниц, добавьте атрибут turbo со значением true. Чтобы отключить отображение Турбо-страницы, используйте значение false. Подробнее см. в разделе Управление отображением Турбо-страниц.

...
    <item turbo="true">
        ... 
    </item>

Один элемент item описывает одну страницу.

* Обязательный элемент.

Передача информации о странице

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

Элемент Описание
link*

URL страницы-источника.

<link>http://www.example.com/page1.html</link>
Требования:
  • ссылка должна содержать схему HTTP или HTTPS;
  • домен, указанный в ссылке, должен соответствовать домену сайта-источника;
  • максимальная длина URL — 243 ASCII-символа;
  • по одному URL должна быть доступна одна статья.

При переходе по ссылке заголовок и начало текста должны быть видны на первом экране при разрешении 1024 × 768.

pubDate*

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

Передается в формате RFC-822.

<pubDate>Tue, 21 Apr 2015 14:15:00 +0300</pubDate>
author Автор статьи, размещенной на странице.
<author>Иван Иванов</author>
turbo:content*

Содержимое страницы.

yandex:related

Блок со ссылками на другие страницы сайта. Содержит элемент link. Количество вложенных элементов не ограничено.

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

Оборачиваемый в элемент link текст не должен содержать HTML-элементы.
<yandex:related>
    <link
     url="http://www.example.com/page.html"
     img="http://www.example.com/image.png">Текст ссылки
    </link>
</yandex:related>

* Обязательный элемент.

Передача содержимого страницы

Контент для Турбо-страницы передается с помощью элемента turbo:content. Содержимое необходимо обернуть в тег <![CDATA[]]>.

Шапка страницы (верхняя часть страницы)

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

Элемент Описание
figure Содержит элемент img с адресом изображения, которое используется в качестве обложки. Изображение может быть в любом формате.
<header>
    <figure>
        <img src="http://example.com/img.jpg" />
    </figure>
    ...
h1* Заголовок первого уровня.
<h1>Текст заголовка</h1>

* Обязательный элемент.

Оформление текста
Элемент Описание
h1
Заголовок первого уровня.
<h1>Заголовок страницы</h1>

Поддерживаются шесть уровней заголовков.

p
Параграф.
<p>Параграф текста</p>
br
Перенос строки без отступа.
<br>Текст</br>
ul
Маркированный список.
<ul>
    <li>первый пункт списка</li>
</ul>
ol
Нумерованный список.
<ol>
    <li>первый пункт списка</li>
</ol>
b
Выделение текста жирным.
<b>Текст</b>
strong Выделение текста. Обычно браузеры отображают его жирным.
<strong>Текст</strong>
i Выделение текста курсивом.
<i>Текст</i>
em Выделение текста. Обычно браузеры отображают его курсивом.
<em>Текст</em>
sup Верхний индекс.
2<sup>3</sup>
sub Нижний индекс.
H<sub>2</sub>O
ins

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

Основной текст, <ins>новый текст</ins>
del

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

Основной текст, <del>удаленный текст</del>
small
Уменьшение размера шрифта на одну условную единицу.
<small>Текст</small>
big Увеличение размера шрифта на одну условную единицу.
<big>Текст</big>
pre
Выделение предварительно форматированного текста.
<pre>Текст</pre>
abbr Выделение аббревиатуры в тексте.
<abbr title="Пояснение">HTML</abbr>
u
Подчеркивание текста.
<u>Текст</u>
Ссылка в тексте
Используйте элемент a, атрибут href которого содержит URL.
<a href="https://www.example.com/page2.html">Текст ссылки</a>
Картинка в тексте

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

Элемент Описание
img Атрибут src принимает в качестве значения URL изображения в формате JPEG или PNG.
...
    <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>
    ...
img Превью видео (изображение) в любом формате.
...
<figure>
    <video>
        <source
         src="https://example.com/video.mp4"
         type="video/mp4" />
    </video>
    <img src="http://example.com/img.jpg" />
    ...
figcaption Подпись к видео.
...
<figure>
    <video>
        <source
         src="https://example.com/video.mp4"
         type="video/mp4" />
    </video>
    <img src="http://example.com/img.jpg" />
    <figcaption>Подпись к видео</figcaption>
</figure>
Место размещения рекламы
Внимание. Не добавляйте рекламные блоки чаще, чем через каждые 250 слов страницы. Часто расположенная реклама ухудшает читаемость сообщений на Турбо-страницах. Из-за этого со временем пользователи могут перестать переходить на ваши страницы.
Чтобы указать место на странице, где должен размещаться рекламный блок, используйте элемент figure. Он должен содержать атрибут data-turbo-ad-id со значением, указанным в элементе yandex:adNetwork.
<figure data-turbo-ad-id="first_ad_place"></figure>

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

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

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

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

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

Ограничения

Количество символов в элементе title 240
Общее количество картинок в RSS-канале 5000
Количество картинок в одном элементе item, включая картинки, указанные в элементе yandex:related 30
Количество элементов item 500
Размер RSS-канала 15 МБ
Совет. Если на вашем сайте большое количество данных, вы можете передавать информацию частями. Для этого сформируйте несколько RSS-каналов, не превышающих ограничения, и загрузите в Яндекс.Вебмастер. Каждый переданный RSS-канал будет обработан в течение часа.

Обновление Турбо-страницы

Как обновлять информацию о Турбо-странице и ее содержимое:
  1. Вносите изменения в RSS-канал, размещенный на сервере вашего сайта. Робот Яндекса скачивает файл ежедневно каждый час.
    Примечание. Файл должен быть доступен по протоколу  HTTP или HTTPS. Если робот не смог загрузить его за 10 секунд, файл считается недоступным. В этом случае в разделе Турбо-страницы Яндекс.Вебмастера отобразится «Ошибка загрузки».
  2. Разрешите основному индексирующему роботу Яндекса скачивание файла: добавьте директиву Allow в файл  robots.txt.

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

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

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

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

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

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

<?xml version="1.0" encoding="windows-1251"?>
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <title>Название RSS-канала</title>
        <link>http://www.example.com/</link>
        <description>Краткое описание RSS-канала</description>
        <yandex:analytics type="Yandex" id="123456"></yandex:analytics>
        <yandex:adNetwork
         type="Yandex"
         id="идентификатор блока"
         turbo-ad-id="first_ad_place">
        </yandex:adNetwork>
        <yandex:adNetwork
         type="AdFox"
         turbo-ad-id="second_ad_place">
            <![CDATA[
                    <div id="идентификатор контейнера"></div>
                    <script>
                        window.Ya.adfoxCode.create({
                            ownerId: 123456,
                            containerId: 'идентификатор контейнера',
                            params: {
                                pp: 'g',
                                ps: 'cmic',
                                p2: 'fqem'
                            }
                        });
                    </script>
                 ]]>
        </yandex:adNetwork>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <author>Иван Иванов</author>
            <category>Технологии</category>
            <pubDate>Sun, 29 Sep 2002 19:59:01 +0300</pubDate>
            <turbo:content>
                <![CDATA[
                         <header>
                             <figure>
                                 <img src="http://example.com/img.jpg" />
                             </figure>
                             <h1>Заголовок страницы</h1>
                         </header>
                         <h2>Заголовок страницы</h2>
                         <p>Текст с <b>выделением</b> и списком:</p>
                         <ul>
                             <li>пункт 1;</li>
                             <li>пункт 2.</li>
                         </ul>
                         <figure data-turbo-ad-id="first_ad_place"></figure>
                         <figure>
                             <video>
                                 <source src="https://example.com/video.mp4"
                                  type="video/mp4" />
                             </video>
                             <img src="http://example.com/img-for-video.jpg" />
                             <figcaption>Подпись к видео</figcaption>
                         </figure>
                         <figure data-turbo-ad-id="second_ad_place"></figure>
                      ]]>
            </turbo:content>
            <yandex:related>
                <link
                 url="http://www.example.com/other-page.html"
                 img="http://www.example.com/image.jpg">Текст ссылки
                </link>
            </yandex:related>
        </item>
    </channel>
</rss>