Перенос интернет-магазина с WordPress и Tilda на Drupal Commerce

Как я перенёс интернет-магазин с WordPress и временной Tilda на Drupal Commerce: каталог, историю заказов, отзывы, старые адреса и редиректы.

О проекте
WORDPRESS + TILDA → DRUPAL
Две платформы.
Одна история магазина.
01WordPressЗаказы · отзывы · материалы
02TildaКаталог · новые заказы · URL
03Drupal CommerceМагазин · история · редиректы

Схема решения. Без данных клиента.

Платформа
Drupal 11 + Commerce
Моя работа
Архитектура и разработка
Формат
Заказная разработка
Статус
Ежедневная эксплуатация
01 / Задача

Не просто перенести каталог, а переехать целому магазину

Перенос интернет-магазина с WordPress и Tilda на Drupal Commerce — это не копирование страниц и не одна выгрузка товаров. У магазина уже были покупатели, заказы, отзывы, каталог и адреса, по которым приходили посетители из поиска. Всё это нужно было собрать в новой системе и связать между собой.

Исходный магазин работал на WordPress. Затем для продолжения продаж использовалась Tilda как временная площадка, пока разрабатывалась новая платформа на Drupal 11 и Drupal Commerce. Поэтому задача охватывала несколько этапов жизни одного магазина: наследие WordPress, данные Tilda и новую систему, в которой команда работает сейчас.

Технологии этого решения

Собственная разработка внутри платформы магазина.

Drupal
Drupal

Drupal 11: данные и интерфейсы

Drupal Commerce
Drupal Commerce

Каталог, заказы и процессы магазина

Tilda
Tilda

Каталог и заказы временного магазина

PHP
PHP

Сервисы и бизнес-логика

02 / Исходные системы

WordPress, временная Tilda и новая платформа

Наследие WordPress

Старый магазин оставил после себя историю заказов, отзывы и материалы каталога. Эти данные важно было использовать в новой системе, а не начинать историю отношений с покупателями с пустого места.

Рабочая площадка на Tilda

Пока создавался новый магазин, Tilda продолжала принимать заказы. Кроме исторической выгрузки нужен был механизм получения новых заказов, которые появлялись в переходный период.

Новый магазин на Drupal

На новой платформе создана собственная модель каталога и процессов магазина. Данные из прежних систем приводятся к этой модели, а переход со старых адресов готовится отдельно.

Это части одной истории одного проекта, а не три независимых интернет-магазина. Главная сложность — сохранить смысл данных при переходе между разными моделями товаров, заказов и страниц.

03 / Каталог

Товары, вариации и наборы в общей структуре

Для каталога был разработан импорт на основе подготовленных данных. Он работает с товарами и вариациями, категориями, остатками, признаками комплектов и медиа. Из разных источников нужно было собрать не просто названия, а связи между карточкой товара, её вариантами и составом набора.

При подготовке использовались данные Tilda и материалы WordPress, в том числе изображения. Сопоставление учитывает идентификаторы и другие доступные признаки. Неоднозначные позиции требуют отдельной проверки: похожее название ещё не доказывает, что это один и тот же товар.

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

Данные двух прежних магазинов объединяются в новом
Каталог, заказы и отзывы переходят в новую систему.
04 / История заказов

Заказы WordPress и Tilda — в общей истории

История заказов — отдельная задача миграции. Если перенести только каталог, магазин сохранит витрину, но потеряет контекст предыдущих покупок. Для этого проекта реализован импорт заказов из выгрузки WordPress и CSV-выгрузки Tilda в общую историю новой системы.

При импорте сохраняется источник записи и её внешний идентификатор. Это позволяет различать происхождение заказа и при повторной обработке находить существующую запись. В истории также предусмотрены сведения о составе, статусе и другие доступные данные заказа.

Исторические записи хранятся отдельно от новых заказов Drupal Commerce. Их не нужно выдавать за новые продажи, заново проводить оплату или отправлять покупателю уведомление как о только что оформленной покупке. Для сотрудника это история работы магазина; для покупателя — возможность увидеть прошлые покупки в кабинете, когда данные корректно сопоставлены и показ истории включён.

05 / Переходный период

Tilda продолжала принимать заказы, пока создавался новый магазин

Перенос не обязательно происходит в один момент. Пока команда разрабатывала новую платформу, продажи продолжались на временной Tilda. Поэтому было важно учитывать не только старый архив, но и заказы, появляющиеся в течение перехода.

Для этого реализован приём данных заказа из Tilda через webhook: после проверки запроса система приводит данные к общей структуре и сохраняет их в истории. Предусмотрено обновление записи по идентификатору источника. При наличии подключённого складского механизма обработка может также передать заказ на применение изменений остатка; ошибки этого шага фиксируются отдельно.

Вчерашний заказ

Запись из подготовленной выгрузки попадает в историю с указанием источника. Её можно рассматривать вместе с другими историческими заказами, сохраняя различие между площадками.

Новый заказ во время разработки

Tilda отправляет данные о покупке в новую систему. История дополняется в переходный период, пока магазин на новой платформе ещё создаётся.

Такой процесс помогает не оставлять разрыв между архивом и датой запуска. Полнота переноса зависит от доступных выгрузок, корректности сопоставления и проверки поступивших данных.

06 / Отзывы

Отзывы WordPress сохраняют связь с товарами

Отзывы — часть истории товара и полезный контент для покупателей. Для подготовленной выгрузки отзывов WordPress реализован отдельный импорт с предварительной проверкой и сопоставлением с товарами нового каталога. Поддерживается обработка ответов на отзывы, если их связь с исходным отзывом присутствует в данных.

Важна не только сама запись, но и её место: отзыв должен относиться к правильному товару. Несопоставленные отзывы могут оставаться на проверке, а правила отбора и публикации задаются при импорте. Поэтому корректнее говорить об управляемом переносе доступных отзывов, а не обещать, что любая оценка автоматически появится на любой новой карточке.

07 / Адреса и редиректы

Старые URL — часть миграции интернет-магазина

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

Для этого используется отдельный реестр старых адресов и их соответствий товарам. Данные Tilda и наследуемые адреса проходят сопоставление с каталогом; подготовка реестра отделена от публикации. Сначала можно увидеть найденные связи и конфликты, затем применить проверенные адреса и перенаправления.

Например, условный старый адрес /old-item может вести на /catalog/product-a. Если нашлось несколько кандидатов или путь уже занят, запись требует проверки. Система не должна молча отправлять посетителя на первый случайный похожий товар.

Публичный адрес вариации и канонический адрес товара решают разные задачи. При публикации учитываются соответствия и конфликты, создаются или обновляются стандартные сущности адресов и редиректов Drupal. Конкретную карту переходов и результат нужно проверять на работающем сайте.

08 / SEO при переезде

Сохранить поисковую ценность и проверить переезд

При переносе с WordPress или Tilda на Drupal важно заранее собрать адреса, важные страницы и метаданные, определить соответствия и проверить редиректы, canonical, индексацию и карту сайта после запуска. Если адрес страницы удаётся оставить прежним, это отдельный сценарий; если он меняется, переход должен вести на содержательно подходящую страницу.

SEO здесь — часть проекта миграции, а не действие после загрузки товаров. При этом гарантировать сохранение всех позиций или трафика без измерений нельзя: выдача зависит не только от переезда. Задача разработки — подготовить управляемый переход и дать возможность проверить его результат.

09 / Подход

Что переносить с других платформ

Подход применим и к другим магазинам: сначала изучаются источники данных, устройство каталога, история покупателей, интеграции и SEO-адреса. Затем определяются доступные выгрузки, правила сопоставления, пробный импорт и последовательность переключения.

Ни одна платформа не превращается в Drupal одной кнопкой. Заказы, отзывы, карточки, дизайн и интеграции могут требовать разных способов переноса или новой реализации. Для сложного проекта именно этот разбор позволяет сохранить необходимые данные и построить процесс под работу бизнеса.

10 / Результат

Магазин с историей, а не чистая витрина

Результат — работающая платформа на Drupal Commerce с собственным каталогом и процессами, куда сведены подготовленные данные прежних систем: история заказов, отзывы и материалы товаров. Для старых адресов реализована управляемая подготовка соответствий и редиректов. Решение используется ежедневно; конкретные показатели позиций и трафика в этом кейсе не раскрываются.

Если вашему проекту нужен перенос интернет-магазина с WordPress, Tilda или другой платформы, можно начать с инвентаризации данных и сценариев. Подробнее — разработка интернет-магазинов и разработка сложных систем на Drupal.

11 / Вопросы

О переносе магазина с WordPress и Tilda

Можно ли перенести интернет-магазин с WordPress на Drupal?

Да. В этом проекте использовались данные каталога и изображения, история заказов и выгрузка отзывов WordPress. Объём и способ переноса для другого магазина зависят от доступных данных и структуры сайта.

Можно ли перенести магазин с Tilda и продолжать принимать заказы во время разработки?

Да. В описанном проекте история импортировалась из выгрузки, а новые заказы Tilda могли поступать в систему через webhook в переходный период.

Что происходит со старыми заказами и покупателями?

Заказы из WordPress и Tilda сохраняются в отдельной истории. В кабинете покупателя история может показываться при корректном сопоставлении и включённой настройке; исторические записи не становятся новыми заказами автоматически.

Можно ли перенести отзывы на новый сайт?

Да. Для выгрузки отзывов WordPress реализованы предварительная проверка, импорт и сопоставление с товарами. Неоднозначные связи и публикация зависят от настроек и проверки.

Как сохранить старые URL и редиректы при миграции?

Старые адреса сопоставляют с подходящими новыми страницами, проверяют конфликты и затем публикуют необходимые адреса и перенаправления. После запуска переходы нужно проверить.

Гарантирует ли перенос сохранение SEO-позиций?

Гарантировать позиции нельзя. Можно снизить риски: заранее подготовить карту адресов и редиректы, проверить canonical, индексацию и важные страницы, а после запуска наблюдать за результатами в поиске.

Следующий шаг / Ваш проект

Задачи бизнеса.
Понятные решения.

Расскажите, как устроен ваш процесс и что в нём нужно изменить. Обсудим задачу и подход к реализации.

Контакты

Если у вас есть вопросы или предложения, напишите мне на почту или в мессенджеры. Я всегда на связи и готов помочь вам!

Card

Обычно отвечаю в течение нескольких часов. Если срочно – пишите в Telegram!