Как создать автоматический импорт продуктов WooCommerce из CSV файла

Зачем нужен автоматический импорт продуктов в WooCommerce

При ведении интернет-магазина на базе WooCommerce часто возникает задача массового добавления или обновления товаров. Если товары регулярно меняются, например, обновляются цены, добавляются новые позиции или изменяется описание, вводить все вручную неудобно и долго. Автоматический импорт из CSV позволяет сэкономить время и избежать ошибок, которые неизбежны при ручном вводе.

В этой статье разберем, как настроить автоматический импорт товаров из CSV с помощью популярных плагинов, а также рассмотрим пример собственного решения на PHP для более гибкой настройки.

Обзор популярных плагинов для импорта товаров в WooCommerce из CSV

WP All Import + WooCommerce Add-On

Один из самых мощных и гибких инструментов для импорта любых данных в WordPress и WooCommerce. Позволяет настраивать соответствие колонок CSV с полями товара, поддерживает автоматический запуск по расписанию (cron), обновление существующих продуктов по ID или SKU.

Основные преимущества:

  • Поддержка любых типов продуктов WooCommerce (простые, вариативные и т.д.)
  • Интуитивный интерфейс с drag & drop
  • Возможность добавлять изображения, категории, атрибуты
  • Автоматизация через WP-Cron

Product Import Export for WooCommerce

Бесплатный плагин с базовым функционалом импорта и экспорта товаров. Подходит для простых задач без сложных настроек.

Ограничения:

  • Меньше возможностей по автоматизации и обновлению
  • Нет поддержки вариативных продуктов в бесплатной версии

Использование плагина Clearfy Pro для оптимизации импорта

Плагин Clearfy Pro имеет модули для оптимизации WooCommerce, в том числе ускорение обработки данных и очистку лишних метаданных после импорта, что помогает избежать замедления сайта при большом количестве продуктов.

Практическое решение: пример кода для автоматического импорта CSV в WooCommerce

Если хочется обойтись без плагинов и сделать свой скрипт, можно использовать хук WordPress и функции WooCommerce для создания и обновления товаров. Ниже пример функции wpstock_import_woocommerce_products_from_csv, которая читает CSV и добавляет товары.

function wpstock_import_woocommerce_products_from_csv($csv_path) {
    if (!file_exists($csv_path)) {
        error_log('CSV файл не найден: ' . $csv_path);
        return;
    }

    $handle = fopen($csv_path, 'r');
    if (!$handle) {
        error_log('Не удалось открыть CSV файл.');
        return;
    }

    $header = fgetcsv($handle, 1000, ',');
    while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
        $product_data = array_combine($header, $data);

        // Поиск продукта по SKU
        $existing_id = wc_get_product_id_by_sku($product_data['sku']);
        if ($existing_id) {
            $product = wc_get_product($existing_id);
        } else {
            $product = new WC_Product_Simple();
        }

        $product->set_name($product_data['name']);
        $product->set_sku($product_data['sku']);
        $product->set_regular_price($product_data['price']);
        $product->set_description($product_data['description']);
        $product->set_stock_quantity($product_data['stock']);
        $product->set_manage_stock(true);
        $product->save();
    }
    fclose($handle);
}

// Запуск импорта по расписанию
add_action('wpstock_import_products_cron', function() {
    $csv_file = ABSPATH . 'wp-content/uploads/import/products.csv';
    wpstock_import_woocommerce_products_from_csv($csv_file);
});

// Для автоматизации нужно добавить wp_cron событие, например при активации темы или плагина
if (!wp_next_scheduled('wpstock_import_products_cron')) {
    wp_schedule_event(time(), 'hourly', 'wpstock_import_products_cron');
}

Такой код можно расширять: добавлять импорт вариативных товаров, категорий, изображений. Главное — убедиться в корректности CSV и соответствия заголовков.

Как настроить автоматический запуск импорта по расписанию (WP-Cron)

Для автоматизации процесса импорт можно запускать регулярно с помощью WP-Cron. В примере выше событие запускается ежечасно. Можно менять период на дневной, недельный в зависимости от требований.

Чтобы проверить работу cron, используйте плагины, например WP Crontrol, которые позволяют видеть и тестировать запланированные события.

Советы по подготовке CSV файла для импорта в WooCommerce

CSV должен содержать обязательные поля:

  • sku — уникальный артикул товара
  • name — название товара
  • price — цена
  • description — описание
  • stock — количество на складе

Также желательно добавить поля для категорий, изображений, атрибутов, если вы планируете импортировать эти данные. Формат CSV должен быть корректным, разделитель — запятая или точка с запятой, без лишних пробелов.

Заключение по теме автоматического импорта товаров

Автоматизация импорта товаров в WooCommerce из CSV — это мощный инструмент, который значительно облегчает жизнь владельцам магазинов и разработчикам. Использование готовых плагинов, таких как WP All Import, значительно упрощает задачу, но при необходимости можно реализовать свое решение с помощью PHP и WP-Cron.

Если хотите ускорить импорт и оптимизировать WooCommerce для больших каталогов, рекомендую обратить внимание на плагин Clearfy Pro с его возможностями по очистке и оптимизации.

Для подробного ознакомления с подобными плагинами и решениями посетите раздел плагинов WooCommerce на WPSHOP.

Как настроить автоматическое сохранение черновиков в WordPress для защиты контента
24.12.2025
Автоматическое удаление завершённых заказов в WooCommerce: практическое руководство
08.05.2026
Как оценивать и оптимизировать производительность WordPress сайта
13.03.2026
Как удалить неиспользуемые теги в WordPress
05.01.2026
Как удалить ненужные атрибуты alt из изображений WordPress для SEO и производительности
23.04.2026