Ситуация знакомая: интернет-магазин на 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% успеха. Вот что нужно сделать до запуска импорта:

Подготовка данных

  1. Выгрузите товары с текущего сайта. Если это WooCommerce — экспорт через родной инструмент или WP All Export.
  2. Проверьте структуру: есть ли столбцы для атрибутов, правильно ли указаны типы товаров, заполнены ли SKU.
  3. Убедитесь, что вариации ссылаются на родительские товары.
  4. Подготовьте изображения: лучше всего если они доступны по прямым URL.

Подготовка нового сайта

  1. Создайте все глобальные атрибуты в WooCommerce заранее.
  2. Настройте категории и теги.
  3. Установите WP All Import + WooCommerce Add-On (если используете его).
  4. Сделайте бэкап. Серьёзно. Перед любым массовым импортом — бэкап.

Запуск и проверка

  1. Импортируйте небольшую партию (10-20 товаров) для теста.
  2. Откройте карточки товаров на сайте — проверьте атрибуты, вариации, цены, изображения.
  3. Протестируйте фильтры на витрине: работают ли они по атрибутам?
  4. Проверьте, что вариации отображаются в выпадающих списках на странице товара.
  5. Запускайте полный импорт.

Типичные проблемы после импорта и как их решить

Вариации не отображаются

Чаще всего причина — не заполнена цена у вариаций. WooCommerce не показывает варианты без цены. Проверьте CSV-файл или перезапустите импорт с исправленными данными.

Атрибуты не появляются в фильтрах

Значит, они импортировались как локальные, а не глобальные. Нужно либо пересоздать атрибуты как глобальные и переимпортировать, либо использовать плагин вроде «Bulk Attribute Converter», чтобы перевести локальные атриб

Добавить комментарий

Разработка сайтов на Wordpress