Переезд с WordPress и WooCommerce: товары, заказы и записи блога без потерь
Как уйти с WooCommerce и ничего не растерять: ключи REST API за две минуты, вариации, заказы в HPOS и в старом формате, мета-теги Yoast и Rank Math, записи блога с рубриками. И честно — чего API не отдаёт и когда нужен мост или дамп.

Переезд с WooCommerce на 100300 CMS делается бесплатным модулем «Переезд»: по ключам REST API, без единого файла на старом сайте, он забирает категории, бренды, товары с вариациями, отзывы, покупателей, заказы, купоны, страницы и записи блога, мета-теги Yoast и Rank Math и ставит 301 со старых адресов. Пароли покупателей и SEO-поля товаров API не отдаёт — для них есть файл-мост или дамп базы. Ниже — что нажать в WordPress, что получится и где подстраховаться.
Коротко:
- Основной способ — ключи REST API WooCommerce с правами «Чтение»; запасные — файл-мост, дамп .sql, прямое подключение к базе.
- Вариации становятся вариантами со своими ценами, остатками и фото; распродажи по датам — ценой со старой ценой.
- Заказы читаются и из HPOS, и из классических таблиц.
- Записи блога переезжают в «Блог» с рубриками, метками, автором и исходной датой.
- Через API не придут пароли, черновые страницы и Yoast товаров — нужен мост или дамп.
Что нужно для переезда с WooCommerce: ключи REST API
На новой стороне — бесплатное ядро 100300 CMS, платный модуль «Интернет-магазин» (разовая лицензия на домен) и бесплатный «Переезд». На старой — только ключи API. Получить их:
- В админке WordPress откройте WooCommerce → Настройки → Дополнительно → REST API.
- Нажмите «Добавить ключ». Описание — любое, пользователь — администратор, права — «Чтение».
- Скопируйте Consumer key (начинается с
ck_) и Consumer secret (cs_). Они показываются один раз. - В новом сайте: Магазин → Обмен данными → Переезд → «WooCommerce» → «Через API». Вставьте адрес магазина с https:// и оба ключа.
- «Проверить подключение» — мастер покажет, сколько нашёл товаров, заказов, покупателей, записей, и предупредит, чего API не отдаст.

Ключи с правом только на чтение ничего не могут изменить в старом магазине. Хранятся они зашифрованными и в интерфейсе больше не показываются. Если на сайте не включены «красивые» постоянные ссылки или сервер теряет заголовок авторизации, мастер сам подберёт рабочий вариант запроса.
Если подключение по API не проходит
- Ошибка доступа: ключ не принят. Проверьте, что скопированы оба ключа целиком, без пробелов, и что ключ создан от имени администратора.
- Магазин не найден по адресу. Адрес — главная страница WordPress с https://, без
/wp-adminи/shopна конце. - Сайт закрыт защитой от ботов или паролем на весь сайт. Плагины безопасности и «режим обслуживания» иногда режут запросы к
/wp-json/. Временно разрешите их или подключитесь мостом. - Сайта на WordPress уже нет, остался только архив. Тогда путь один — дамп базы из архива: мастер найдёт таблицы WooCommerce по префиксу сам. Но фото скачиваются по адресам сайта, поэтому поднимите копию старого сайта хотя бы на время переноса или укажите в «Дополнительно» другой адрес, откуда брать картинки.
Товары и вариации WooCommerce
- Атрибуты для вариаций становятся осями вариантов (цвет, размер), остальные атрибуты — характеристиками для фильтра. Значения глобальных атрибутов (
pa_*) переносятся по названиям. - Вариации — варианты со своим артикулом, ценой, остатком, весом и фото. Выключенные вариации не переносятся; ось со значением «любое» у вариации просто опускается.
- Распродажа по датам — цена распродажи становится ценой, обычная — зачёркнутой, дата окончания сохраняется.
- Остатки — если включено управление запасами; вариация без своего остатка делит остаток товара.
- Вес и габариты — в единицах, заданных в магазине; GTIN — в штрихкод.
- Бренды — встроенные бренды WooCommerce 9.6+ и таксономии популярных плагинов брендов.
- Фото — главное и галерея, скачиваются по адресам
/wp-content/uploads/…без дублей. - Отзывы — с рейтингом; первый одобренный ответ становится ответом магазина.
Начните с пробного переноса 20 товаров: откройте пару товаров с вариациями и сверьте сочетания, цены и фото со старыми карточками.
Заказы WooCommerce (в том числе HPOS) и покупатели
В WooCommerce два способа хранить заказы: новый HPOS (отдельные таблицы заказов) и классический — как записи WordPress. Модуль понимает оба: при подключении к базе сам смотрит, что включено, а через API формат хранения не важен.
- Заказ переносится с позициями (выбранные атрибуты — «Цвет: Красный»), сборами отдельной строкой, доставкой, оплатой, адресами и номером. Если стоял плагин последовательных номеров — с его номером.
- Заметки к заказу становятся историей: «Статус заказа изменён с X на Y» — сменой статуса, остальные — комментариями.
- Черновики оформления (брошенные на шаге оплаты) не переносятся.
- Покупатели — пользователи WordPress без ролей сотрудников (администратор, редактор, автор, менеджер магазина), с адресами оплаты и доставки.
- Купоны — процент, фиксированная скидка, бесплатная доставка, минимальная сумма, лимиты, срок, товары и категории.
Заказы ложатся без писем покупателям и без списания остатков. Статусы сопоставляются на шаге «Что переносить», мастер угадывает их по названиям.
Yoast и Rank Math: SEO-поля при переезде
Мета-теги — то, что чаще всего теряют при уходе с WordPress: они живут в плагине, а не в самом товаре. Модуль читает поля Yoast SEO и Rank Math и подставляет их переменные — %%title%%, %%sep%%, %%sitename%% и аналоги Rank Math превращаются в готовый текст. У категорий берутся мета-теги терминов.
Нюанс в способе подключения. Через REST API Yoast отдаёт мета-теги категорий, страниц и записей, но не товаров. Если у вас прописаны title и description для сотен карточек и они приносят трафик, используйте файл-мост или дамп — тогда SEO товаров переедет полностью. Если поля товаров пустые или собраны шаблоном, разницы нет: в 100300 CMS пустые поля заполняются по шаблону из настроек SEO.
Страницы и записи блога WordPress
Это то, чего нет в типичных сервисах миграции магазинов: блог переезжает вместе с каталогом.
- Записи попадают в раздел «Блог» (бесплатный модуль ядра должен быть включён). Рубрики, метки и автор находятся по названию или создаются; первая рубрика — главная. Дата публикации — со старого сайта, поэтому архив не «помолодеет».
- Страницы переезжают со своими адресами и SEO, кроме страниц магазина, корзины, оформления заказа и аккаунта — у нового сайта они свои.
- Содержимое очищается от служебной разметки: комментарии блочного редактора и шорткоды убираются. Значит, формы Contact Form 7, галереи и слайдеры на шорткодах исчезнут — формы собираются заново в конструкторе форм.
- Картинки внутри текстов мастер не скачивает: они остаются ссылками на
/wp-content/uploads/…. Пока старый сайт жив, всё показывается. Перед переключением домена скопируйте папкуwp-content/uploadsв папкуpublicнового сайта с тем же путём — и старые адреса картинок продолжат открываться.
Как устроен блог в 100300 CMS — рубрики, оглавление, FAQ, комментарии — описано в справке «Блог».
Чего API не отдаёт и как это обойти мостом или дампом
| Данные | REST API | Файл-мост | Дамп .sql / база |
|---|---|---|---|
| Категории, бренды, товары, вариации | Да | Да | Да |
| Заказы, покупатели, купоны, отзывы | Да | Да | Да |
| Опубликованные страницы и записи | Да | Да | Да |
| Черновые страницы | Нет | Да | Да |
| SEO-поля товаров (Yoast) | Нет | Да | Да |
| Пароли покупателей | Нет | Да | Да |
| Нужно ли что-то класть на старый сайт | Нет | Один файл | Нет (дамп из phpMyAdmin) |
Файл-мост — один PHP-файл с ключом вашего сайта, который кладётся в корень WordPress. Настройки базы он берёт из wp-config.php, только читает и удаляется кнопкой после переезда. Дамп выгружается в phpMyAdmin и загружается в мастер частями.
Про пароли. Из таблиц модуль переносит хэши WordPress всех поколений — phpass до версии 6.7, bcrypt 6.8+, совсем старый md5 — и проверяет их при первом входе покупателя. Через API хэшей нет: такие покупатели войдут по коду из письма или зададут пароль через «Забыли пароль?». Предупредите их об этом рассылкой.
Старые адреса WooCommerce: ЧПУ, ?p= и категории
Модуль строит старые адреса так, как их строил WordPress, и ставит 301 на новые страницы:
- товары — по базе из настроек постоянных ссылок, в том числе с
%product_cat%в пути; - категории и бренды (
/product-category/…,/brand/…или ваши базы); - страницы с родителями и записи — по структуре постоянных ссылок;
- адреса с параметрами:
?p=,?page_id=,?post_type=product&p=,?product=,?product_cat=.
Через API берутся ровно те адреса, что отдаёт WordPress. Как проверить редиректы после запуска и что делать с адресами, которых нет в базе, — в статье 301-редиректы при смене CMS. Шире про риски для позиций — как не потерять позиции при смене CMS.
После полного переноса остаётся то, что не живёт в базе WooCommerce: способы оплаты (ЮKassa, Т-Банк, CloudPayments, Robokassa с чеками 54-ФЗ), доставка, письма покупателям, формы и счётчики аналитики. Плагины WordPress не переносятся — для каждого важного найдите замену среди возможностей нового сайта заранее, ещё на этапе пробы. Если удобнее отдать весь путь целиком, на странице переезда магазина описано, что входит в перенос под ключ.
Итог
С WooCommerce уходить проще всего: ключи API делаются за пару минут, а модуль забирает и магазин, и блог с мета-тегами. Если важны пароли покупателей или SEO-поля товаров — подключайтесь мостом или дампом. Не забудьте про картинки внутри статей и формы на шорткодах. Почему вообще уходят с WooCommerce и чем отличается магазин из коробки, — на странице альтернатива WooCommerce. Попробовать перенос можно бесплатно: поставьте ядро на хостинг и сделайте пробный перенос 20 товаров. Скачать бесплатное ядро.


