struktura Структура сайта по индексу Яндекса
Восстанавливает структуру сайта по индексу Яндекса: находит разделы первого и второго уровня, считает, сколько страниц каждого раздела в индексе, и какую долю сайта он занимает. Метод синхронный — результат приходит в ответе на тот же запрос.
- Режим
- синхронный, ответ до нескольких минут
- Поисковая система
- Яндекс, регион Москва (
213) - Лимиты
- нужен положительный остаток; за вызов не списываются
Структура сайта
/api/struktura
Сначала метод собирает папки первого уровня из выдачи по url:домен/* и дособирает менее крупные, исключая семь самых больших. Затем «разворачивает» до второго уровня семь крупнейших разделов и для каждой найденной папки запрашивает число документов в индексе.
Параметры query
-
keystring обязательныйКлюч API из настроек аккаунта. -
domainstring обязательныйДомен сайта. Можно передать в query или в теле POST.
Ответ
Во всех трёх словарях ключ — раздел. Первый ключ — корень сайта в виде домен/, остальные — пути от корня: /uslugi/, /uslugi/seo. Разделы отсортированы по убыванию числа документов. Если по домену в индексе ничего нет, приходит пустой массив [].
-
allobjectРаздел → число документов в индексе Яндекса. У корня — всего по сайту, строкой. -
percentobjectРаздел → доля от всего сайта в процентах, до 0,1. -
count_slashobjectРаздел → число слешей в ключе. Нужно, чтобы вывести разделы деревом: чем больше, тем глубже вложенность. -
firstobjectКорень сайта отдельно.Вложенные поля
-
domainstringКорень, как первый ключ словарей:домен/. -
countstringДокументов в индексе по всему сайту.
-
Ошибки
| Код | Сообщение | Когда |
|---|---|---|
-50 |
Not set |
Не передан domain. Имя параметра приходит ключом ответа, HTTP-код 200. |
-1 |
Access denied |
Не передан key. HTTP 404. |
-2 |
Access denied |
Ключ не найден. HTTP 403. |
-68, -80…-83 |
Not enough … limits |
Лимиты исчерпаны: дневные (-68), часовые (-80), недельные (-81), месячные (-82), годовые (-83). В ответе также available и need. |
Метод делает несколько десятков запросов к выдаче Яндекса, поэтому ответ может идти несколько минут — ставьте таймаут HTTP-клиента с запасом. Число документов — оценка Яндекса для оператора url:, а не точный счёт страниц. Раздел, по которому Яндекс ничего не нашёл, получает 1, а не 0.
Параметр pages_min из прежней документации метод читает, но в расчёте не использует: разделы с малым числом страниц не отсекаются. Фильтруйте по all на своей стороне.