Описание элементов RSS 2.0

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

Примечание. Для создания RSS-канала вы можете использовать специальный плагин. Плагины разработаны для систем 1С-Битрикс, Drupal, Joomla, WordPress и OpenCart.

Данные для Турбо-страниц экспортируются в XML-based формате 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. Передача информации о сайте-источнике
    1. Подключение систем веб-аналитики
    2. Подключение рекламы
  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>
turbo:analytics

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

turbo:adNetwork

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

item *

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

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

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

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

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

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

Подключение систем веб-аналитики

  1. Подключение поддерживаемых систем веб-аналитики
  2. Подключение произвольной системы веб-аналитики

Подключение поддерживаемых систем веб-аналитики

Вы можете подключить некоторые системы веб-аналитики с помощью специальных значений атрибута type элемента turbo:analytics.

Чтобы трафик на Турбо-страницах учитывался в разных системах статистики, в элемент channel добавьте сразу несколько элементов turbo:analytics. Также вы можете указывать неограниченное количество счетчиков каждой системы веб-аналитики.
Яндекс.Метрика
АтрибутОписание
type *Принимает значение Yandex.
id *Номер счетчика Яндекс.Метрики.
paramsИспользуйте для передачи параметров визитов.

Также вы можете передать в Яндекс.Метрику адрес страницы-источника и заголовок Турбо-страницы. Для этого в элементе item укажите элементы turbo:source и turbo:topic.

*Обязательный атрибут.

Как просматривать статистику по Турбо-страницам см. в Помощи Яндекс.Метрики.

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         id="номер счетчика"
         type="Yandex"
         params="{ 'param' : 'val' }">
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>
LiveInternet
Укажите атрибут type со значением LiveInternet.
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         type="LiveInternet">
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>

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

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         type="LiveInternet"
         params="Название счетчика">
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>
Google Analytics

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

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         id="идентификатор отслеживания"
         type="Google">
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>
Рейтинг Mail.RU

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

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         id="идентификатор счетчика"
         type="MailRu">
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>
Rambler Топ-100

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

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         id="идентификатор счетчика"
         type="Rambler">
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>
Mediascope (TNS)
Укажите атрибут type со значением Mediascope и атрибут id с номером счетчика.
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         id="идентификатор tmsec от Mediascope"
         type="Mediascope>
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>

Где найти идентификатор или номер счетчика.

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

Если ваша система веб-аналитики поддерживает установку в виде изображения (пикселя), вы можете подключить ее к Турбо-странице:
  1. Добавьте в элемент turbo:analytics атрибуты:
    • type * — со значением custom;
    • url * — с адресом пикселя системы статистики.
  2. Укажите в URL дополнительные параметры, которые хотите передавать в систему веб-аналитики:
    • {referrer} — реферер;
    • {referrerStarsEscaped} — реферер для Mediascope (с экранированным символом *), если вы хотите подключить эту систему, не указывая идентификатор;
    • {pageTitle} — заголовок страницы;
    • {originalURL} — URL местоположения оригинальной страницы;
    • {screenWidth} — ширина экрана;
    • {screenHeight} — высота экрана;
    • {random} — псевдослучайное число (на каждое вхождение в строке генерируется новое значение);
    • {requestId} — идентификатор запроса (одинаковый в рамках страницы);
    • {clientId} — идентификатор клиента (одинаковый для браузера пользователя).
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:analytics
         type="custom"
         url="http://some.doma.in/{screenWidth}*{clientId}/{random}/{originalURL}?title={pageTitle}" >
        </turbo:analytics>
        <item turbo="true">
            <link>http://www.example.com/page1.html</link>
            <turbo:content>
                ...
            </turbo:content>
        </item>
    </channel>
</rss>

Подключение рекламы

  1. В партнерском интерфейсе создайте рекламный блок для Турбо-страниц.
  2. В RSS-файл добавьте в элемент turbo:adNetwork атрибуты:
    • type со значением Yandex;
    • id с буквенно-числовым идентификатором рекламного блока;
    • turbo-ad-id с произвольным ID, указывающим место размещения рекламы.
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:adNetwork
         type="Yandex"
         id="идентификатор блока 1"
         turbo-ad-id="first_ad_place">
        </turbo:adNetwork>
        <turbo:adNetwork
         type="Yandex"
         id="идентификатор блока 2"
         turbo-ad-id="second_ad_place">
        </turbo:adNetwork>  
        <item turbo="true">
            ...
            <turbo:content>
                ...
                <figure data-turbo-ad-id="second_ad_place"></figure> 
            </turbo:content> 
        </item>
    </channel>
</rss>

Чтобы добавить несколько рекламных блоков, для каждого блока укажите отдельный элемент turbo:adNetwork с уникальным значением атрибута id. Если вы укажете одинаковое значение, отобразится только первый блок.

Чтобы указать место размещения рекламы на странице:
  1. Задайте для рекламного блока произвольный ID в качестве значения атрибута turbo-ad-id. Например, first_ad_place, second_ad_place.
  2. Укажите этот ID в качестве значения атрибута data-turbo-ad-id в элементе figure внутри элемента turbo:content.
Примечание. Если атрибут turbo-ad-id или его значение отсутствует, то отобразится только первый рекламный блок внизу Турбо-страницы. Если атрибут turbo-ad-id указан только для нескольких рекламных блоков, реклама не отобразится.

Где найти идентификатор рекламного блока или код вставки.

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

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

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

URL страницы сайта, для которой нужно сформировать Турбо-страницу.

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

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

turbo:sourceURL страницы-источника, который можно передать в Яндекс.Метрику.
turbo:topicЗаголовок страницы, который можно передать в Яндекс.Метрику.
pubDate

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

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

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

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

yandex:related

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

Непрерывная лента статей

Посмотрите пример отображения непрерывной ленты.

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

Добавьте в элемент yandex:related атрибут type со значением infinity. Внутри элемента yandex:related укажите элемент link со ссылкой на статью.

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

Оборачиваемый в элемент link текст не должен содержать HTML-элементы.

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               ...
           </turbo:content>
           <yandex:related type="infinity">
               <link
                url="http://www.example.com/page.html"
                img="http://www.example.com/image.png">Текст ссылки
               </link>
               <link
                url="http://www.example.com/page2.html"
                img="http://www.example.com/image2.png">Текст ссылки
               </link>
           </yandex:related>
        </item>
    </channel>
</rss>

Если вы подключили к Турбо-страницам рекламу с помощью ADFOX, на вкладке Параметры выберите в параметре Тип кода значение <неповторяющиеся баннеры>. Подробнее см. в Помощи ADFOX.

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

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               ...
           </turbo:content>
           <yandex:related type="infinity">
               <link
                url="http://www.example.com/page.html"
                img="http://www.example.com/image.png">Текст ссылки
               </link>
               <link
                url="http://www.example.com/page2.html"
                img="http://www.example.com/image2.png">Текст ссылки
               </link>
           </yandex:related>
        </item>
    </channel>
</rss>

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

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

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


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

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

Навигационное меню.

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

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
               ]]>           
           </turbo:content>
        </item>
    </channel>
</rss>
Оформление текста

Вы можете использоваться в RSS-канале следующие стандартные HTML-элементы:

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

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

p
Параграф.
<p>Параграф текста</p>
br
Перенос строки без отступа.
Текст<br>
hr
Разделитель в виде горизонтальной линии. Линия начинается с новой строки, а размещенные после нее элементы располагаются на следующей строке.
<p>Первое предложение</p>
<hr>
<p>Второе предложение</p>
Посмотреть пример отображения


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>
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст.</p>
                   <hr>
                   <p>Другой текст.</p>
                   <h2>Заголовок второго уровня</h2>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <ul>
                       <li>пункт 1;</li>
                       <li>пункт 2.</li>
                   </ul>
               ]]>
           </turbo:content>
        </item>
    </channel>
</rss>
Картинка в тексте


Поддерживаются форматы JPEG, PNG, GIF. Вы можете разместить картинку внутри абзаца (элемент p) или между абзацами. Для этого используйте элемент img, в атрибуте src укажите URL изображения.

...
    <img src="http://example.com/img.jpg" />
...
Примечание. GIF проигрывается автоматически, если размер изображения меньше 128 пикселей. Если размер изображения больше, содержимое воспроизводится по клику.
Чтобы разместить картинку с подписью, используйте элемент figure, который может содержать:
ЭлементОписание
figcaptionВидимая подпись картинки.
 ...
    <figure>
        <img src="http://example.com/img.jpg" />
        <figcaption>Подпись</figcaption>
    </figure>
...
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <ul>
                       <li>пункт 1;</li>
                       <li>пункт 2.</li>
                  </ul>
                  <figure>
                      <img src="https://avatars.mds.yandex.net/get-sbs-sd/403988/e6f459c3-8ada-44bf-a6c9-dbceb60f3757/orig">
                      <figcaption>Подпись</figcaption>
                  </figure>
                  <p>Фотографии — http://unsplash.com</p>
               ]]>
           </turbo:content>
        </item>
    </channel>
</rss>
Галерея медиа-контента со слайдером


Чтобы отобразить картинки в галерее со слайдером, используйте элемент div с вложенными элементами и следующими атрибутами:

АтрибутОписание
data-block *Принимает значение slider.
data-viewПозволяет задать форматирование картинок. Возможные значения:
  • square (по умолчанию) — квадрат;
  • portrait — портрет;
  • landscape — альбом.
data-item-viewВозможные значения:
  • cover (по умолчанию)— контент полностью покрывает слайдер, может обрезаться;
  • contain — контент масштабируется и отображается полностью.

* Обязательный атрибут.

Элемент div может содержать следующие вложенные элементы:

ЭлементОписание
headerОбщая подпись ко всем картинкам в слайдере. Отображается, если ни у одного элемента figure нет подписи.
figure *Может содержать элементы:
  • figcaption— подпись к отдельной картинке;
  • img — в качестве значения атрибута src может содержать URL, по которому доступна картинка;
  • a — в качестве значения атрибута href может содержать ссылку.

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

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img src="https://avatars.mds.yandex.net/get-sbs-sd/403988/e6f459c3-8ada-44bf-a6c9-dbceb60f3757/orig"/>
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <ul>
                       <li>пункт 1;</li>
                       <li>пункт 2.</li>
                  </ul>
                  <div data-block="slider">
                      <header>Подпись под всем слайдером</header>
                      <figure>
                          <figcaption>Подпись</figcaption>
                          <img src="https://avatars.mds.yandex.net/get-sbs-sd/403988/e6f459c3-8ada-44bf-a6c9-dbceb60f3757/orig"/>
                      </figure>
                      <figure>
                          <figcaption>Подпись</figcaption>
                          <img src="https://avatars.mds.yandex.net/get-sbs-sd/369181/49e3683c-ef58-4067-91f9-786222aa0e65/orig"/>
                      </figure>
                      <figure>
                          <figcaption>Подпись</figcaption>
                          <a href="http://example.com/page1.html">Текст ссылки</a>
                      </figure>
                  </div>
                  <p>Фотографии — http://unsplash.com</p>
               ]]>
           </turbo:content>
        </item>
    </channel>
</rss>
Видео в тексте


Вы можете добавить на Турбо-страницу видео, размещенные на вашем сайте или на сторонних ресурсах.

Поддерживается формат 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>
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <ul>
                       <li>пункт 1;</li>
                       <li>пункт 2.</li>
                   </ul>
                   <figure>
                       <video>
                           <source
                            src="https://example.com/video.mp4"
                            type="video/mp4" />
                       </video>
                   </figure>
                ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Блок «Поделиться»


Чтобы разместить на Турбо-странице блок «Поделиться», используйте элемент div, который может содержать:

АтрибутОписание
data-block *

Принимает значение share.

data-networkВы можете указать одно или несколько значений через запятую:
  • facebook;
  • google;
  • odnoklassniki;
  • telegram;
  • twitter;
  • vkontakte.

Если атрибут data-network не указан, будут подключены все перечисленные выше сервисы.

<div data-block="share" data-network="twitter, facebook"></div> 
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <div data-block="share" data-network="twitter, facebook"></div>
                ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Цитаты в тексте


Для оформления цитаты в тексте используйте элемент blockquote. Он может содержать поддерживаемые HTML-элементы. Чтобы разместить в цитате картинку, используйте элемент figure.

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <blockquote>
                       <p>Текст</p>
                       <figure>
                           <img src="http://example.com/img.jpg" />
                           <figcaption>Подпись</figcaption>
                       </figure>
                   </blockquote>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Таблицы в тексте


Чтобы сделать рамку таблицы прозрачной, используйте в элементе table атрибут data-invisible со значением true.
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <table data-invisible="true">
                       <tr><!--Заголовок таблицы-->
                           <th>Первый столбец</th>
                           <th>Второй столбец</th>
                       </tr>
                       <tr><!--Строка таблицы-->
                           <td>Первый столбец</td>
                           <td>Второй столбец</td>
                       </tr>
                  </table>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Элементы меню

На Турбо-странице может отображаться значок . Когда пользователь нажмет на него, элементы навигации отобразятся в виде блока ссылок с заголовком Меню.



Чтобы разместить на Турбо-странице меню, используйте элемент menu. Укажите его при оформлении шапки страницы, в элементе header.

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

<header>
    ...
    <menu>
      <a href="http://example.com/page1.html">Текст ссылки</a>
      <a href="http://example.com/page2.html">Текст ссылки</a>
    </menu>
</header>
Встраиваемый социальный контент
Facebook
Вы можете добавить на Турбо-страницы социальные плагины Facebook. Например, разместить отдельные публикации и страницы вашей компании или дать возможность пользователю прокомментировать страницу через его аккаунт на Facebook.
ВКонтакте
Вы можете добавить на Турбо-страницу встраиваемый контент ВКонтакте. Например, разместить пост, дать возможность пользователю поделиться страницей или проголосовать.
Одноклассники
Вы можете добавить на Турбо-страницы видео, блок, рекламирующий вашу группу, и кнопку «Поделиться». Подробнее.
Instagram и Twitter


Чтобы разместить на Турбо-странице встраиваемый контенты:
  1. Скопируйте код для встраивания ресурса.
  2. Добавьте скопированный код в тег <![CDATA[]]> внутри элемента turbo:content.

Пример:

...
<turbo:content>
    <![CDATA[
        <!--Код для встраивания-->
    ]]>
</turbo:content>
...
Встраиваемые Яндекс.Карты


Размер карты масштабируется под экран мобильного устройства, с которого посетитель просматривает Турбо-страницу.

Чтобы разместить на Турбо-странице карту:
  1. На Яндекс.Картах получите код карты в iframe.
  2. Добавьте скопированный код в раздел <![CDATA[]]> внутри элемента turbo:content.

Пример:

...
<turbo:content>
    <![CDATA[
        <iframe src="https://yandex.ru/map-widget/v1/-/CBucU6V~8B"></iframe>
    ]]>
</turbo:content>
...
Комментарии


Используйте древовидную структуру элемента div. Количество уровней вложенности не ограничено.

Примечание. Обрабатываются первые 40 комментариев (содержимое элемента div со значением comment атрибута data-block).
АтрибутОписание
data-block *
Принимает значения:
data-author *Принимает значение author — имя автора комментария.
data-avatar-urlСсылка на аватар автора комментария. Картинка должна быть в формате JPG или PNG, не меньше 64 × 64 пикселей.
data-subtitleДополнительная строка информации, например дата комментария. Располагается под именем автора.
data-urlИспользуется только в элементе div верхнего уровня. Ссылка на страницу добавления комментариев.

Содержимое комментария:

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

Заголовок комментария. Располагается над текстом комментария.

HTML-элементыПоддерживаемые HTML-элементы.
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <div data-block="comments" data-url="http://example.com/comments">
                       <div
                        data-block="comment"
                        data-author="author" 
                        data-avatar-url="http://example.com/img.png" 
                        data-subtitle="2017-12-10"
                       >
                           <div data-block="content">
                               <header>Заголовок первого комментария</header>
                               <p>
                                   <b>Текст</b> комментария
                                   <a href="https://example.com">Текст ссылки</a>
                               </p>
                           </div>
                           <div data-block="comments"> 
                               <div 
                                data-block="comment"
                                data-author="author2">
                                   <!--Ответ на первый комментарий-->
                               </div> 
                           </div>  
                       </div>
                       <div
                        data-block="comment"
                        data-author="author"> 
                           <div data-block="content">
                               <!--Содержимое второго комментария-->
                           </div>
                       </div>  
                   </div>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Рейтинг


Рейтинги на Турбо-странице реализованы по протоколу schema.org/Rating. Чтобы добавить рейтинг, используйте элемент div с вложенным элементом meta.

Элемент div содержит следующие обязательные атрибуты:

АтрибутОписание
itemscopeНе принимает значений.
itemtypeПринимает значение http://schema.org/Rating.

Элемент meta содержит следующие обязательные атрибуты:

АтрибутОписание
itemprop
Принимает значения:
  • ratingValue — значение рейтинга;
  • bestRating — максимальное значение рейтинга.
content

В качестве значения укажите любое положительное число.

Количество звезд всегда равно 5 не зависимо от максимального значения рейтинга. Например, если вы укажете атрибут ratingValue со значением 5 и атрибут bestRating со значением 10, то выделятся 2,5 звезды.

Посмотреть пример


<div itemscope itemtype="http://schema.org/Rating">
    <meta itemprop="ratingValue" content="5">
    <meta itemprop="bestRating" content="10">
</div>
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <div itemscope itemtype="http://schema.org/Rating">
                       <meta itemprop="ratingValue" content="3">
                       <meta itemprop="bestRating" content="5">
                   </div>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Блок обратной связи


Используйте вложенную структуру элемента div. Головной элемент содержит:

АтрибутОписание
data-block

Принимает значение widget-feedback.

data-titleПринимает произвольное текстовое значение. Например, «Обратная связь». Отображается на Турбо-странице, если вы передаете атрибут data-stick со значением false.
data-stick
Позволяет выравнивать блок. Возможные значения:
  • left — выравнивание по левому краю страницы. При таком расположении вы можете разместить до четырех кнопок. Кнопки будут расположены вертикально.
  • right — выравнивание по правому краю страницы. При таком расположении вы можете разместить до четырех кнопок. Кнопки будут расположены вертикально.
  • false — блок будет расположен в том месте страницы, где он указан в RSS-канале. В этом случае количество кнопок не ограничено — пользователь сможет прокрутить блок до нужной кнопки.

С помощью вложенных элементов вы можете передать тип обратной связи и контактную информацию:

АтрибутОписание
data-typeПозволяет передать тип связи. Возможные значения:
  • call — позволяет указать номер телефона;
  • chat — позволяет добавить чат для бизнеса;
  • mail — позволяет указать адрес электронной почты;
  • callback — позволяет добавить форму обратной связи, которая при нажатии кнопки откроется поверх содержимого страницы.
Следующие значения определяют мессенджер или социальную сеть:
  • facebook;
  • google;
  • odnoklassniki;
  • telegram;
  • twitter;
  • viber;
  • vkontakte;
  • whatsapp.
data-url

Позволяет передать контактную информацию. Используйте только для типов связи call и mail, а также мессенджеров.

Возможные значения:
  • номер телефона или ссылка вида tel:<номер телефона>;
  • адрес электронной почты или ссылка вида mailto:<адрес>;
  • URL, по которому доступен чат или канал в мессенджере;
  • URL, по которому доступна страница социальной сети (группа, контакт и др.).
data-send-to
Позволяет указать адрес электронной почты, на который будет отправлено обращение пользователя. Используйте для типа связи callback.
Примечание. Укажите адрес, размещенный на вашем домене, а не на сторонних почтовых ресурсах. Если у вас нет такого адреса, воспользуйтесь сервисами-посредниками, например Яндекс.Почта для домена.
data-agreement-company **Позволяет указать юридическое название вашей организации. Например, ООО «Ромашка». Используйте для типа связи callback.
data-agreement-link ***Позволяет указать ссылку на пользовательское соглашение о предоставлении обратной связи. Используйте для типа связи callback.

** Атрибут становится обязательным, если указан атрибут data-agreement-link.

Как добавить чат для бизнеса

Чат для бизнеса работает на базе платформы Jivosite.

  1. В приложении Jivosite создайте специальный канал связи Яндекс.
  2. В сервисе Яндекс.Диалоги создайте чат для страницы или сайта.

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

  3. Добавьте элемент div с атрибутом data-type и значением chat в блок обратной связи вашего RSS-канала.

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

Примеры элементов в блоке обратной связи
Вызов звонка
...
<div data-block="widget-feedback" data-title="Обратная связь" data-stick="right">
    <div data-type="call" data-url="+7 012 345-67-89"></div>
</div>
...
Отправка письма
...
<div data-block="widget-feedback" data-title="Обратная связь" data-stick="right">
    <div data-type="mail" data-url="mailto:mail@example.com"></div>
</div>
...
Вызов формы обратной связи
...
<div data-block="widget-feedback" data-title="Обратная связь" data-stick="right">
    <div data-type="callback"
         data-send-to="mail@example.com"
         data-agreement-company="ООО Ромашка"
         data-agreement-link="http://example.com">
    </div>
</div>
...
Вызов Чата для бизнеса
...
<div data-block="widget-feedback" data-title="Обратная связь" data-stick="right">
    <div data-type="chat"></div>
</div>
...
Вызов чата в мессенджере
...
<div data-block="widget-feedback" data-title="Обратная связь" data-stick="right">
    <div data-type="telegram" data-url="https://t.me/example"></div>
</div>
...
Общий пример
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <div data-block="widget-feedback" data-title="Обратная связь" data-stick="right">
                       <div data-type="call" data-url="+7 012 345-67-89"></div>
                       <div data-type="telegram" data-url="https://t.me/example"></div>
                       <div data-type="mail" data-url="mailto:mail@example.com"></div>
                       <div data-type="chat"></div>
                   </div>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Форма обратной связи
Вы можете добавить на Турбо-страницу форму обратной связи. Поля формы предопределены:
  • телефон;
  • имя;
  • вопрос.
Форму можно разместить несколькими способами:


В этом случае используйте элемент form со следующими атрибутами:
АтрибутОписание
data-typeПринимает значение callback.
data-send-to *
Позволяет указать адрес электронной почты, на который будет отправлено обращение пользователя.
Примечание. Используйте адрес, размещенный на вашем домене, а не на сторонних почтовых ресурсах. Если у вас нет такого адреса, воспользуйтесь сервисами-посредниками, например Яндекс.Почта для домена.
data-agreement-company **Позволяет указать юридическое название вашей организации. Например, ООО «Ромашка».
data-agreement-link ***Позволяет указать ссылку на пользовательское соглашение о предоставлении обратной связи.

* Обязательный атрибут.

** Атрибут становится обязательным, если указан атрибут data-agreement-link.

*** Атрибут становится обязательным, если указан атрибут data-agreement-company.

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <form
                    data-type="callback"
                    data-send-to="mail@example.com"
                    data-agreement-company="ООО Ромашка"
                    data-agreement-link="http://example.com">
                   </form>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Кнопка с произвольным содержимым

При нажатии такой кнопки пользователь может позвонить по указанному номеру или перейти на ваш сайт, например на страницу оформления заказа.



Чтобы использовать кнопку, придумайте ее название и оберните текст в элемент button. Элемент может включать в себя следующие атрибуты и их значения:

АтрибутОписание
formaction *Возможные значения:
  • номер телефона в формате RFC-3966, например tel:+7 012 345-67-89;
  • URL, ведущий на страницу сайта или чат в мессенджере.
data-background-color

Цвет кнопки. Возможные значения:

  • текстовое, например white;
  • HEX, например #FFFFFF.

Если атрибут не указан, используется серый цвет.

Таблица «безопасных» цветов, рекомендуемых для экранного дизайна.

data-color

Цвет текста. Возможные значения:

  • текстовое, например white;
  • HEX, например #FFFFFF.

Если атрибут не указан, используется серый цвет.

Таблица «безопасных» цветов, рекомендуемых для экранного дизайна.

data-primary
Выделение текста жирным. Возможные значения:
  • true;
  • false.
disabledПозволяет отобразить кнопку неактивной.

* Обязательный атрибут.

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <button
                    formaction="tel:+7 012 345-67-89"
                    data-background-color="white"
                    data-color="black"
                    data-primary="true">8 800 123-45-67</button>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Оформление содержимого в виде аккордеона


Вы можете использовать вертикально сложенный список элементов. Каждый элемент списка может быть развернут или свернут.

Используйте вложенную структуру элемента div. Головной элемент содержит:

АтрибутОписание
data-block *Принимает значение accordion.

Вложенные элементы div могут содержать:

АтрибутОписание
data-block *Элемент списка. Принимает значение item.
data-title *Название элемента в списке.
data-expanded

Позволяет отображать элемент раскрытым. По умолчанию элемент скрыт. Возможные значения:

  • true;
  • false.

* Обязательный атрибут.

<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Текст с <b>выделением</b> и списком:</p>
                   <img src="http://example.com/img.jpg" />
                   <div data-block="accordion">
                       <div data-block="item" data-title="Москва">Текст</div>
                       <div data-block="item" data-title="Санкт-Петербург" data-expanded="true">Текст</div>
                   </div>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>
Позиция рекламного блока
Внимание. Не добавляйте рекламные блоки чаще, чем через каждые 250 слов страницы. Часто расположенная реклама ухудшает читаемость сообщений на Турбо-страницах. Из-за этого со временем пользователи могут перестать переходить на ваши страницы.
Чтобы указать место на странице, где должен размещаться рекламный блок, используйте элемент figure. Он должен содержать атрибут data-turbo-ad-id со значением, указанным в элементе turbo:adNetwork или на странице Турбо-страницы → Настройки Яндекс.Вебмастера. О том, как указать рекламу в интерфейсе, см. раздел Добавление информации о сайте.
<rss
    xmlns:yandex="http://news.yandex.ru"
    xmlns:media="http://search.yahoo.com/mrss/"
    xmlns:turbo="http://turbo.yandex.ru"
    version="2.0"
>
    <channel>
        <turbo:adNetwork
         type="Yandex"
         id="идентификатор блока"
         turbo-ad-id="first_ad_place">
        </turbo:adNetwork>
        <item turbo="true">
           <link>http://www.example.com/page1.html</link>
           <turbo:content>
               <![CDATA[
                   <header>
                       <figure>
                           <img
                            src="http://example.com/img.jpg" />
                       </figure>
                       <h1>Заголовок страницы</h1>
                       <menu>
                           <a href="http://example.com/page1.html">Текст ссылки</a>
                           <a href="http://example.com/page2.html">Текст ссылки</a>
                       </menu>
                   </header>
                   <p>Первый абзац текста</p>
                   <img src="http://example.com/img.jpg" />
                   <p>Второй абзац текста</p>
                   <figure data-turbo-ad-id="first_ad_place"></figure>
               ]]>
           </turbo:content>
       </item>
    </channel>
</rss>

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

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

Во всех элементах RSS-файла, кроме содержимого тега <![CDATA[]]>, необходимо кодировать следующие символы:

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

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