Как сделать автоматический импорт товара из Excel в WordPress

Если у вас интернет-магазин на WordPress, например, с использованием WooCommerce, то часто возникает необходимость массово импортировать товары из Excel-файла. Особенно если поставщик присылает обновления прайс-листов, и делать это вручную слишком долго и неудобно. В этой статье разберем, как организовать автоматический импорт товаров из Excel в WordPress, используя готовые плагины и собственные решения с кодом.

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

Ручной импорт товаров — это не только трудоемко, но и повышает риск ошибок, например, дублирование, пропуск важных данных, неправильное форматирование. Автоматизация позволяет:

  • Экономить время при обновлении товаров и цен.
  • Поддерживать актуальность ассортимента.
  • Уменьшить количество ошибок из-за человеческого фактора.
  • Интегрировать процесс с внешними системами, ERP или CRM.

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

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

Существует несколько плагинов, которые позволяют импортировать товары из Excel (XLS, XLSX) или CSV с расширенными настройками:

1. WP All Import + WooCommerce Add-On

Один из самых мощных и гибких инструментов. Позволяет импортировать Excel-файлы после конвертации в CSV, поддерживает сложные поля, вариации, пользовательские типы записей.

Преимущества:

  • Интуитивный интерфейс с drag&drop.
  • Поддержка автоматического запуска по расписанию (WP All Import Pro).
  • Обработка больших объемов данных.

Ссылка на плагин: WP All Import Pro

2. WooCommerce Product CSV Import Suite

Этот плагин от WooCommerce позволяет импортировать и обновлять товары из CSV, поддерживает вариации, атрибуты и мета-поля.

Для Excel — нужно конвертировать файл в CSV.

3. WP Ultimate CSV Importer

Поддерживает импорт из CSV и Excel напрямую, включая сложные данные для WooCommerce. Есть возможность автоматического импорта по расписанию.

Как самостоятельно реализовать импорт Excel в WooCommerce с помощью PHP-кода

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

Подключение PhpSpreadsheet и базовый код импорта

Сначала установим библиотеку через Composer (если есть доступ к серверу):

composer require phpoffice/phpspreadsheet

Пример функции для импорта товаров из Excel:

function wptem_import_products_from_excel($file_path) {
    require_once __DIR__ . '/vendor/autoload.php';
    $spreadsheet = \PhpOffice\PhpSpreadsheet\IOFactory::load($file_path);
    $worksheet = $spreadsheet->getActiveSheet();
    $rows = $worksheet->toArray();

    // Пропускаем заголовок
    for ($i = 1; $i < count($rows); $i++) {
        $row = $rows[$i];
        $sku = sanitize_text_field($row[0]);
        $title = sanitize_text_field($row[1]);
        $price = floatval($row[2]);
        $description = sanitize_textarea_field($row[3]);

        if (empty($sku) || empty($title)) continue;

        // Проверяем, есть ли товар с таким SKU
        $existing_product = wc_get_product_id_by_sku($sku);

        if ($existing_product) {
            $product = wc_get_product($existing_product);
        } else {
            $product = new WC_Product_Simple();
            $product->set_sku($sku);
        }

        $product->set_name($title);
        $product->set_price($price);
        $product->set_regular_price($price);
        $product->set_description($description);
        $product->save();
    }
}

Этот код считывает Excel, построчно получает SKU, название, цену и описание. Если товар с таким SKU есть — обновляет, иначе создает новый.

Запуск импорта по расписанию (CRON)

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

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

add_action('wptem_import_products_event', function() {
    $file_path = ABSPATH . 'wp-content/uploads/products.xlsx';
    wptem_import_products_from_excel($file_path);
});

Таким образом, загрузив новый Excel в указанную папку, вы получите обновление товаров автоматически.

Советы и рекомендации при импорте товаров из Excel

Чтобы импорт прошел успешно, соблюдайте следующие правила:

  • Обязательно проверяйте формат данных в Excel: SKU уникальны, цены — числа, нет пустых обязательных полей.
  • Используйте транзакции или временный режим, если импорт большого объема, чтобы избежать частичного обновления.
  • Для сложных товаров с вариациями лучше использовать WP All Import с WooCommerce Add-On.
  • Регулярно делайте резервные копии базы перед массовым импортом.
  • Если импорт большой — используйте пакетную обработку, чтобы не перегружать сервер.
  • Для интеграции с внешними системами рассмотрите плагины типа WP All Import Pro с API.

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

Помимо самого импорта, полезно использовать плагины для очистки, оптимизации и настройки товаров после импорта:

  • Clearfy Pro — для оптимизации и чистки базы.
  • WPRemark — для автоматизации отзывов, которые могут быть важны после импорта.

Выводы

Автоматический импорт товаров из Excel в WordPress (WooCommerce) реально организовать как с помощью популярных плагинов, так и собственными скриптами на PHP. Важно правильно подготовить данные, учитывать особенности товаров и предусмотреть регулярное обновление. Для большинства проектов оптимальным будет использование WP All Import Pro, а для уникальных задач — кастомный код с библиотекой PhpSpreadsheet.

WooCommerce: автоматическое удаление неактивных корзин и заказов
29.04.2026
Оптимизация кэша и кеширование в WordPress: лучшие практики и инструменты
08.11.2025
Как удалить закрепленные записи в WordPress: практические способы
07.02.2026
WooCommerce: автоматическое возврат средств после отмены заказа
10.06.2026
Как автоматизировать удаление спама в комментариях WordPress
18.02.2026