Планировщик трафика, который думает прежде чем кликать

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

Стек

  • Next.js 14
  • Claude
  • Prisma
  • PostgreSQL

рабочий процесс планирования

Построили модуль планирования, связывающий подбор запросов, анализ SERP и моделирование трафика в один процесс. Всё начинается с запросов — оператор загружает целевые ключи, система через XMLStock тянет свежие данные SERP: где сейчас стоят страницы клиента, кто занимает топ, как распределяются клики по позициям для каждого запроса. Claude анализирует конкурентный ландшафт и предлагает объёмы трафика и поведенческие паттерны, которые будут выглядеть органично для страницы на целевой позиции. На выходе — структурированный план: запрос, целевой URL, дневное число сессий, диапазон ожидаемого времени на странице и оценка уверенности.

консервативные дефолты

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

многоуровневое обновление SERP

Зависимость от свежих SERP-данных создала проблему стоимости. XMLStock берёт деньги за запрос, и ежедневная проверка позиций по сотням запросов быстро складывается в крупную сумму. Внедрили многоуровневую стратегию обновления: высокоприоритетные запросы (топ-20, высокий потенциал трафика) обновляются ежедневно, средний эшелон — раз в три дня, длинный хвост — раз в неделю. Это срезало расходы на API примерно на 60%, не повлияв ощутимо на точность планов. Система также кэширует снимки SERP — если оператор перезапускает анализ в пределах окна обновления, она использует сохранённые данные, а не сжигает ещё один вызов API.

моделирование разброса

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

результаты

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