Автоматический импорт продукции в WooCommerce из CSV

Для владельцев интернет-магазинов на WordPress с WooCommerce часто возникает задача автоматического импорта товаров из CSV файлов. Это необходимо для регулярного обновления ассортимента, синхронизации с поставщиками и упрощения управления каталогом. В этой статье мы подробно рассмотрим, как настроить такой импорт с помощью кода и популярных плагинов, а также приведём рабочие примеры и рекомендации.

Почему автоматический импорт товаров из CSV важен для WooCommerce

Ручное добавление и обновление товаров в WooCommerce занимает много времени и чревато ошибками. Особенно если ассортимент большой или поставщик регулярно обновляет данные. Автоматизация процесса позволяет:

  • Экономить время сотрудников;
  • Избегать ошибок при вводе данных;
  • Поддерживать актуальность каталога в реальном времени;
  • Упрощать интеграцию с поставщиками и 1С;
  • Автоматически обновлять цены, остатки и описания.

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

Обзор плагинов для автоматического импорта CSV в WooCommerce

Существует множество плагинов, которые помогут автоматизировать импорт продукции из CSV. Рассмотрим самые популярные и удобные:

WP All Import + WooCommerce Add-On

Один из наиболее мощных и гибких плагинов для импорта любых данных в WordPress и WooCommerce. Позволяет настраивать правила импорта, обновлять существующие товары, поддерживает любые форматы CSV и XML.

Плюсы:

  • Гибкие настройки;
  • Поддержка cron для автоматического запуска импортов;
  • Обработка больших файлов;
  • Интеграция с другими плагинами.

Минусы — платная версия для WooCommerce.

Product CSV Import Suite (официальный плагин WooCommerce)

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

Плюсы:

  • Хорошая совместимость с WooCommerce;
  • Обновление товаров по SKU;
  • Поддержка сложных товаров.

Минус — платный, и иногда сложен для новичков.

WP All Import + Clearfy Pro для оптимизации

Для ускорения и оптимизации работы сайта можно дополнительно использовать плагин Clearfy Pro (https://wpshop.ru/clearfy-pro?utm_source=wpsolution.ru&utm_medium=article&utm_campaign=kak-sozdat-avtomaticheskij-import-produkciyi-v-woocommerce-iz-csv) — он уменьшит нагрузку и оптимизирует базу данных, что особенно важно при большом количестве товаров.

Пример простого автоматического импорта CSV с помощью кода в functions.php

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

function wpsolution_import_products_from_csv() {
    $csv_file = WP_CONTENT_DIR . '/uploads/products.csv';
    if (!file_exists($csv_file)) {
        error_log('CSV файл не найден: ' . $csv_file);
        return;
    }

    if (($handle = fopen($csv_file, 'r')) !== false) {
        $header = fgetcsv($handle, 1000, ',');
        while (($data = fgetcsv($handle, 1000, ',')) !== false) {
            $row = array_combine($header, $data);
            if (!$row) continue;

            $sku = sanitize_text_field($row['sku']);
            if (!$sku) continue;

            $product_id = wc_get_product_id_by_sku($sku);
            if ($product_id) {
                // Обновляем существующий товар
                $product = wc_get_product($product_id);
            } else {
                // Создаём новый товар
                $product = new WC_Product_Simple();
                $product->set_sku($sku);
            }

            $product->set_name(sanitize_text_field($row['name']));
            $product->set_price(floatval($row['price']));
            $product->set_regular_price(floatval($row['price']));
            $product->set_description(sanitize_textarea_field($row['description']));
            $product->set_stock_quantity(intval($row['stock']));
            $product->set_manage_stock(true);
            $product->save();
        }
        fclose($handle);
    }
}

// Планируем импорт раз в сутки
if (!wp_next_scheduled('wpsolution_daily_import')) {
    wp_schedule_event(time(), 'daily', 'wpsolution_daily_import');
}
add_action('wpsolution_daily_import', 'wpsolution_import_products_from_csv');

В этом коде мы читаем CSV файл с колонками sku, name, price, description, stock и создаём или обновляем товары. Такой способ подходит для простых каталогов без вариаций.

Обработка ошибок и уведомления при импорте

При автоматическом импорте важно предусмотреть обработку ошибок и информирование администратора. В примере выше мы используем error_log, но можно расширить функцию, добавив отправку письма:

function wpsolution_import_products_from_csv() {
    $errors = [];
    $csv_file = WP_CONTENT_DIR . '/uploads/products.csv';
    if (!file_exists($csv_file)) {
        $errors[] = 'CSV файл не найден: ' . $csv_file;
    } else {
        if (($handle = fopen($csv_file, 'r')) !== false) {
            $header = fgetcsv($handle, 1000, ',');
            while (($data = fgetcsv($handle, 1000, ',')) !== false) {
                $row = array_combine($header, $data);
                if (!$row) continue;
                // тут логика импорта...
            }
            fclose($handle);
        } else {
            $errors[] = 'Не удалось открыть CSV файл.';
        }
    }

    if (!empty($errors)) {
        wp_mail('admin@site.ru', 'Ошибки импорта товаров', implode("\n", $errors));
    }
}

Так вы всегда будете в курсе проблем и сможете оперативно их решать.

Рекомендации по форматированию CSV и подготовке данных

Чтобы импорт прошёл гладко, придерживайтесь следующих правил:

  • В CSV обязательно должны быть уникальные и постоянные идентификаторы (SKU);
  • Используйте UTF-8 кодировку для избежания проблем с русскими символами;
  • Для описаний и названий избегайте HTML-тегов, если не уверены в безопасности;
  • При наличии вариаций товаров используйте отдельные колонки для атрибутов и создавайте вариативные товары через плагины или расширенный код;
  • Регулярно проверяйте файл на ошибки и корректность данных.

Заключение

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

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

Как создать автоматический резервный бэкап WordPress с помощью плагинов и кода
03.01.2026
Как создать собственный shortcode в WordPress с примером кода
03.12.2025
Как автоматизировать работу с мета-тегами в WordPress
28.12.2025
Запрет для поисковых роботов через robots.txt в WordPress: настройка и примеры
03.02.2026
Как удалить метаданные заказа WooCommerce из базы после его закрытия
24.04.2026