Модернизация работающей системы без выключения
Модернизирую живые системы, которые нельзя выключить ради рерайта. Типичный случай — контентная или коммерческая платформа на стареющей CMS (Sitecore, Umbraco, Magento), которую нужно перевести на headless-фронт на Next.js и актуальный слой контента, пока редакторы продолжают публиковать, а публичный URL отвечает 200. Делал это старшим инженером на корпоративных миграциях: Sitecore 9.2 → Sitecore XM Cloud с headless Next.js; Umbraco и Magento → Contentful и Vercel. Работа — данные, URL, процесс редактора и постепенный перенос, а не greenfield-демо, которое никогда не получит продакшен-трафик.
Кому это подходит
- Компаниям, чей публичный сайт или контентная платформа застряли на CMS вне поддержки.
- Командам, которые уже купили headless CMS, а старый сайт всё ещё отвечает в продакшене.
- Руководителям инженерии, которым продали рерайт и которые хотят поэтапную альтернативу.
Для каких проблем поэтапная модернизация
- CMS нельзя обновить на месте, а SEO, привычки редакторов и интеграции нельзя обнулить.
- Предыдущая миграция зависла на «перережем в следующем квартале».
- Маппинг данных недооценили: новая CMS пустая или неверная.
- Фронт переписали, а модель контента скопировали вслепую.
Что беру на себя
- Модель контента для целевой CMS, а не 1:1 клон старого дерева.
- Пайплайны миграции с проверкой целостности, а не одноразовый скрипт.
- Headless Next.js-фронты, о которых редакторы всё ещё могут рассуждать.
- Стратегия URL, редиректов и превью, чтобы поиск и кампании выжили.
- Путь «удавки»: новые маршруты в продакшене рядом со старыми, пока старые не погаснут.
Как идёт живая миграция
Инвентаризация того, что должно быть верно в день один: URL, метаданные, точки входа редактора, интеграции. Новая модель — вокруг того, как контент реально переиспользуется, а не вокруг старой папочной иерархии. Автоматизируем перенос, измеряем потери, ставим новый фронт на подмножество трафика или путей. Не назначаем пятничный cut-over непроверенного маппинга. Откат — смена DNS или маршрутизации, а не молитва про бэкап.
Рерайт, удавка или остаться
Модернизация — решение о риске. Возраст репозитория — не критерий.
Остаться и сдержать, если ограничение не стек
Если поставка медленная из-за процесса или отсутствия тестов, новая CMS не поможет. Чините ограничение.
Удавка, если система зарабатывает, пока вы мигрируете
Новая работа идёт в новый путь. Старые пути замораживаются, кроме юридически обязательного и инцидентов. Это медленнее объявлять и быстрее выживать.
Рерайт только если старая модель и есть баг
Коммерческая информационная архитектура, которая не выражает бизнес, — кандидат. Бамп версии React — нет.
Не мигрируйте контент без хозяина каждого типа
Бесхозные поля становятся «скинуть в rich text». Так платите дважды.
Как такие программы проваливаются
- Большой взрыв без теневого прогона.
- Пиксель-в-пиксель воссоздание двенадцатилетнего набора шаблонов в новом стеке.
- Миграция только силами разработчиков: редакторы видят CMS утром запуска.
- Редиректы игнорируют, пока не падают позиции.
Результат
- Поэтапный план: что едет первым, что остаётся, что удаляется.
- Автоматическая миграция с отчётами о потерянных полях.
- Продакшен-фронт на новом стеке на реальном подмножестве площадки.
- Карта редиректов и регламент для редакторов.
Избранные проекты
- IMF – Headless-перенос унаследованного сайта МВФ на Sitecore 9.2 на Sitecore XM Cloud с фронтендом Next.js по GraphQL.
- Diageo – Повторяемая миграция структурированного контента Diageo из Umbraco и Magento в Contentful, с публичным фронтендом на Vercel.
- Vita Student – Платформа студенческого жилья: сервисные студии, квартиры и общие комнаты.
Связанные услуги
- Технический аудит – Независимое чтение системы, которая у вас есть — ради решения, а не цветной таблицы severity.
- Архитектура ПО – Системный дизайн живых продуктов: чему существовать, где границы и как система отказывает.
- Заказная разработка – Продуктовая инженерия для команд, которым нужен старший разработчик, а не цепочка подрядчиков.
Связанные заметки
Вопросы, которые задают
Можно модернизировать систему под NDA?
Да. Часть прошлых назначений нельзя описать публично дальше стека и формы работы. Метод не требует называть бренд на этом сайте.