WordPress · 6 мин чтения

Перенос интернет-магазина на WordPress: план миграции без потерь

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

Когда перенос интернет-магазина на WordPress оправдан

Чаще всего ко мне приходят с одной из трёх ситуаций. Каталог вырос настолько, что интерфейс конструктора стал неудобным для сотрудников: карточки редактируются медленно, массовые изменения цен требуют ручной работы с каждым товаром. Нужна интеграция, которой на текущей платформе нет в готовом виде: сложная логика скидок, привязка к конкретной 1С-конфигурации, кастомный личный кабинет опта. Или площадка уже на самописном движке, который никто не поддерживает, и держать его дороже, чем переехать.

WordPress с WooCommerce в этих случаях выигрывает за счёт экосистемы плагинов и открытого кода: можно дописать любую бизнес-логику, не упираясь в ограничения закрытой платформы. Обратная сторона - сайт становится вашей зоной ответственности целиком, включая обновления безопасности и совместимость плагинов между собой.

С каких платформ обычно переезжают и что это меняет

Сложность миграции сильно зависит от того, откуда переезжаем. У Tilda, например, есть штатный обмен с 1С через CommerceML, поэтому синхронизация товаров и остатков там уже настроена и её нужно просто аккуратно перенаправить на новую базу. У Bitrix обычно есть полноценный экспорт каталога и заказов через административную панель. У InSales тоже есть выгрузка в CSV и API. Самописные движки - самый непредсказуемый случай, там всё зависит от того, что вообще сохранилось в базе данных и есть ли к ней прямой доступ.

Платформа Экспорт каталога Выгрузка заказов Доступ к базе клиентов
Tilda Через обмен CommerceML или ручной экспорт списком товаров Из панели заказов, вручную или через API Есть, из CRM-раздела
Bitrix Штатная выгрузка в CSV/XML Через административный раздел заказов Есть, полный доступ к базе
InSales Экспорт в CSV, есть открытый API Через API или ручную выгрузку Есть, из раздела клиентов
Самописный движок Зависит от структуры БД, часто нужен отдельный скрипт Зависит от структуры БД Зависит от того, как хранились данные

Цена домена и SSL-сертификата от того, с какой платформы вы переезжаете, не зависит: она определяется только зоной домена (.ru дешевле .com) и типом сертификата, который вы выбираете для нового хостинга. Это отдельная статья расходов, не привязанная к сложности миграции.

Аудит перед переносом: что смотрю в первую очередь

Перед тем как трогать код, я выгружаю четыре вещи: полный каталог с атрибутами и остатками, историю заказов минимум за год, список интеграций (эквайринг, служба доставки, CRM, рассылки) и данные по трафику из Яндекс Метрики или Search Console - какие URL реально приносят посетителей.

Последний пункт критичен. На одном проекте выяснилось, что 30 страниц категорий, которые в интерфейсе выглядели второстепенными, приносили почти половину органического трафика магазина. Если бы я не свёл список адресов заранее, эти страницы просто потеряли бы позиции при переезде.

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

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Перенос каталога, заказов и клиентской базы в WooCommerce

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

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

Заказы переносить полностью обычно не нужно: клиенту важна история покупок для программы лояльности и повторных продаж, а не сами объекты заказов в системе. Я выгружаю историю в отдельную таблицу и привязываю к профилям клиентов уже в WooCommerce, а не пытаюсь воссоздать заказы один в один с датами и статусами старой платформы.

Базу клиентов (email, телефон, история покупок) переношу через прямой импорт в таблицу пользователей WordPress с сохранением email как логина - это позволяет включить восстановление пароля по почте, и клиентам не придётся регистрироваться заново.

Оплата и доставка после переезда: T‑Bank, СДЭК и синхронизация

Эквайринг обычно настраиваю через официальный плагин T‑Bank для WooCommerce: он подключается по API-ключам из личного кабинета банка, отдельно код писать не нужно, разве что донастроить статусы заказов под конкретный процесс склада. Комиссия за приём платежей зависит от тарифа, который вы согласовали с банком, а не от того, что за сайт эти платежи принимает, поэтому в статьях расходов на переезд эту строку не считаю переменной.

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

Если у магазина есть 1С, обмен настраивается через штатный модуль синхронизации CommerceML на стороне WooCommerce, аналогично тому, как он работал на прежней платформе - меняется только точка подключения. Для магазинов, где нужно автоматически прокидывать новые заказы в CRM или отправлять уведомления менеджеру в Telegram, ставлю сценарий в n8n: это быстрее, чем писать отдельный интеграционный скрипт, и проще поддерживать при изменении логики в будущем.

SEO при переносе магазина: редиректы и сохранение позиций

Список URL, собранный на этапе аудита, здесь и пригождается. Для каждого старого адреса карточки товара, категории и статьи блога прописываю 301-редирект на новый URL в WordPress. Если структура ЧПУ меняется (а она почти всегда меняется хоть немного), редирект делаю не «на главную», а на максимально близкий по смыслу новый адрес - иначе теряется вес страницы и релевантность запросу.

После переезда сразу отправляю новую карту сайта в Яндекс Вебмастер и Google Search Console и слежу за индексацией по дням: сколько старых URL уже переиндексировано с редиректом, сколько новых страниц появилось в выдаче. На последнем проекте позиции по основным запросам просели на 5-7 позиций в первую неделю и восстановились до прежнего уровня за 3-4 недели - это нормальная динамика для аккуратно сделанных редиректов, без потери самих страниц из индекса.

Отдельно проверяю robots.txt и мета-теги noindex: на старых платформах часто закрыты от индексации служебные страницы (корзина, личный кабинет, страницы фильтров), и эту логику нужно воспроизвести на новом сайте, а не оставлять всё открытым по умолчанию.

WordPress регулярно обновляется, поэтому перед внедрением я сверяюсь с актуальной документацией.

Частые вопросы

Сколько по времени занимает перенос интернет-магазина на WordPress

Для каталога в пределах 1000-1500 товаров с типовыми интеграциями (эквайринг, доставка, 1С) закладываю 10-14 дней на техническую часть. Если каталог больше или есть нестандартная логика скидок и вариаций, срок увеличивается, и я называю его после аудита, а не до него.

Просядут ли позиции сайта в поиске после переезда

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

Что делать с отзывами и рейтингами товаров при переезде

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

Можно ли перенести магазин без остановки продаж

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

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно