SiteForged: 60 лендингов из одного шаблона — и каждый уникален
Как собрать 20 лендингов × 3 языка, подключить fal.ai и получить 60 уникальных пакетов, 60/60 title и 0.2% похожести. Разбор генератора, промптов, дизайн-рандомизации и админки.
Главное
60 страниц, 60/60 уникальных title, 0.2% похожести, $0.137 за LLM.
Содержание
Задача: 20 лендингов, 3 языка, ноль копипаста
Онлайн-школе английского нужны были не «страницы вообще», а 20 разных офферов: английский с нуля, для IT, для юристов, IELTS, дети, произношение. Каждый — со своей аудиторией, болью, программой и тарифами. Плюс три языка: русский, английский, украинский.
Если делать это руками, получается либо один шаблон с заменой заголовка, либо месяц работы копирайтера. Если переводить русский текст на EN/UK, получается один и тот же текст с другим словарём: Яндекс и Google видят почти одинаковые страницы, а пользователь — одинаковые обещания.
Цель была простая и жестокая: 60 страниц, у каждой свой текст, свой дизайн и своя причина существовать.

Почему обычный перевод не работает
Перевод — это замена слов, а не смысла. Русский лендинг для IT начинается со стендапа и код-ревью. Английский — с технического интервью и обсуждения архитектуры. Украинский — с первого рабочего дня в международной команде.
Если прогнать один и тот же текст через переводчик, все три страницы будут:
- одинаково структурированы;
- с одинаковыми аргументами в одинаковом порядке;
- с одинаковыми метафорами;
- с одинаковым ритмом.
Для SEO это плохо. Для читателя — скучно. Поэтому EN и UK генерируются отдельно, как будто для каждого языка свой копирайтер.
Как устроен LLM-пакет
Модель не пишет «текст страницы целиком». Она заполняет строгую схему:
- лид на 2 предложения;
- 4 преимущества с механизмом, а не прилагательным;
- 6 модулей программы и 6 пояснений;
- 3 тарифа с метаданными и ценой;
- 3 отзыва с конкретной ситуацией;
- 5 вопросов FAQ;
- CTA и подпись футера.
Количество проверяется парсером. Если модель недописала — тот же запрос повторяется с текстом ошибки. Если снова не получилось — страница не собирается, а не выходит с пустыми блоками.
pack = llm.ask(prompt) # offer × language
pack = parse_pack(pack) # strict fields
validate_pack(pack) # counts + no empty blocks
site = merge(base_i18n, pack) # per landing
render(theme, site) # 3 languages, 60 pages
Важная деталь: модель не решает, как выглядит страница. Она не трогает вёрстку, палитру и сетку. Это отдельный слой.
Дизайн-рандомизация: 20 сайтов из одного шаблона
У генератора есть пулы:
- 6 палитр;
- 3 раскладки главной;
- 5 типов меню;
- 5 стилей карточек;
- 5 стилей кнопок;
- 5 пар шрифтов;
- разные контейнеры, отступы, радиусы, размеры H1.
Комбинации распределяются так, чтобы соседние лендинги не выглядели близнецами. Поэтому English for IT — тёмный editorial с золотом, Design English — светлый showcase с бирюзой, Pronunciation — спокойный catalog с зелёным.

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

Уникальность в цифрах
Считали Jaccard по 4-граммам слов. Это не «на глаз», а метрика пересечения последовательностей.
| Метрика | Значение |
|---|---|
| Страниц | 60 |
| Уникальных title | 60 / 60 |
| Уникальных description | 60 / 60 |
| Похожесть уникальных блоков | 0.2% в среднем |
| Максимум между двумя лендингами | 5.4% |
| Полный текст | 0.6% в среднем |
| LLM-запросов | 137 |
| Стоимость LLM | $0.137 |
Почти нулевая похожесть — не потому, что тексты короткие. На каждой странице лид, 4 преимущества, 6 модулей, 3 тарифа, 3 отзыва, 5 FAQ и CTA. Просто эти блоки действительно разные.
Отдельно проверили языки: EN и UK не содержат русских конструкций и не являются построчным переводом. Для украинского — отдельная проверка на русские буквы и кальки.
Админка: одна кнопка и чекбокс
В админке 20 лендингов, seed, параметры дизайна и чекбокс LLM: ON. Нажал — генератор собрал 60 страниц, обновил скриншоты и опубликовал. Если LLM выключить, останется офлайн-режим с базовыми текстами.
Кэш устроен просто: ключ = модель + промпт. Повторный запуск с теми же параметрами не тратит деньги. Лимит — 300 запросов, чтобы демо не улетело в космос.

Почему это круто для бизнеса
- Скорость. 60 страниц за один запуск, а не за месяц согласований.
- Цена. $0.137 за тексты. Дешевле часа копирайтера.
- Масштаб. Добавили новый оффер — получили три языка и новую тему.
- Уникальность. Не «уникализация ради галочки», а измеримая метрика.
- Контроль. Схема, валидация, кэш и лимит. Не «магия», а пайплайн.
- Легальная ниша. Онлайн-школа английского — нормальный продукт, который можно показывать клиентам.
Для агентства это ещё и шаблон: генератор можно перекрасить под стоматологию, юристов, ремонт, SaaS. Меняются офферы, аудитории и словарь — архитектура остаётся.
Границы и честность
Это демо, а не production-система:
- нет доменов, платежей и автодеплоя;
- школа вымышленная, отзывы и цифры — демонстрационные;
- LLM может ошибаться, поэтому текст стоит вычитывать;
- низкая похожесть не гарантирует позиции в поиске — это только один из факторов.
Но база работает: 20 офферов, 3 языка, 60 страниц, 60 скриншотов, админка и кейс. Дальше можно добавлять новые ниши, языки и шаблоны.
Ссылки
- Демо: siteforged.webdev07.tech
- Кейс: portfolio.webdev07.tech/ru/cases/siteforged
- Пример RU: English for IT
- Пример EN: Design English
- Пример UK: Pronunciation
Ещё по теме
DOC OPS: как превратить счёт в проверенную таблицу
Разбор кейса: OCR, извлечение по JSON-схеме, детерминированная валидация, human-in-the-loop и бенчмарк на 44 синтетических документах.
ЧитатьАрбитраж трафика в 2026: дороже, честнее и ближе к инженерии
Состояние арбитража трафика к ноябрю 2026: рост CPM, ограничения cookie, AI-креативы, Telegram Ads, first-party data и unit-экономика. Что делать дальше.
ЧитатьНужна такая автоматизация?
Напиши в Telegram — обсудим задачу и формат работы.