Для такого проекта SEO строится не вокруг нескольких посадочных страниц, а вокруг большого набора шаблонных страниц, которые отличаются маршрутом, станцией, городом, страной, поездом или перевозчиком.
На сайте нужно было продвигать несколько типов страниц:
- Маршрут. Пользователь ищет билеты на поезд между городами.
- Станция. Пользователь хочет получить информацию о станции и направлениях поездов.
- Город. Страница описывает город, вокзалы, маршруты и отправления.
- Страна. Страница дает общую информацию о железнодорожном сообщении в стране.
- Поезд. Страница посвящена конкретному поезду. Такой тип особенно актуален для отдельных стран, например Японии.
- Перевозчик. Страница собирает маршруты конкретного железнодорожного оператора.
Часть данных подтягивалась по API от поставщиков билетов. Но для SEO этого было недостаточно. Чтобы страницы ранжировались, им нужны были уникальные текстовые блоки: с ключами, тематическими словами, сущностями и понятным закрытием пользовательского интента.
Исходная ситуация и проблема
В индексе было 126 156 страниц. По оценке проекта, около 20% страниц — примерно 25 231 URL — нуждались в SEO-оптимизации с помощью текстов.
Если делать это вручную, одна страница обходилась примерно в 500 рублей. При таком подходе общий бюджет составил бы около 12 600 000 рублей. Ежемесячно нужно было бы тратить примерно 350 000 рублей, а весь объем занял бы около 3 лет.
Для молодого агрегатора такой бюджет был недоступен. Поэтому задача была не в том, чтобы «написать больше текстов», а в том, чтобы сделать систему, которая сможет готовить SEO-контент массово и управляемо.
Клиент уже пробовал использовать нейросеть. Страница разбивалась на сегменты, и на одно описание приходилось около 10 запросов к модели. Это был правильный подход по архитектуре: большой текст лучше собирать из отдельных блоков. Но сами промпты были слишком слабыми.

Главная ошибка была в том, что модель просили написать «качественный текст», но не объясняли, что именно считается качеством для SEO. Без критериев нейросеть генерировала общие формулировки, слабо управляла ключами и не закрывала интент страницы.

Из-за этого SEO-оптимизация держалась на случайности: попадут ли нужные ключи и тематические слова в текст или нет. Тексты получались водянистыми, а рост не запускался. Количество кликов держалось примерно на уровне 100 в сутки и не росло.

Задача
Задача — построить AI-систему, которая сможет массово готовить SEO-оптимизированный контент для разных типов страниц агрегатора.
Система должна была:
- учитывать тип страницы: маршрут, станция, город, страна, поезд или перевозчик;
- закрывать основной интент и дополнительные подинтенты пользователя;
- использовать ключевые фразы и тематические слова;
- описывать сущности и их атрибуты;
- помогать Google точнее понимать смысл страницы;
- формировать SEO-теги: H1, Title и Keywords;
- давать текст, полезный пользователю, а не просто набор поисковых фраз;
- снизить зависимость от ручной работы и бюджета на контент.
Для проекта было важно не просто подключить ChatGPT. Нужно было связать модель с SEO-логикой сайта: данными страниц, интентами, сущностями, ключами, тематическими словами и правилами генерации.
Что сделали
Мы не стали писать один универсальный промпт для всех страниц. Для проекта подготовили систему технических заданий, таблиц и правил, которые описывали, как именно должна работать генерация.
Первое ТЗ было черновым. Затем чистовые версии дорабатывались мидл-специалистами. Всего для проекта подготовили 6 технических заданий.
Шаг 1. Разобрали интент страницы
Один и тот же поисковый запрос может означать разные задачи.
Например, когда пользователь вводит Osaka to Tokyo train, он может хотеть:
- получить расписание поездов;
- купить билет;
- узнать информацию о маршруте;
- найти данные о конкретном поезде;
- понять, что можно увидеть по пути;
- сравнить варианты поездки;
- проверить перевозчика или станцию.
Если страница отвечает только на один из этих сценариев, она закрывает интент частично. Поэтому мы разложили запросы по типам страниц и подинтентам: что пользователь ищет, какую информацию ожидает увидеть и какой блок страницы должен закрыть его задачу.
Чтобы это сделать системно, мы собрали таблицу с доменами сущностей, именованными сущностями и атрибутами.

В SEO для агрегатора важно работать не только с ключами, но и с сущностями.
Домен сущностей — широкая категория, к которой относится объект. Например, люди, организации, города, маршруты или перевозчики.
Именованная сущность — конкретный объект, который можно отличить от других. В этом проекте это могли быть города, станции, страны, поезда, перевозчики и маршруты.
Атрибут сущности — характеристика объекта. Например, для маршрута это города отправления и прибытия, время в пути, расписание, перевозчик, станции и тип поезда.
Такая логика помогает Google понять, о чем страница. Не просто увидеть набор слов, а связать текст с конкретным объектом и его характеристиками.
Закрытие сущностей на сайте
После сбора сущностей мы проанализировали, какие блоки уже есть на сайте, чего не хватает и как похожие задачи закрывают конкуренты.

Здесь важно было не просто добавить текст ради объема. Каждый блок должен был выполнять функцию:
- объяснять маршрут, станцию, город, страну, поезд или перевозчика;
- отвечать на конкретный пользовательский вопрос;
- добавлять контекст, которого не хватает в API-данных;
- помогать поисковой системе точнее определить тему страницы.
Закрытие подинтентов поисковых запросов
Дальше мы отобрали запросы для разных типов страниц и разложили их по подинтентам.
Например, по маршруту пользователь может искать расписание, цену, способ покупки билета, длительность поездки, станции отправления и прибытия, доступные поезда, перевозчика или туристический контекст. Все это разные ожидания, хотя внешний запрос может быть похожим.

После этого мы распределили, что уже закрыто на странице, а что нужно доработать. Такой разбор позволил увидеть слабые места: где не хватает блока, где нужно усилить текст, где можно использовать данные из API, а где требуется AI-генерация.

Шаг 2. Закрыли ключевые фразы и тематические слова
Чтобы Google точнее определял домен сущности, одной общей генерации недостаточно. Нужно заранее понимать, какие ключи, тематические слова и смысловые акценты должны появиться в каждом блоке.
Мы прописали для блоков:
- какие ключевые слова должны быть использованы;
- какие тематические слова должны поддерживать тему;
- о чем должен быть блок;
- какой интент он закрывает;
- какие формулировки нужно использовать аккуратно, чтобы не получить переспам;
- где текст должен быть информационным, а где ближе к покупке билета.

Это изменило сам принцип генерации. AI больше не должен был угадывать, какие слова вставить. Он получал понятное задание: какой блок пишет, какой интент закрывает, какие сущности раскрывает и какие SEO-сигналы должен встроить в текст.
Шаг 3. Оптимизировали теги
Отдельно проработали теги. Для агрегатора это особенно важно: если шаблон H1 или Title слабый, ошибка масштабируется на тысячи страниц. Если шаблон точный, улучшение работает сразу на большом объеме URL.
Мы определили:
- какие ключевые слова должны попадать в H1;
- как формировать Title;
- какие Keywords использовать;
- как сохранять естественность формулировки;
- как не превращать тег в набор ключей;
- какие правила применяются к разным типам страниц.

Шаг 4. Доточили промпты
На старте проблема была не в том, что использовали ChatGPT. Проблема была в слабом управлении моделью.
Просьба «напиши SEO-текст» не работает стабильно, потому что нейросеть не знает:
- какая структура нужна;
- какие критерии качества важны;
- где должны быть ключи;
- как закрывать интент;
- сколько конкретики нужно;
- какой стиль считается подходящим;
- как избежать водянистого AI-текста.
Поэтому мы добавили в промпты критерии SEO-friendly текста.

Отдельно проработали критерии AI-undetectable. Текст должен был звучать естественно: без одинаковых оборотов, пустых обобщений, повторяющейся структуры и признаков машинной генерации.

Как внедрили
Автоматизацию собрали вокруг API ChatGPT и собственных разработок для промпт-инжиниринга и анализа данных.
Система использовала:
- данные страницы;
- тип страницы;
- домен сущности;
- атрибуты сущности;
- поисковый интент;
- подинтенты;
- ключевые фразы;
- тематические слова;
- правила для SEO-тегов;
- критерии качества текста.
На этой базе AI готовил текстовые блоки, которые можно было масштабировать на большой пул страниц.
Внедрение шло поэтапно:
- Собрали черновые ТЗ для генерации.
- Разобрали типы страниц и интенты.
- Подготовили таблицы сущностей и атрибутов.
- Проверили, какие блоки уже есть на сайте и чего не хватает.
- Разложили запросы по подинтентам.
- Прописали ключевые фразы и тематические слова для блоков.
- Настроили правила для H1, Title и Keywords.
- Доработали промпты под SEO-friendly и AI-undetectable текст.
- Передали систему в работу.
- Дождались переиндексации страниц Google.
Сравнение показателей
| Было | Стало |
| 126 156 страниц в индексе, из них около 20% требовали SEO-текстов | Появилась система массовой AI-оптимизации для разных типов страниц |
| 25 231 страницу нужно было оптимизировать вручную | Контентные блоки генерируются по правилам, интентам, сущностям и ключам |
| Ручной бюджет оценивался в 12,6 млн рублей | Клиент сэкономил миллионы рублей на создании контента |
| На ручную работу требовалось около 3 лет | Процесс можно масштабировать через автоматизацию |
| Нужно было бы тратить около 350 000 рублей в месяц | Молодой агрегатор получил более доступный способ развивать SEO |
| Промпты были слишком общими | Промпты получили критерии качества, SEO-friendly и AI-undetectable |
| Клики держались примерно на уровне 100 в сутки | После переиндексации обновленных страниц сайт пошел в рост |
Результат
Google потребовалось время, чтобы переиндексировать обновленные страницы. После этого сайт начал расти.
Главный результат — клиент получил не разовый набор промптов, а систему для полной AI-автоматизации SEO. Она помогает масштабировать оптимизацию на тысячи страниц и не упирается в ручной бюджет.

Что получилось:
- автоматизировали SEO-подготовку страниц маршрутов, станций, городов, стран, поездов и перевозчиков;
- разобрали интенты и подинтенты поисковых запросов;
- собрали таблицы сущностей, именованных сущностей и атрибутов;
- определили, какие блоки уже закрывают задачу, а какие нужно доработать;
- прописали ключевые фразы и тематические слова для блоков;
- настроили правила для H1, Title и Keywords;
- доработали промпты под SEO-friendly и AI-undetectable текст;
- подготовили 6 технических заданий;
- убрали зависимость от случайного попадания ключей в текст;
- заменили ручную подготовку 25 231 страницы AI-автоматизацией;
- избежали расчетного бюджета в 12,6 млн рублей и 3 лет ручной работы;
- после индексации сайт начал расти.
Для стартапа это было критично. Без автоматизации проекту пришлось бы тратить около 350 000 рублей в месяц только на ручную подготовку SEO-контента. Вместо этого агрегатор получил систему, которая связывает данные страниц, поисковые интенты, сущности, ключевые фразы и генерацию текста в один управляемый процесс.
Что важно в таком проекте
Этот кейс показывает, что AI-автоматизация SEO — это не про одиночный промпт.
Если просто попросить ChatGPT написать текст, результат будет нестабильным: где-то модель попадет в ключи, где-то уйдет в воду, где-то не закроет интент, а где-то сделает шаблонный текст. На небольшом сайте это можно поправить вручную. На десятках тысяч страниц такая ошибка становится слишком дорогой.
Рабочая автоматизация строится иначе:
- Сначала разбираются типы страниц.
- Потом собираются интенты и подинтенты.
- Затем описываются сущности и атрибуты.
- После этого распределяются ключи и тематические слова.
- Отдельно настраиваются теги.
- И только потом пишутся промпты.
Именно эта последовательность позволила превратить генерацию текста из эксперимента в управляемую SEO-систему.