Подключение любого сайта через вебхук

📅 16 сентября 2026 г.3 мин чтения
Содержание

Кому подходит

Если ваш сайт работает не на WordPress, Битриксе, InSales или Joomla — статьи можно доставлять вебхуком. Мы отправляем готовую статью POST-запросом на адрес, который вы указали, а небольшой обработчик на вашей стороне сохраняет её так, как принято в вашем проекте.

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

Шаг 1. Добавьте сайт

  1. Откройте Сайты → Добавить сайт.
  2. Выберите платформу Любой сайт.
  3. Укажите название, адрес сайта и адрес будущего обработчика — например https://ваш-сайт.ru/api/seowriter.
  4. Нажмите Сохранить и получить ключ.

Сразу после сохранения мы покажем секретный ключ. Он виден целиком один раз — скопируйте его и положите в настройки своего сайта. Порядок именно такой: без ключа обработчик не написать, поэтому проверка подключения идёт последним шагом, а не первым.

Шаг 2. Поставьте обработчик

Возьмите готовый файл под свой стек — ссылки на них есть на экране с ключом и в настройках сайта:

  • Next.js — роут для App Router;
  • PHP — один файл, кладётся в корень сайта;
  • Laravel — контроллер и маршрут;
  • Python — view для Django и вариант для FastAPI.

Можно поручить задачу ИИ-ассистенту: на странице «Публикация на любой сайт» есть готовое задание для Claude Code, Cursor или Codex — оно описывает контракт без секретов, и ассистент встроит обработчик по правилам вашей кодовой базы.

Ключ добавьте в переменные окружения проекта под именем SEOWRITER_SECRET и перезапустите приложение.

Шаг 3. Проверьте подключение

Вернитесь в Настройки сайта и нажмите Проверить подключение — мы отправим проверочный запрос и покажем, что ответил ваш сервер. Затем нажмите Отправить пробную статью: придёт настоящее событие с демонстрационным содержимым, но месячный лимит статей при этом не расходуется.

Что приходит в запросе

В теле запроса не только HTML. Отдельными полями приезжают заголовок и H1, ЧПУ, мета-заголовок и описание, обложка и картинки ссылками, вопросы с ответами для блока FAQ, микроразметка Schema.org, категория и постоянный идентификатор статьи.

Идентификатор article.id не меняется между отправками — ищите запись по нему и обновляйте, тогда повторная доставка не создаст дубль.

Что стоит вернуть в ответе

Достаточно кода 200. Но если вернуть {"ok": true, "url": "адрес статьи"}, у вас заработают внутренняя перелинковка между статьями, отправка в IndexNow и анонсы в соцсетях — все они опираются на адрес опубликованной страницы.

Требования к обработчику

  • Отвечайте быстро, а тяжёлую обработку выносите в фоновую задачу — мы ждём ответа тридцать секунд.
  • Обрабатывайте оба события: article.published и article.updated. Через обновление приезжает обложка, если её дорисовали уже после публикации.
  • Не отвечайте переадресацией — она считается ошибкой доставки.
  • Если сайт за nginx, поднимите client_max_body_size хотя бы до 5 МБ: длинная статья не помещается в стандартный лимит в один мегабайт.
  • Следите за синхронизацией часов на сервере — от времени зависит проверка подписи.

Смена ключа

Ключ можно перевыпустить в настройках сайта. Сутки после этого запросы подписываются старым и новым ключом одновременно, чтобы обработчик успел обновиться без простоя. Поэтому обработчик обязан проверять все подписи из заголовка, а не только первую.

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

Была ли статья полезна?