Работа в режиме DEBUG

Раздел содержит инструкцию по загрузке RSS-канала в режиме DEBUG через API Яндекс.Турбо-страниц. Также вы можете загрузить RSS-канал с помощью специального Python-скрипта.

Примечание. В примерах ниже используются демонстрационные данные. Используйте свои данные для работы с API.

Ответ API может приходить в формате JSON или XML. По умолчанию возвращается JSON. Чтобы получить XML-ответ, передайте в запросе заголовок Accept: application/xml.

  1. Проверьте, что ваши права на управление сайтом подтверждены. Если это не так, подтвердите их. В следующем шаге используйте данные о user-id и host-id.
  2. Получите уникальный адрес. Этот адрес нужно получать для каждой новой отправки POST-запроса на добавление RSS-канала.

    В запросе укажите режим DEBUG. Он позволит проверить RSS-канал на ошибки и посмотреть, как будут выглядеть Турбо-страницы.

    GET https://api.webmaster.yandex.net/v3.2/user/{user-id}/hosts/{host-id}/turbo/uploadAddress/[?mode=DEBUG]
  3. Отправьте ваш RSS-канал на полученный уникальный адрес. В теле запроса передайте сформированный RSS-канал, а также тип данных application/rss+xml в заголовке Content-type:

    POST <upload_address>
    Content-type: application/rss+xml
    Пример отправляемого RSS-канала в формате XML
    <rss version="2.0" xmlns:yandex="http://news.yandex.ru" xmlns:turbo="http://turbo.yandex.ru">
      <channel>
        <item turbo="true">
          <title>Заголовок страницы</title>
          <link>http://khaliullin.info</link>
          <turbo:content>
            <![CDATA[
              <header>
                <h1>Ресторан «Полезный завтрак»</h1>
                <h2>Вкусно и полезно</h2>
                <figure>
                  <img src="https://avatars.mds.yandex.net/get-sbs-sd/403988/e6f459c3-8ada-44bf-a6c9-dbceb60f3757/orig">
                </figure>
                <menu>
                  <a href="http://khaliullin.info/page1.html">Пункт меню 1</a>
                  <a href="http://khaliullin.info/page2.html">Пункт меню 2</a>
                </menu>
              </header>
          	  <p>Как хорошо начать день? Вкусно и полезно позавтракать!</p>
              <p>Приходите к нам на завтрак. Фотографии наших блюд ищите <a href="#">на нашем сайте</a>.</p>
              <h2>Меню</h2>
              <figure>
                <img src="https://avatars.mds.yandex.net/get-sbs-sd/369181/49e3683c-ef58-4067-91f9-786222aa0e65/orig">
                <figcaption>Омлет с травами</figcaption>
              </figure>
              <p>В нашем меню всегда есть свежие, вкусные и полезные блюда.</p>
              <p>Убедитесь в этом сами.</p>
              <button formaction="tel:+7(123)456-78-90"
                data-background-color="#5B97B0"
                data-color="white"
                data-primary="true">Заказать столик</button>
              <div data-block="widget-feedback" data-stick="false">
                <div data-block="chat" data-type="whatsapp" data-url="https://whatsapp.com"></div>
                <div data-block="chat" data-type="telegram" data-url="http://telegram.com/"></div>
                <div data-block="chat" data-type="vkontakte" data-url="https://vk.com/"></div>
                <div data-block="chat" data-type="facebook" data-url="https://facebook.com"></div>
                <div data-block="chat" data-type="viber" data-url="https://viber.com"></div>
              </div>
              <p>Наш адрес: <a href="#">Nullam dolor massa, porta a nulla in, ultricies vehicula arcu.</a></p>
              <p>Фотографии — http://unsplash.com</p>
        	]]>
            </turbo:content>
        </item>
      </channel>
    </rss>

    Сервис начнет обработку задачи на добавление RSS-канала.

    Пример ответа
    {
       "task_id": "c7fe80c0-36e3-11e6-8b2d-df96aa592c0a"
    }
    Имя Обязательный Тип Описание
    task_id Да string Идентификатор задачи на добавление RSS-канала в Яндекс.Вебмастер.
  4. Получите информацию об обработке задачи, используя ее идентификатор.

    GET https://api.webmaster.yandex.net/v3.2/user/{user-id}/hosts/{host-id}/turbo/tasks/{task-id}
    Ответ может содержать:
    URL для предварительного просмотра Турбо-страниц

    Отображается, если в RSS-канале нет ошибок или они некритичные. Посмотреть пример отображения Турбо-страницы.

    Пример ответа
    {
      "mode": "DEBUG",
      "load_status": "OK",
      "turbo_pages": [
        {
          "link": "https://khaliullin.info",
          "preview": "https://yandex.ru/turbo?text=turboapidebughttp://khaliullin.info/&from=webmaster&ncrnd=7053150702082105819",
          "title": "Ресторан «Полезный завтрак»"
        }
      ],
      "errors": [],
      "stats": {
        "pages_count": 1,
        "errors_count": 0,
        "warnings_count": 0
      }
    }
    Ошибки, если они есть в RSS-канале

    Исправьте их и отправьте RSS-канал еще раз, получив уникальный адрес для его загрузки.

    Пример RSS-канала с ошибкой

    В примере отсутствует содержимое раздела ![CDATA[]].

    <rss version="2.0" xmlns:yandex="http://news.yandex.ru" xmlns:turbo="http://turbo.yandex.ru">
      <channel>
        <item turbo="true">
          <title>Заголовок страницы</title>
          <link>http://khaliullin.info</link>		
          <turbo:content>
            <![CDATA[
              
        	]]>
          </turbo:content>	
        </item>
      </channel>
    </rss>
    Пример ответа

    Ответ содержит информацию об обнаруженной ошибке с точностью до строки, столбца и элемента, который нужно проверить. Также ответ содержит ссылку на описание ошибки.

    {
      "mode": "PRODUCTION",
      "load_status": "ERROR",
      "turbo_pages": [],
      "errors": [
        {
          "error_code": "PARSER_BAD_FORMAT_NO_TEXT",
          "help_link": "https://tech.yandex.ru/webmaster/doc/dg/reference/turbo-errors-docpage/#turbo-about__turbo-parser-bad-format-no-text",
          "line": 1,
          "column": 486,
          "text": "<title/>",
          "context": null,
          "tag": "title"
        }
      ],
      "stats": {
        "pages_count": 0,
        "errors_count": 0,
        "warnings_count": 1
      }
    }

    Когда ошибки исправлены и вас устраивает отображение Турбо-страниц, получите уникальный адрес в режиме PRODUCTION и отправьте RSS-канал на полученный адрес.