Ситуация знакомая: интернет-магазин на WooCommerce, в каталоге сотни товаров, у каждого — десятки вариаций. Цвета, размеры, материалы. И вот вы решаете перенести всё на новый сайт или обновить базу. Открываете родной импорт WooCommerce, загружаете CSV-файл, жмёте «Импортировать» — а вместо красивого каталога получаете кашу. Вариации пропали, атрибуты перепутались, одни товары задвоились, другие вообще исчезли.
Я такое видел не раз. И каждый раз причина одна — непонимание, как именно WooCommerce хранит атрибуты и вариации внутри. Потому что с обычными товарами без вариантов всё работает «из коробки», а как только появляются переменные товары — тут начинается головная боль.
Разберём два основных способа: родной импорт WooCommerce и WP All Import. Покажу, как каждый из них работает с атрибутами и вариациями, где подводные камни и что лучше выбрать для конкретной задачи.
Как WooCommerce хранит атрибуты и вариации
Прежде чем говорить про импорт, нужно понять логику WooCommerce. Потому что без этого вы будете гадать, почему файл не загружается корректно.
Атрибуты: глобальные и локальные
В WooCommerce есть два типа атрибутов:
- Глобальные атрибуты — создаются в разделе «Товары → Атрибуты». Например, «Цвет», «Размер», «Материал». Они живут отдельно от товаров и могут использоваться для фильтрации в магазине.
- Локальные (произвольные) атрибуты — привязаны к конкретному товару. Вы их задаёте прямо в карточке товара. Для фильтрации они не подходят, только для отображения характеристик.
Это принципиальное различие. Если вы импортируете товары с локальными атрибутами, но хотите потом фильтровать по ним в каталоге — не получится. Нужно заранее создать глобальные атрибуты и настроить файл импорта правильно.
Вариации — это отдельные товары
Что многих удивляет: вариация в WooCommerce — это не просто «подпункт» основного товара. Это отдельный пост типа product_variation, связанный с родительским товаром. У каждой вариации свой SKU, своя цена, свои изображения, свои значения атрибутов.
Вот почему CSV-файл для импорта переменных товаров выглядит так странно — в нём одна строка на вариацию, а не на товар. Товар с тремя размерами и двумя цветами — это минимум 6 строк в файле, плюс одна строка на сам родительский товар.
Родной импорт WooCommerce: плюсы и ограничения
В WooCommerce есть встроенный инструмент импорта. Найти его можно в WooCommerce → Товары → Импорт. Он бесплатный, не требует установки плагинов и справляется с простыми задачами.
Что он умеет
- Импортировать простые и переменные товары из CSV
- Создавать глобальные атрибуты (если они уже зарегистрированы в системе)
- Обновлять существующие товары по SKU
- Загружать изображения по URL
- Назначать категории и теги
Формат файла для вариаций
Вот ключевая часть. Для переменных товаров CSV-файл должен содержать:
- Строку с типом
parent— это сам товар-родитель - Строки с типом
variation— это все вариации - Столбцы атрибутов вида
Attribute 1 name,Attribute 1 value(s) - Столбец
Parentс идентификатором родительского товара для каждой вариации
Пример структуры CSV:
| SKU | Тип | Имя | Parent | Атрибут 1 имя | Атрибут 1 значение | Атрибут 2 имя | Атрибут 2 значение | Цена |
|---|---|---|---|---|---|---|---|---|
| TSHIRT-001 | variable | Футболка базовая | Размер | Цвет | ||||
| TSHIRT-001-S-BLK | variation | TSHIRT-001 | Размер | S | Цвет | Чёрный | 1200 | |
| TSHIRT-001-M-BLK | variation | TSHIRT-001 | Размер | M | Цвет | Чёрный | 1200 |
Где родной импорт спотыкается
Проблемы начинаются, когда:
- Атрибуты ещё не созданы в системе. Если глобальный атрибут «Размер» не зарегистрирован в WooCommerce, импорт просто проигнорирует соответствующие столбцы. Вы получите товары без атрибутов — и даже не увидите ошибки.
- Сложная структура файлов. Допустим, ваши данные лежат в XML, или в нескольких файлах, или в Google Sheets. Родной импорт умеет только CSV и только один файл за раз.
- Большой объём. На практике при импорте нескольких тысяч товаров с вариациями родной инструмент может тормозить или падать с ошибкой по таймауту.
- Нужна логика. Например, вы хотите импортировать товары только определённой категории. Или преобразовать данные «на лету» — склеить поля, поменять формат цены. Родной импорт этого не умеет.
WP All Import: гибкий инструмент для сложных задач
WP All Import — это отдельный плагин (есть бесплатная и Pro-версия). Для WooCommerce нужен аддон WooCommerce Import Add-On. В связке они дают гораздо больше возможностей, чем родной импорт.
Когда он реально нужен
Если у вас простые товары и CSV-файл в правильном формате — родного импорта достаточно. WP All Import оправдан в нескольких случаях:
- Данные в XML или нестандартном CSV. Плагин умеет работать с практически любой структурой. Вы просто перетаскиваете нужные поля в соответствующие секции маппинга.
- Нужна трансформация данных. Через PHP-функции можно на лету менять значения. Например, если в файле цена в долларах, а вам нужны рубли — умножаете на курс прямо при импорте.
- Расписание и автоматизация. WP All Import умеет запускать импорт по расписанию. Это полезно, если вы получаете прайсы от поставщиков регулярно.
- Огромные файлы. Плагин обрабатывает данные порциями и нормально справляется с десятками тысяч товаров.
Настройка атрибутов и вариаций
В интерфейсе WP All Import есть отдельная секция для WooCommerce. В ней вы указываете:
- Тип товара — простой или переменный
- Атрибуты — для каждого атрибута выбираете источник данных из файла. Если атрибут глобальный, ставите галочку «Использовать глобальный атрибут» — плагин автоматически подтянет значения.
- Вариации — здесь можно задать правила. К примеру, если в XML-файле вариации вложены внутрь товара как подузлы, вы просто указываете XPath или соответствующие элементы.
Крутая фишка WP All Import — drag & drop маппинг. Вы видите структуру файла слева и форму товара справа. Перетаскиваете значения в нужные поля — и всё. Никакого ручного редактирования CSV.
Частые ошибки при настройке
Даже с WP All Import бывают проблемы. Вот типичные:
- Не создали глобальные атрибуты заранее. Плагин может создать локальные атрибуты вместо глобальных, и фильтры на сайте не заработают.
- Неправильный разделитель. Если в одном поле несколько значений (например, цвета через запятую), нужно указать правильный разделитель. Иначе всё слипнется в одно значение.
- Привязка вариаций. Если у товара и вариации разные идентификаторы и связи не настроены — вариации создаются как отдельные товары. Проверяйте поле «Parent SKU».
- Конфликт с другими плагинами. Бывает, что плагины кеширования или SEO-плагины мешают импорту. Отключайте лишнее перед запуском.
Родной импорт vs WP All Import — что выбрать
Зависит от вашей ситуации. Вот простая логика:
| Критерий | Родной импорт | WP All Import Pro |
|---|---|---|
| Стоимость | Бесплатно | От $99 (разовая покупка) |
| Форматы | Только CSV | CSV, XML, Excel, Google Sheets |
| Маппинг | Автоматический, ограниченный | Drag & drop, гибкий |
| Вариации | Работает, но нужен правильный формат | Работает с любой структурой |
| Автоматизация | Нет | Расписание, cron |
| Объём данных | До ~1000 товаров комфортно | Десятки тысяч товаров |
| Сложность настройки | Низкая | Средняя |
Пошаговый перенос товаров с вариациями: чек-лист
Какой бы способ вы ни выбрали, подготовка — 80% успеха. Вот что нужно сделать до запуска импорта:
Подготовка данных
- Выгрузите товары с текущего сайта. Если это WooCommerce — экспорт через родной инструмент или WP All Export.
- Проверьте структуру: есть ли столбцы для атрибутов, правильно ли указаны типы товаров, заполнены ли SKU.
- Убедитесь, что вариации ссылаются на родительские товары.
- Подготовьте изображения: лучше всего если они доступны по прямым URL.
Подготовка нового сайта
- Создайте все глобальные атрибуты в WooCommerce заранее.
- Настройте категории и теги.
- Установите WP All Import + WooCommerce Add-On (если используете его).
- Сделайте бэкап. Серьёзно. Перед любым массовым импортом — бэкап.
Запуск и проверка
- Импортируйте небольшую партию (10-20 товаров) для теста.
- Откройте карточки товаров на сайте — проверьте атрибуты, вариации, цены, изображения.
- Протестируйте фильтры на витрине: работают ли они по атрибутам?
- Проверьте, что вариации отображаются в выпадающих списках на странице товара.
- Запускайте полный импорт.
Типичные проблемы после импорта и как их решить
Вариации не отображаются
Чаще всего причина — не заполнена цена у вариаций. WooCommerce не показывает варианты без цены. Проверьте CSV-файл или перезапустите импорт с исправленными данными.
Атрибуты не появляются в фильтрах
Значит, они импортировались как локальные, а не глобальные. Нужно либо пересоздать атрибуты как глобальные и переимпортировать, либо использовать плагин вроде «Bulk Attribute Converter», чтобы перевести локальные атриб
Добавить комментарий