// starting.task
Стартовая задача
Формулировка со стороны бизнеса
Перенести сайты с Tilda на MODX
Запустить единую региональную систему
Как мы поняли и декомпозировали задачу
У клиента было 8 отдельных продуктовых лендингов на Tilda. Требовалось перенести их на собственные домены и перевести под управление MODX, сохранив существующий дизайн и пользовательские сценарии.
Доступа к исходным проектам Tilda не было — исходником служил только код уже опубликованных страниц.
Каждому из 8 сайтов требовалось подключить 76 региональных поддоменов и автоматически менять географию страницы в зависимости от открытого домена.
Итого — 608 региональных версий, которые необходимо было обслуживать без создания сотен независимых копий сайтов.
// implementation.process
Что было сделано
Перенесли и переработали 8 лендингов
Публичный код Tilda разобрали на структуру, стили, JavaScript и интерактивные элементы. Лишние зависимости конструктора удалили, а повторяющиеся части перенесли в шаблоны, чанки и сниппеты MODX
Построили региональную архитектуру
Для каждого продуктового направления подключили 76 региональных поддоменов. Домен определяет нужный контекст MODX, а региональные данные хранятся отдельно от основной вёрстки.
Восстановили функциональность и интеграции
Заново реализовали формы через FormIt, клиентскую валидацию, квиз, карусели и необходимую JavaScript-логику
Восстановили функциональность и интеграции
Заново реализовали формы через FormIt, клиентскую валидацию, квиз, карусели и необходимую JavaScript-логику
Восстановили функциональность и интеграции
Заново реализовали формы через FormIt, клиентскую валидацию, квиз, карусели и необходимую JavaScript-логику
// system.architecture
Архитектура и интеграции
flowchart TD
A["Региональный поддомен<br/>podolsk.example.ru"]
B["Определение host"]
C["Региональный контекст MODX"]
D["city_name2"]
E["http_host"]
F["site_url"]
G["site_start"]
H["Общий шаблон MODX"]
I["Чанки"]
J["Сниппеты"]
K["JavaScript"]
L["FormIt"]
M["Quiz"]
N["roistatWebhook"]
O["Roistat"]
A --> B
B --> C
C --> D
C --> E
C --> F
C --> G
D --> H
E --> H
F --> H
G --> H
H --> I
H --> J
H --> K
I --> L
J --> L
K --> M
L --> N
M --> N
N --> OНе удалось отобразить схему.
// visual.demo
Визуальная демонстрация
// project.result
Результат
8 сайтов → 608 региональных версий
Восемь лендингов переведены с Tilda на MODX и развёрнуты в региональную инфраструктуру по 76 городов для каждого продуктового направления.
Настроено 2432 региональных контекстных значения
Одна кодовая база вместо сотен копий
Шаблоны, формы, квизы, JavaScript и интеграции поддерживаются централизованно.
Региональные версии отличаются конфигурацией контекста, поэтому развитие проекта не требует синхронного редактирования сотен отдельных страниц.
Одна кодовая база вместо сотен копий
Шаблоны, формы, квизы, JavaScript и интеграции поддерживаются централизованно.
Региональные версии отличаются конфигурацией контекста, поэтому развитие проекта не требует синхронного редактирования сотен отдельных страниц.
// technical.challenges
Что было технически сложным
Исходных проектов Tilda не было — работать пришлось с кодом уже опубликованных страниц. Вместе с необходимой вёрсткой он содержал автоматически сгенерированные классы, inline-стили, служебные контейнеры, обработчики и JavaScript-зависимости платформы.
Поэтому задача заключалась не в простом копировании HTML, а в отделении интерфейса от инфраструктуры Tilda и последующей сборке поддерживаемого проекта на MODX.
Дополнительный масштаб создавала региональность: 8 сайтов × 76 городов = 608 поддоменов. При такой структуре неправильное архитектурное решение пришлось бы повторять сотни раз.
Поэтому географические данные вынесли в настройки контекстов, а шаблоны, чанки, сниппеты и JavaScript оставили общими.
Отдельно пришлось восстановить функциональность, которую раньше обеспечивала Tilda: формы, валидацию, квизы, карусели и передачу заявок во внешнюю систему аналитики. В результате проект сохранил привычный интерфейс, но перестал зависеть от конструктора.












