Устранение проблемОбновлено: 2026-11-03

Сбой проверки подключения Site API

Найдите и устраните причину ошибки «Test failed»: токен, подпись, неверный URL, редиректы, таймауты или сброс заголовка Authorization в Apache.

Открыть этот экран в панели

Site API позволяет SEOAsist отправлять исправления, контент и llms.txt на сайт, который вы разработали самостоятельно. Кнопка "Test connection" отправляет подписанный запрос на эндпоинт /manifest вашего сайта. Если тест завершается со сбоем, подключение остается в статусе "Error", и ничего не отправляется.

Симптомы

На карточке Site API на вкладке сайта "Fix channels" отображается «Test failed: …». Текст после двоеточия указывает на причину:

Текст ошибкиЗначение
token rejected / unauthorized (401, 403)Ваш сайт не принял токен или подпись
endpoint not found (is the Site API installed at this URL?) (404)По этому URL нет эндпоинтов Site API
redirect to … (use the final API URL)URL перенаправляет на другой адрес
timeoutСайт не ответил в течение 25 секунд
non-JSON responseОтвет не является JSON (например, HTML-страница)
unexpected manifest (spec "…")Поле spec в /manifest заполнено неверно

Решение

  1. 401 / 403: Токен в панели должен точно совпадать с переменной окружения SEOASIST_SITE_TOKEN на вашем сайте. Перезапустите сайт после установки переменной. Если вы потеряли токен, сгенерируйте "New token"; старый токен сразу же прекратит работать.
  2. На сервере Apache заголовок Authorization может не передаваться в PHP. Добавьте эту строку в ваш файл .htaccess: SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
  3. Ошибки подписи (signature errors): Подпись рассчитывается как HMAC-SHA256(token, "<timestamp>.<raw body>"). Для GET-запросов тело (body) пустое. Временные метки (timestamps) старше 300 секунд отклоняются, поэтому часы сервера должны быть настроены точно.
  4. 404: Укажите общий корень эндпоинтов в качестве "API base URL" (например, https://example.com/api/seoasist). Не добавляйте /manifest; SEOAsist добавляет его автоматически. После изменения нажмите "Save URL".
  5. Редиректы: Site API ни в коем случае не должен выполнять редирект. Сохраните конечный адрес из текста ошибки (например, с https:// или www) в поле "API base URL".
  6. Таймауты: Убедитесь, что сайт доступен из публичного интернета. Локальные и внутрисетевые адреса отклоняются. Файрволы и защита от ботов не должны блокировать запросы SEOAsist.
  7. Манифест: /manifest должен возвращать JSON вида {"spec":"seoasist-site-api/1","capabilities":["rules","content","files"]}. Указывайте только те возможности (capabilities), которые вы реально реализовали. На мультиязычном сайте укажите языки, на которых вы можете публиковать контент, с помощью необязательного поля "locales":["tr","en"].
  8. Нажмите "Test connection" еще раз. Как только проверка пройдет успешно, накопленные правила будут отправлены незамедлительно.
tip

Команда curl на вкладке "Test" руководства для разработчиков отправляет точно такой же подписанный запрос из вашего терминала. Вы можете отладить проблему там перед проверкой в панели.

Все еще не работает?

Тест прошел успешно, так почему правила не отображаются на странице?

Тест проверяет только эндпоинт /manifest. Применение правил на сервере во время рендеринга страницы полностью зависит от вашего кода. Если на карточке указано «last push … rules», значит, правила успешно дошли до вашего сайта. Сравните ваш код со справочником по Site API.

Переведенная публикация удержана со статусом «Not published, language mismatch». Почему?

Site API принимает публикации только на тех языках, которые поддерживает сайт: из списка "Site languages" (если он задан) либо основной язык плюс locales, о которых сообщает ваш /manifest. Добавьте язык в locales в манифесте (или в список языков сайта); SEOAsist повторно считывает манифест перед удержанием публикации, поэтому достаточно выполнить публикацию еще раз. См. настройку Site API.

Отправка не удается с ошибкой «This site is outside your CoSuite site allowance; it is read-only.»

Это происходит только в организациях с оплатой через CoSuite: сайты сверх лимита CoSuite остаются доступными для чтения, но не могут быть изменены. Увеличьте лимит сайтов в CoSuite или удалите другой сайт. Организации, оплачивающие собственный тарифный план, никогда не сталкиваются с этой ошибкой.

Я хочу настроить всё с нуля. С чего начать?

Скопируйте "Setup prompt" с карточки и передайте его ИИ-ассистенту для кодинга или разработчику, работающему над вашим проектом. Пошаговые инструкции см. в разделе Настройка Site API.

Была ли эта статья полезной?
Не нашли нужное?
Опишите проблему, и наша команда ответит по e-mail.
Связаться с нами