Инструменты · key

struktura Структура сайта по индексу Яндекса

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

Режим
синхронный, ответ до нескольких минут
Поисковая система
Яндекс, регион Москва (213)
Лимиты
нужен положительный остаток; за вызов не списываются

Структура сайта

GET /api/struktura

Сначала метод собирает папки первого уровня из выдачи по url:домен/* и дособирает менее крупные, исключая семь самых больших. Затем «разворачивает» до второго уровня семь крупнейших разделов и для каждой найденной папки запрашивает число документов в индексе.

Параметры query

  • key string обязательный
  • domain string обязательный
    Домен сайта. Можно передать в query или в теле POST.

Ответ

Во всех трёх словарях ключ — раздел. Первый ключ — корень сайта в виде домен/, остальные — пути от корня: /uslugi/, /uslugi/seo. Разделы отсортированы по убыванию числа документов. Если по домену в индексе ничего нет, приходит пустой массив [].

  • all object
    Раздел → число документов в индексе Яндекса. У корня — всего по сайту, строкой.
  • percent object
    Раздел → доля от всего сайта в процентах, до 0,1.
  • count_slash object
    Раздел → число слешей в ключе. Нужно, чтобы вывести разделы деревом: чем больше, тем глубже вложенность.
  • first object
    Корень сайта отдельно.
    Вложенные поля
    • domain string
      Корень, как первый ключ словарей: домен/.
    • count string
      Документов в индексе по всему сайту.

Ошибки

КодСообщениеКогда
-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 на своей стороне.

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