Встроенный CSV-импорт WooCommerce подходит не только для первоначального наполнения магазина. Его можно использовать для массового обновления цен, остатков, описаний, атрибутов, изображений и других данных, если файл подготовлен правильно и товары однозначно сопоставляются с существующим каталогом.
Основной риск массового импорта — не сам CSV, а неправильная идентификация строк. Если магазин не понимает, какой товар нужно обновить, вместо изменения существующей карточки легко получить дубль или частично испорченные данные.
Что умеет штатный CSV Importer WooCommerce
WooCommerce содержит встроенные инструменты импорта и экспорта товаров. Они позволяют создавать новые товары, обновлять существующие, переносить часть каталога между установками и массово редактировать данные в таблице.
Для большинства обычных каталогов это удобнее, чем вручную открывать сотни карточек. Но CSV лучше воспринимать как интерфейс массовой записи в магазин: перед запуском нужно понимать, какие поля являются идентификаторами, какие значения будут заменены и какие данные нельзя восстановить без резервной копии.
Главное правило: стабильный ID или SKU
При обновлении существующих товаров WooCommerce должен однозначно понять, к какой записи относится каждая строка. Для этого используются существующие идентификаторы товара и SKU.
SKU особенно полезен, если каталог синхронизируется с внешней системой: учётной программой, ERP, таблицей поставщика или собственным скриптом. В таком случае SKU должен быть стабильным ключом, а не временным значением, которое меняется вместе с названием товара.
- не меняйте SKU и цену в одной операции, если SKU используется как основной ключ сопоставления;
- проверяйте уникальность SKU до импорта;
- не создавайте новый товар только потому, что изменилось название;
- для автоматизации храните связь внешнего ID с WooCommerce отдельно, если SKU недостаточно.
Сначала экспортируйте текущий каталог
Перед крупным обновлением полезно сделать экспорт существующих товаров. Он решает сразу две задачи: показывает формат полей, который понимает текущая версия WooCommerce, и создаёт контрольную копию данных для сравнения.
Экспорт не заменяет полноценный backup базы данных, но позволяет быстро увидеть, какие значения были в каталоге до изменений. Для рискованной операции лучше иметь и резервную копию базы, и выгрузку товаров.
Как подготовить CSV
WooCommerce ожидает корректный CSV-файл, обычно в UTF-8. Названия колонок можно сопоставить на этапе импорта, но чем ближе структура к штатному экспорту WooCommerce, тем меньше вероятность неправильного маппинга.
Практически безопасный подход — сначала выгрузить несколько существующих товаров, использовать полученный файл как шаблон и уже на его основе формировать массовую загрузку.
Не добавляйте ненужные колонки
Если задача состоит только в обновлении цены и остатка, не обязательно отправлять обратно весь набор полей товара. Чем меньше данных участвует в массовом изменении, тем проще контролировать результат.
Особенно внимательно относитесь к пустым значениям. В зависимости от поля и сценария пустая ячейка может означать не «ничего не менять», а запись пустого значения. Поэтому перед импортом стоит протестировать поведение на нескольких товарах.
Режим Update existing products
Для изменения уже существующего каталога нужно использовать режим обновления существующих товаров. Тогда WooCommerce пытается сопоставить строки CSV с имеющимися записями и применить изменения к ним.
Самая частая ошибка — загрузить файл, подготовленный для обновления, как набор новых товаров. Если в файле нет корректного ключа сопоставления, результатом становятся новые карточки вместо изменения старых.
Вариативные товары требуют отдельной проверки
У вариативного товара есть родительская карточка и отдельные вариации. Поэтому массовое изменение таких товаров сложнее, чем простых: нужно сохранить правильную связь между родителем, атрибутами и вариантами.
После импорта обязательно откройте несколько вариативных карточек и проверьте не только цену на витрине, но и сами вариации в админке: SKU, значения атрибутов, статус наличия и доступность выбора на странице товара.
Если магазин активно использует фильтры по атрибутам, после массовых изменений стоит дополнительно проверить lookup-таблицы WooCommerce. Отдельно об этом есть материал о таблице атрибутов WooCommerce и восстановлении фильтров.
Импорт изображений
Штатный importer умеет работать с изображениями, которые уже находятся в медиабиблиотеке, а также с доступными по прямому URL файлами. Внешний URL должен реально отдавать изображение без авторизации, HTML-заглушек и временных токенов.
Для большого каталога загрузка сотен внешних изображений одновременно значительно увеличивает время импорта и количество возможных сетевых ошибок. Если картинки критичны, лучше сначала проверить небольшую выборку и только затем запускать полный пакет.
Также учитывайте, что штатный CSV importer не является универсальным инструментом редактирования всей медиабиблиотеки. Например, задачи массового изменения alt-текстов лучше решать отдельно.
Пользовательские метаполя
CSV можно использовать и для части пользовательских метаданных. Это удобно, когда товарные характеристики хранятся не только в стандартных полях WooCommerce, но и в собственных meta-полях интеграции.
Здесь особенно важно заранее определить владельца данных. Если одно и то же поле меняет и менеджер вручную, и внешний импорт, рано или поздно одна система перезапишет другую. Для автоматизации лучше документировать, какие поля управляются импортом, а какие остаются ручными.
Большой каталог лучше обновлять пакетами
Файл на несколько тысяч товаров может упереться не в WooCommerce как таковой, а в лимиты PHP, память, время выполнения, обработку изображений или производительность базы. Официальная документация WooCommerce прямо рекомендует при проблемах разбивать крупные CSV на меньшие части.
Разбиение на пакеты дополнительно упрощает контроль: если ошибка появилась в одном сегменте, не приходится повторять весь каталог.
Безопасная схема массового обновления
- Сделать резервную копию базы и экспорт текущих товаров.
- Зафиксировать ключ сопоставления: ID, SKU или внешний идентификатор интеграции.
- Подготовить минимальный CSV только с нужными полями.
- Запустить тест на 3–10 товарах, включая простой и вариативный.
- Проверить карточки в админке и на витрине.
- Проверить цену, остаток, SKU, атрибуты и изображения.
- Только после теста импортировать основную выборку.
- После завершения проверить журнал ошибок и случайную выборку товаров.
Когда CSV уже недостаточно
Если поставщик присылает файл раз в месяц, ручной CSV может быть вполне нормальным решением. Если цены и остатки меняются каждый час, постоянный ручной импорт превращается в источник ошибок.
Для регулярной синхронизации лучше использовать API, cron-задачи или специализированный интеграционный слой. Тогда можно хранить состояние синхронизации, логировать ошибки, повторять только упавшие позиции и не заставлять менеджера каждый раз загружать файл вручную.
Такие сценарии относятся уже к доработке и интеграции WooCommerce, а CSV может остаться резервным способом массового обслуживания каталога.
Как не сломать остатки
При синхронизации склада важно определить единственный источник истины. Если остаток одновременно меняет касса, ERP, импорт поставщика и менеджер в WooCommerce, цифры быстро начинают расходиться.
Для магазинов с активными заказами дополнительно учитывайте резервирование товара на время оформления. Подробно этот механизм разобран в статье о резервировании остатков WooCommerce.
Типичные причины неудачного импорта
- неуникальные или изменившиеся SKU;
- неправильное сопоставление колонок;
- ошибочная кодировка CSV;
- пустые значения там, где ожидалось «не менять»;
- нарушенная структура вариаций;
- недоступные URL изображений;
- слишком большой файл для лимитов сервера;
- параллельное изменение тех же данных другой интеграцией.
Что проверить после импорта
Не ограничивайтесь сообщением «Import complete». Откройте несколько товаров разных типов и сравните их с исходными данными. Затем проверьте каталог глазами покупателя: фильтры, вариации, цены, наличие и изображения.
Если обновлялось большое количество записей, полезно сравнить количество товаров до и после операции. Неожиданный рост часто сразу показывает, что вместо обновления появились дубли.
Итог
CSV-импорт WooCommerce надёжен, когда каталог имеет стабильные идентификаторы, файл содержит только контролируемые изменения, а массовой операции предшествует тест. Главная защита от дублей — правильное сопоставление существующих товаров, а главная защита от потери данных — backup и небольшой тестовый пакет.
Если нужно настроить импорт поставщика, регулярное обновление цен и остатков или автоматическую синхронизацию каталога WooCommerce, A.S Groups может реализовать и проверить такой процесс под конкретную структуру магазина. Связаться по проекту.
Обсуждение
Вопросы и комментарии
Можно уточнить детали статьи или поделиться своим опытом. Первый комментарий проходит проверку.