Справочник запросов API IndexNow

С помощью API можно отправить URL одной или нескольких страниц сайта в Яндекс с поддержкой протокола IndexNow.

Отправка одной страницы

GET https://yandex.com/indexnow
  ? url=<String>
  & key=<String>
  & [keyLocation=<String>]

Параметр

Тип

Обязательно

Описание

url

String

Да

Адрес страницы, данные о которой вы хотите передавать. Должен соответствовать стандарту RFC3986.

key

String

Да

Ключ для подтверждения прав на сайт. При отправке запроса поисковая система сверяет это значение с содержимым файла.

keyLocation

String

Нет

Указание на расположение файла с ключом, если он размещен не в корневой директории сайта.

HTTP-код 200 OK

content-type: application/json

Другие коды ответа:

Код

Причина

Описание

202

Accepted

Новый ключ ожидает проверки. Если вы уверены в корректности ключа, подождите некоторое время и отправьте несколько других адресов.

Если код изменился на 200 OK, ключ проверен и адреса переданы.

Если остался код 202, ключ не добавлен в базу после проверки. Подождите еще.

403

Invalid key

Ключ не удалось загрузить или он не подходит к указанным в запросе адресам.

405

Method not allowed

Методы GET и POST поддерживаются.

422

Invalid key location

Параметр keyLocation указан неверно.

422

Invalid url

В запросе указан неверный URL-адрес или переданный ключ не подходит для его обработки.

422

Key must be at least 8 characters

Ключ включает в себя меньше 8 символов.

422

Key must be no longer than 128 characters

Ключ включает в себя больше 128 символов.

422

Key must consist of a-Z0-9 or '-'

Ключ содержит неподходящие символы.

422

No key provided

В запросе отсутствует параметр key.

422

No url provided

В запросе отсутствует параметр url.

429

Too Many Requests

Превышено количество запросов для одного IP-адреса.

Отправка нескольких страниц

POST https://yandex.com/indexnow

Чтобы передавать информацию о нескольких страницах, используйте формат JSON:

POST /indexnow HTTP/1.1
Content-Type: application/json; charset=utf-8
Content-Length: 286
Host: yandex.com
{
  "host": "www.example.com",
  "key": "EdD8dkmdNLlxREi2LkhJjYOH2kyQbJqM3cBKT5fX",
  "keyLocation": "https://www.example.com/myIndexNowKey63638.html",
  "urlList": [
    "https://www.example.com/url1",
    "https://www.example.com/folder/url2",
    "https://www.example.com/url3"
  ]
}

Параметр

Тип

Обязательно

Описание

host

String

Да

Адрес вашего сайта.

key

String

Да

Ключ для подтверждения прав на сайт.

keyLocation

String

Нет

Указание на расположение ключа, если он размещен не в корневой директории сайта.

urlList

Array

Да

Содержит адреса страниц (String), данные о которых вы хотите передавать.

В одном запросе можно передавать до 10 000 адресов.

HTTP-код 200 OK

content-type: application/json

Другие коды ответа:

Код

Причина

Описание

202

Accepted

Новый ключ ожидает проверки. Если вы уверены в корректности ключа, подождите некоторое время и отправьте несколько других адресов.

Если код изменился на 200 OK, ключ проверен и адреса переданы.

Если остался код 202, ключ не был добавлен в базу после проверки. Подждите еще.

400

Invalid params

В теле запроса переданы некорректные параметры.

403

Invalid key

Ключ не удалось загрузить или он не подходит к указанным в запросе адресам.

405

Method not allowed

Методы GET и POST поддерживаются.

422

Invalid key location

Параметр keyLocation указан неверно.

422

Invalid url

В запросе указан неверный URL-адрес или переданный ключ не подходит для его обработки.

422

Key must be at least 8 characters

Ключ включает в себя меньше 8 символов.

422

Key must be no longer than 128 characters

Ключ включает в себя больше 128 символов.

422

Key must consist of a-Z0-9 or '-'

Ключ содержит неподходящие символы.

422

No host provided

В запросе отсутствует параметр host.

422

No key provided

В запросе отсутствует параметр key.

422

No more than 10000 urls allowed

Параметр urlList содержит больше 10 000 URL-адресов.

422

No url provided

В запросе отсутствует параметр url.

422

Url list has to be an array

Отсутствует параметр urlList или он не является массивом.

422

Url list cannot be empty

Передан пустой параметр urlList.

422

Url has to be an array of string

Параметр urlList должен содержать данные типа String.

429

Too Many Requests

Превышено количество запросов для одного IP-адреса.

Вопросы и ответы

Насколько часто можно передавать запросы?

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

Можно ли отправлять один и тот же URL-адрес несколько раз в день?

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

Если страница часто обновляется, используйте другие способы для сообщения об этом Яндексу.

Можно ли отправлять страницы с HTTP-кодом 404 через API?

Да, можно использовать IndexNow, чтобы сообщать о страницах с кодом 404 или 410.

Можно ли передавать страницы с HTTP-кодом 301 или 302 (перенаправление)?

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

Написать в службу поддержки

Если у вас есть вопрос о работе инструмента, выберите подходящий вариант:

Посмотрите рекомендации в разделе Почему страницы долго не появляются в поиске.

Страницы отправлены на переобход, но не появились в поиске

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

Страницы не пропали из поиска спустя две недели