Миграция с WordPress / WooCommerce на Shopify
DataEase переносит сайт на WordPress или магазин на WooCommerce в Shopify напрямую через REST API сайта - без плагинов, CSV-экспорта и таблиц. Вы вводите адрес сайта и пароль приложения, выбираете, что перенести, а остальное DataEase сделает сам. Он также создаёт редиректы со старых URL, чтобы ссылки и позиции в поиске продолжали работать после смены домена.
Что переносится
Section titled “Что переносится”| WordPress / WooCommerce | Shopify | Подробности |
|---|---|---|
| Товары (простые и вариативные) | Товары | Название, описание, статус, теги, категория как тип товара, изображения, SKU, штрихкод (GTIN/EAN/UPC), цена и цена распродажи (как цена для сравнения), вес, налоговый статус, остаток (на основной локации), предзаказ, SEO-заголовок и описание. |
| Вариации | Варианты | Атрибуты становятся опциями (до 3). Вариации «Любой размер» разворачиваются в реальные комбинации. |
| Категории товаров | Коллекции | Ручные коллекции с товарами категории, описанием и изображением. |
| Клиенты | Клиенты | Имя, email, телефон, платёжный адрес и адрес доставки. |
| Заказы | Заказы | Историческая копия с позициями (связаны с перенесёнными вариантами по SKU), доставкой, сборами, скидкой по купону, налогом и оплатой. Клиентам не отправляются никакие письма. |
| Купоны | Коды скидок | Процентные, фиксированная скидка на корзину, фиксированная скидка на товар и бесплатная доставка; срок действия, лимиты использования, минимальная сумма, ограничения по товарам и категориям. |
| Записи | Статьи блога | Заголовок, содержимое, анонс, автор, дата публикации, изображение записи, рубрики и метки (как теги статьи), SEO. Все записи попадают в один блог Shopify (по умолчанию: News). |
| Страницы | Страницы | Заголовок, содержимое, дата публикации, SEO. |
| Старые URL | URL-редиректы | Товары, категории, записи, страницы, страница /shop/ и /my-account/ перенаправляются на свои адреса в Shopify (/cart и /checkout уже совпадают). |
- Изображения внутри описаний и записей копируются в Shopify → Content → Files, а ссылки обновляются, так что ничего не сломается, когда старый сайт отключится.
- WordPress ID каждой записи сохраняется в метаполе
wordpress.id. - SEO-заголовок и описание берутся из плагина Yoast SEO, если он установлен.
- Черновики остаются черновиками: черновики товаров и записей переносятся, но не публикуются.
Не переносятся: темы и дизайн, плагины и их настройки, отзывы о товарах, комментарии к записям, настройки оплаты и доставки, налоги, пароли клиентов (клиенты задают новый пароль в Shopify), сгруппированные товары.
Перед началом
Section titled “Перед началом”- WordPress 5.6 или новее с включённым REST API (по умолчанию он включён). Для данных магазина - WooCommerce 3.5 или новее.
- Пользователь WordPress с ролью Administrator или Shop manager.
- Сайт должен быть доступен из интернета - DataEase не может подключиться к
localhostили адресу во внутренней сети. Держите его онлайн до конца миграции: изображения загружаются с него. - Магазин Shopify должен использовать ту же валюту, что и WooCommerce - цены копируются как есть, без пересчёта.
Шаг 1. Создайте пароль приложения в WordPress
Section titled “Шаг 1. Создайте пароль приложения в WordPress”- В админке WordPress откройте Users → Profile (или отредактируйте пользователя-администратора).
- Прокрутите до раздела Application Passwords.
- Введите название, например
DataEase, и нажмите Add New Application Password. - Скопируйте появившийся пароль (он выглядит как
abcd EFGH 1234 ijkl MNOP 5678). WordPress показывает его только один раз.
Пароль приложения - это не пароль для входа: он работает только для API и может быть отозван в любой момент.
Нет раздела «Application Passwords»? Он скрыт, если сайт не использует HTTPS или его отключает плагин безопасности (например, Wordfence → Login Security → Disable application passwords). Включите HTTPS или разрешите пароли приложений на время миграции.
Шаг 2. Подключите сайт в DataEase
Section titled “Шаг 2. Подключите сайт в DataEase”- В Shopify откройте DataEase → Store transfers.
- Выберите вкладку From WordPress / WooCommerce.
- Введите адрес сайта (например,
https://myshop.com), имя пользователя WordPress и пароль приложения. - Нажмите Check connection.
DataEase покажет название сайта, найден ли WooCommerce и сколько записей каждого типа есть на сайте.
Шаг 3. Выберите, что перенести, и начните
Section titled “Шаг 3. Выберите, что перенести, и начните”- Отметьте данные, которые хотите перенести - по умолчанию выбрано всё, что найдено на сайте.
- Если переносите записи блога, выберите блог Shopify, в который они попадут.
- Нажмите Start migration.
Миграция выполняется в фоне - страницу можно закрыть. В списке Transfers видно, какие данные переносятся прямо сейчас, и в любой момент можно нажать Cancel.
Шаг 4. Проверьте результат
Section titled “Шаг 4. Проверьте результат”Когда миграция завершится, в списке будет видно, сколько записей каждого типа перенесено, с предупреждениями, ошибками и их причинами - например, Orders: 1250 ⚠3. Типичные предупреждения - купоны с настройками, которые Shopify не поддерживает, или записи, уже перенесённые ранее.
После миграции
Section titled “После миграции”- Проверьте товары, коллекции и цены в админке Shopify.
- Настройте оплату, доставку и налоги - они не переносятся.
- Выберите и настройте тему, затем добавьте перенесённые страницы и коллекции в меню навигации.
- Подключите домен к Shopify. Старые ссылки вида
/product/red-jacket/теперь перенаправляются на/products/red-jacket. - Отзовите пароль приложения в WordPress (Users → Profile → Application Passwords → Revoke). DataEase удаляет его из своей базы данных сразу после завершения миграции.
Повторная миграция
Section titled “Повторная миграция”Миграцию можно запустить снова в любой момент - например, прямо перед сменой домена, чтобы подхватить новые заказы. Существующие записи обновляются, а не дублируются:
- товары, коллекции, клиенты, страницы и записи блога сопоставляются по handle или email и обновляются;
- ранее перенесённые заказы, существующие коды скидок и существующие редиректы пропускаются (вы увидите предупреждение с их количеством);
- изображения, уже скопированные в Shopify Files, используются повторно.
Как сопоставляются данные
Section titled “Как сопоставляются данные”Товары
Section titled “Товары”- Статус: Published → Active; Draft, Pending и Private → Draft. Товары, скрытые из каталога, не публикуются в Online Store.
- Цены: цена распродажи становится ценой в Shopify, а обычная цена - ценой для сравнения.
- Остатки: количества попадают на основную локацию. Товары с Allow backorders продолжают продаваться, когда закончились на складе.
- Опции: атрибуты вариативного товара (Color, Size, …) становятся опциями. Shopify поддерживает до 3 опций и 2048 вариантов на товар.
- Производитель: берётся из таксономии Brands WooCommerce, если она используется.
- Краткое описание сохраняется в метаполе
wordpress.short_description.
Заказы
Section titled “Заказы”| Статус WooCommerce | Статус оплаты в Shopify | Выполнение |
|---|---|---|
| Pending payment, On hold | Pending | Unfulfilled |
| Processing | Paid | Unfulfilled |
| Completed | Paid | Fulfilled |
| Refunded | Refunded | - |
| Cancelled | Voided | - |
Неудавшиеся заказы и черновики оформления не переносятся. Каждый перенесённый заказ получает тег wordpress и тег woo-<status> (например, woo-completed) и сохраняет свой номер из WooCommerce (#1045).
Купоны
Section titled “Купоны”| WooCommerce | Shopify |
|---|---|
| Процентная скидка | Скидка в процентах |
| Фиксированная скидка на корзину | Фиксированная сумма со всего заказа |
| Фиксированная скидка на товар | Фиксированная сумма с каждой подходящей позиции |
| Бесплатная доставка (сумма 0) | Скидка на бесплатную доставку |
| Только индивидуальное использование | Не сочетается с другими скидками |
| Лимит использований на пользователя = 1 | Одно использование на клиента |
Максимальная сумма, ограничения по email, исключённые товары и лимиты на пользователя больше 1 не имеют аналогов в Shopify; такие купоны переносятся без этих настроек, с предупреждением.
Решение проблем
Section titled “Решение проблем”| Сообщение | Что делать |
|---|---|
| WordPress rejected the credentials | Проверьте имя пользователя и создайте новый пароль приложения. Некоторые хостинги удаляют заголовок Authorization - попросите хостинг передавать его в PHP. |
| WooCommerce REST API was not found | Убедитесь, что WooCommerce активен. Без него можно перенести только записи, страницы и редиректы. |
| returned a non-JSON response | Плагин безопасности, файрвол или кеш блокирует REST API. Разрешите запросы к /wp-json/ на время миграции. |
| must be reachable from the internet | Используйте публичный адрес сайта, а не localhost или внутренний IP. |
| Image … was not copied | URL изображения был недоступен. Запись сохраняет старую ссылку - загрузите изображение в Content → Files вручную. |
Получают ли клиенты письма? Нет. Клиенты и заказы создаются без уведомлений и приглашений.
Изменяется ли мой сайт на WordPress? Нет. DataEase только читает с него данные.
Хранится ли пароль приложения? Только во время миграции, в зашифрованном виде. Он удаляется, когда миграция завершается, падает с ошибкой или отменяется.
Можно ли перенести только блог? Да. WordPress без WooCommerce тоже подойдёт: выберите Blog posts, Pages и Redirects.
Переезжаете с Magento или переносите данные между двумя магазинами Shopify? См. Миграция с Magento и Перенос между магазинами.
Реальный запуск с цифрами: миграция магазина WooCommerce на Shopify меньше чем за 90 секунд. Примечания к выпуску: миграция с WordPress / WooCommerce.