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

seotags Проверка SEO-тегов по списку URL

Загружает страницы из списка и проверяет выбранные теги: Title, Description, H1–H6, Keywords, meta robots и Content-Type, canonical, alternate, теги акцентов. По каждому URL возвращает найденные значения и замечания к ним. Метод асинхронный: постановка возвращает report_id. То же в интерфейсе — проверка SEO-тегов, режим «Список URL»; задача из API видна в истории инструмента и скачивается там в CSV.

Режим
асинхронный: report_id
Стоимость
за каждый URL — как один запрос Яндекса; итог — в cost
URL
до 1000 уникальных
Тело
форма или JSON

Постановка задачи

POST /api/seotags

Параметры — в теле формы или JSON (Content-Type: application/json), ключ — в query.

Параметры query и тело формы

  • urls array обязательный
    Проверяемые страницы: массив urls[] или строка, по URL на строку. До 1000 уникальных, дубли и пустые строки отбрасываются. Если хоть один URL некорректен, задача не ставится.
  • checks array
    Какие теги проверять: массив checks[] или строка через запятую. Можно передать и флаги формы инструмента — check_title=on и т. п.; выбранное в checks и во флагах объединяется. Не передано ни того, ни другого — проверяются все теги; передано, но ничего не включено — ошибка. Значения: title, description, h1, h2_h6, keywords, meta_robots, meta_content_type, link_canonical, link_alternate, link_strong (strong и b), em_i (em и i).
  • parsing_type string
    Как загружать страницы.
    curl
    cURL, без браузера
    browser_no_js
    браузером без выполнения JavaScript
    browser_js
    браузером с выполнением JavaScript
    По умолчанию curl

Ответ

  • report_id int
    ID задачи для получения результата.

Получение результата

GET /api/seotags

Пока задача выполняется, приходит {"error": "In progress", "code": 50, "progress": 40}.

Параметры query

  • report_id int обязательный
    ID задачи из ответа на постановку.

Ответ

  • response.checks string[]
    Проверки, выбранные при постановке.
  • response.urls[] array
    Результат по каждому URL в порядке списка.
    Вложенные поля
    • url string
      Проверенный адрес.
    • processed bool
      false — страницу не удалось загрузить или разобрать, тогда вместо tags приходит error.
    • error string
      Только при processed=false.
    • tags object
      Ключи — выбранные проверки из checks. У каждой: values[] — найденные значения (value; message — замечание к значению или null; tag — для групп h2_h6, link_strong, em_i), errors[] — критические ошибки, warnings[] — на что обратить внимание (сюда же — замечания к тегу с пустым содержимым, например Title без текста). Пустой values — тег не найден или пуст.
  • time string
    Время готовности, Unix timestamp.
  • cost int
    Стоимость задачи в лимитах.

Ошибки

КодСообщениеКогда
-100 tools errors Ошибки параметров — список сообщений в details: нет URL, больше 1000 URL или есть некорректные, неизвестные значения в checks или parsing_type, не включено ни одной проверки, уже идут 5 задач. С errorType: TASK_START_FAIL — задачу не удалось поставить в очередь.
-51 No requests data Задача поставлена не методом POST.
-68, -80…-83 Not enough … limits Не хватает лимитов; в ответе available и need.
50 In progress Задача ещё выполняется; progress — процент готовности.
-4 Access denied report_id чужой или от другого инструмента.
-104…-107, -125 Processing error / Limits run out / … Задача завершилась ошибкой — см. асинхронные задачи.
-1, -2 Access denied Ключ не передан (HTTP 404) или не найден (HTTP 403).

Стоимость списывается при постановке и совпадает с запуском из интерфейса: за каждый URL — как за один запрос Яндекса по текущей шкале лимитов. Точная сумма задачи — в поле cost результата. Одновременно можно держать до 5 задач.

Нормы, по которым выдаются замечания (длина Title и Description, число заголовков и тегов акцентов), — те же, что у инструмента в интерфейсе.

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