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

Импорт товаров в WooCommerce — частая задача, особенно если нужно обновлять большой каталог или переносить данные с других платформ. В этой статье подробно разберём, как настроить автоматический импорт продуктов из CSV файла, используя как готовые плагины, так и собственный код для автоматизации.

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

Ручное добавление или обновление товаров в WooCommerce при большом ассортименте — это долго и неудобно. Автоматизация позволяет:

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

Рассмотрим, как реализовать автоматический импорт из CSV с помощью плагинов и собственного кода.

Популярные плагины для импорта CSV в WooCommerce

1. WP All Import

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

Чтобы настроить автоматический импорт:

  1. Установите и активируйте WP All Import.
  2. Создайте новый импорт, загрузив CSV или указав URL файла.
  3. Настройте сопоставление полей CSV с WooCommerce.
  4. В разделе Cron выберите автоматический запуск по расписанию.

2. Product CSV Import Suite

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

Минус — платный, но интеграция с WooCommerce на высоком уровне.

3. WPGPT и другие плагины из WPShop

Если вы используете WPShop, обратите внимание на WPGPT для создания описаний товаров автоматически. Это отлично дополняет импорт, когда в CSV нет полных описаний.

Как написать собственный скрипт для автоматического импорта CSV в WooCommerce

Если вы хотите гибко управлять импортом и иметь полный контроль, можно написать PHP-скрипт, который будет читать CSV и создавать / обновлять товары в WooCommerce.

Основные шаги:

  1. Загрузить и прочитать CSV файл.
  2. Обработать каждую строку и подготовить данные.
  3. Создать или обновить продукт через функции WooCommerce.

Пример кода импорта CSV в WooCommerce

function wptips_import_products_from_csv($csv_path) {
    if (!file_exists($csv_path)) {
        return new WP_Error('file_not_found', 'CSV файл не найден');
    }
    $file = fopen($csv_path, 'r');
    if (!$file) {
        return new WP_Error('file_open_error', 'Не удалось открыть CSV файл');
    }
    $header = fgetcsv($file);
    while (($row = fgetcsv($file)) !== false) {
        $data = array_combine($header, $row);
        if (!$data) {
            continue; // пропускаем некорректные строки
        }
        // Проверяем, есть ли продукт с таким SKU
        $product_id = wc_get_product_id_by_sku($data['sku']);
        if ($product_id) {
            $product = wc_get_product($product_id);
        } else {
            $product = new WC_Product_Simple();
        }
        $product->set_name($data['name']);
        $product->set_sku($data['sku']);
        $product->set_price($data['price']);
        $product->set_regular_price($data['price']);
        $product->set_description($data['description']);
        $product->set_stock_quantity(intval($data['stock']));
        $product->set_stock_status($data['stock'] > 0 ? 'instock' : 'outofstock');
        $product->save();
    }
    fclose($file);
    return true;
}

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

Автоматизация запуска скрипта через WP-Cron

Чтобы импорт происходил автоматически, можно зарегистрировать WP-Cron задачу, которая будет запускать импорт по расписанию:

function wptips_schedule_product_import() {
    if (!wp_next_scheduled('wptips_daily_import_event')) {
        wp_schedule_event(time(), 'daily', 'wptips_daily_import_event');
    }
}
add_action('wp', 'wptips_schedule_product_import');

add_action('wptips_daily_import_event', function() {
    $csv_path = WP_CONTENT_DIR . '/uploads/products.csv';
    wptips_import_products_from_csv($csv_path);
});

Этот код запланирует ежедневный импорт из файла products.csv в стандартной папке загрузок WordPress.

Рекомендации по работе с CSV и импортом

Форматирование CSV и проверка данных

Для успешного импорта нужно внимательно подготовить CSV:

  • Обязательно указывайте SKU — он нужен для идентификации товаров.
  • Используйте UTF-8 кодировку, чтобы избежать проблем с кириллицей.
  • Проверяйте, что все обязательные поля заполнены.
  • Для загрузки изображений в CSV указывайте полный URL к файлу.

Обработка ошибок и логгирование

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

Тестирование на тестовом сайте

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

Дополнительные плагины и инструменты для импорта

Clearfy Pro

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

Expert Review и Quizle для оценки товаров

После импорта товаров полезно добавить отзывы и оценки для повышения доверия покупателей. Плагины Expert Review и Quizle отлично справляются с этим.

Итоги

Автоматический импорт продуктов в WooCommerce из CSV — мощный инструмент для владельцев магазинов с большим ассортиментом. Для большинства задач оптимально использовать плагин WP All Import с расписанием, а для уникальных решений — писать свой скрипт на PHP с использованием WooCommerce API. Обязательно следите за форматированием CSV и тестируйте решения перед применением на боевом сайте.

Как использовать мета-записи для оптимизации WordPress
04.01.2026
Как создать автоматический редактор постов в WordPress
13.01.2026
Как создать динамические формы в WordPress с помощью REST API
27.01.2026
Как создать автоматический sitemap в WordPress с помощью кода
07.02.2026
Использование WP GPT для автоматического создания контента в WordPress
01.01.2026