Для SEO ей нужны были сотни уникальных страниц:
- маршруты город-город;
- страницы городов;
- направления штат-в-штат;
- страницы штатов.
Если бы эти тексты писал копирайтер, бюджет составил бы от $18 000 до $45 000.
Мы собрали автономный конвейер на сервере с помощью Claude Code. Программа сама исследует тему, проверяет факты, генерирует текст, очеловечивает его, проводит контроль качества и сохраняет результат в базу.
В итоге получили 892 страниц по $1 за текст.
Через 68 дней после публикации страницы маршрутов дали 46 146 показов за 14 дней, 124 клика и рост показов на +106% к предыдущему замеру.
Для продвижения были нужны разные типы посадочных страниц:
Каждая страница должна была быть не просто текстом с подставленным названием города. Внутри нужны были факты о локации, расстояния, ориентиры по ценам, особенности переезда, вопросы-ответы и микроразметка.
Исходная ситуация и проблема
Проект был слишком большим для ручного производства.
Нужно было подготовить 892 SEO-текстов. При ставке копирайтера $20-50 за текст общий бюджет составил бы от $18 000 до $45 000. По времени это примерно 2 900 часов ручной работы, то есть около 1,4 года одного человека.
Простая генерация через нейросеть тоже не подходила. Для такого проекта мало попросить модель «написать страницу про переезд из одного города в другой». Текст должен быть:
- фактическим;
- локальным;
- SEO-структурированным;
- пригодным для публикации;
- согласованным по ценам, расстояниям и бизнес-данным;
- не похожим на шаблонный AI-контент.
До этого я запускал субагентов внутри Claude Code. Здесь нужен был другой уровень: не набор разовых запусков, а полноценная программа, которая работает на сервере автономно.
Задача
Задача — собрать производственный конвейер, который генерирует SEO-страницы для moving-компании почти без ручного участия.
Система должна была:
- генерировать тексты для разных типов страниц;
- собирать факты через внешние источники;
- проверять данные перед публикацией;
- создавать мета-теги, основной контент, FAQ и микроразметку;
- очеловечивать текст и убирать признаки шаблонной AI-генерации;
- автоматически исправлять ошибки после контроля качества;
- сохранять готовые страницы в базу данных;
- продолжать работу после сбоя, не теряя уже оплаченные запросы.
Ключевое требование — автономность. Нужно было запустить партию, например 50 городов, и утром получить 50 готовых текстов.
Что сделали
Claude Code помог построить не цепочку субагентов, а полноценную Python-программу. Ее развернули на сервере, и дальше она работала как производственная линия.
Если на 27-м тексте пропадал интернет или падал процесс, конвейер не начинал все заново. Он перезапускался и продолжал с 28-го текста. Это сохраняло уже потраченные деньги на запросы к моделям и источникам данных.
Архитектура: 7 узлов конвейера
Конвейер разделили на 7 узлов. Каждый отвечает за отдельный этап производства страницы.
Узел 1. Исследование
На каждый маршрут система делает 2 запроса к Perplexity и поиск через Exa. На этом этапе собираются факты о городах, расстояния, особенности переезда, локальный контекст и данные, которые нужны для полезного SEO-текста.
Это защищает страницу от пустых общих формулировок. Вместо текста «переезд из города A в город B» страница получает конкретику по направлению.
Узел 2. Проверка фактов
После исследования данные проходят валидацию через Exa и скрейпинг до 5 источников. Для ненадежных сайтов добавили черный список.
Задача узла — не дать модели утащить в текст случайные или неподтвержденные данные. Если факт нельзя проверить, его лучше не использовать.
Узел 3. Генерация контента
Контент генерируется не одним большим полотном, а 4 параллельными блоками:
- Мета-теги.
- Основной контент.
- Путеводитель по городу.
- Вопросы-ответы и микроразметка.
Так проще контролировать структуру. Каждый блок решает отдельную задачу: SEO-сниппет, основная посадочная, локальная польза для пользователя и данные для поисковой системы.
Узел 4. Очеловечивание
После генерации текст проходит 5 этапов очеловечивания.
Система убирает шаблонные обороты, длинные тире, клише и однообразную длину предложений. Текст становится менее похожим на машинный и ближе к нормальному редакторскому материалу.
Для этого Claude Code сначала провел исследование: как работают детекторы AI-текстов, какие признаки они учитывают и какие методы действительно помогают. В исследовании было 5 документов и 111 источников.
Главные выводы:
- обычные перефразировщики снижают оценку детекторов только на 6-35 пунктов;
- у AI отклонение длины предложений обычно около 5 слов, у людей — 8-12;
- AI часто ставит 14-15 длинных тире на 700 слов, люди — 2-4;
- количество длинных тире нужно сокращать на 70-80%;
- текст должен отличаться ритмом, синтаксисом и формулировками, а не только заменой слов.
Эти правила встроили прямо в узел очеловечивания. Они применяются к каждому тексту автоматически.
Узел 5. Контроль качества
Готовая страница проходит 7 параллельных проверок:
- соответствие требованиям;
- SEO;
- микроразметка;
- ссылки;
- факты;
- согласованность;
- бизнес-данные.
Если текст не проходит проверку, он не отправляется дальше.
Узел 6. Исправления
Если контроль качества нашел проблему, система автоматически отправляет текст на доработку.
Так исправляются ошибки в фактах, нарушение структуры, слабая SEO-часть, проблемы с разметкой или несогласованность данных.
Узел 7. Доставка
После успешной проверки страница записывается в базу данных и становится готовой к выгрузке.
Так конвейер закрывает весь путь: от исследования до готового материала в базе.
Как внедрили
Конвейер работает на сервере как автономная программа.
Процесс выглядит так:
- Я задаю тип страниц и партию: например, 50 городов.
- Система берет данные для генерации.
- Исследовательский узел собирает факты.
- Узел проверки сверяет данные по источникам.
- Генератор создает несколько блоков страницы.
- Узел очеловечивания дорабатывает стиль.
- Контроль качества проверяет текст по 7 направлениям.
- Если есть ошибки, система отправляет страницу на исправление.
- Готовый текст записывается в базу.
Человек остается в роли постановщика задачи и приемщика результата. Ручное написание, ручная проверка каждого факта и ручная сборка страниц уходят в автоматизацию.
Масштаб и скорость
После настройки конвейер начал работать партиями.
Один город генерируется примерно за 15 минут. При этом конвейер может работать ночью без моего участия. Моя роль на этом этапе — запуск партии и проверка результата, примерно 2-3 часа в день.
Что пошло не так
Проблема: 35 городов имели одинаковые названия
В США много городов с одинаковыми названиями в разных штатах. В проекте 35 городов из 554 создавали конфликт: система могла сформировать одинаковые адреса страниц для разных штатов.
Решение: разбили генерацию на два подбатча с очисткой кеша между ними. Claude Code обнаружил проблему и написал отдельный скрипт для обработки коллизий.
Проблема: у 68 маршрутов не загрузились FAQ и микроразметка
После публикации оказалось, что у 68 маршрутных страниц нет вопросов-ответов и микроразметки. Проблема была не в генерации: разработчик клиента не загрузил данные из нужных колонок.
Решение: после загрузки недостающих колонок FAQ и микроразметка появились на страницах.
Сравнение показателей
Результат
Всего сгенерировали 892 SEO-страниц:
- 350 маршрутов город-город
- 542 страницы городов
- 20 пилотных страниц по штатам и направлениям штат-в-штат
Экономика проекта
Результаты в поиске
Через 68 дней после публикации маршруты показали:
- 46 146 показов за 14 дней;
- +106% к предыдущему замеру;
- 124 клика;
- +85% кликов;
- 316 страниц проиндексированы;
- 87 страниц уже получают клики;
- 28% проиндексированных страниц дают клики.
По городам через 26 дней после публикации пилота:
- 8 466 показов;
- 444 поисковых запроса;
- 10 из 10 пилотных страниц проиндексированы.
Главный результат — клиент получил не набор текстов, а воспроизводимую систему. Конвейер можно запускать партиями, восстанавливать после сбоев, проверять качество и масштабировать на новые типы страниц.
Что важно в этом проекте
Claude Code здесь выступил не как чат для разовой генерации, а как инженерный инструмент. Он помог написать программу, развернуть ее на сервере, встроить исследование, проверку фактов, очеловечивание, контроль качества и доставку результата.
Себестоимость упала до $1 за страницу не из-за «дешевой генерации», а из-за правильно собранного процесса. Каждый текст проходит путь от данных до готовой записи в базе без ручной сборки.