Как создать автоматический импорт продуктов в WooCommerce из Google Sheets

Иногда возникает необходимость массового и регулярного обновления каталога WooCommerce из таблицы Google Sheets. Это удобно, если поставщик или внутренний отдел ведут учет товаров в Google Sheets, а вы хотите автоматизировать процесс обновления магазина без ручного импорта CSV.

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

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

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

Google Sheets — популярный и удобный инструмент, поддерживающий совместную работу и облачное хранение, поэтому интеграция с WooCommerce здесь логична.

Основные подходы к импорту из Google Sheets в WooCommerce

Существует несколько способов автоматизировать импорт:

1. Использовать плагин с поддержкой импорта из Google Sheets

Плагины, например, WP Importer, позволяют настроить связку с Google Sheets и автоматически обновлять товары по расписанию.

Плюсы: простой интерфейс, расписание, поддержка маппинга полей.
Минусы: может быть платным, зависимость от плагина.

2. Использовать Google Sheets API и собственный скрипт на PHP

Если вы предпочитаете гибкость, можно написать собственный скрипт, который будет обращаться к Google Sheets API, получать данные и обновлять товары через WooCommerce REST API.

Плюсы: максимальный контроль, можно реализовать любую логику.
Минусы: требует навыков программирования, настройка API.

3. Экспорт CSV из Google Sheets и автоматический импорт с помощью плагина

В Google Sheets можно настроить экспорт CSV по URL, затем плагин типа WP All Import будет автоматически импортировать этот CSV.

Плюсы: не требует программирования.
Минусы: менее гибко, задержка обновления.

Пример: автоматический импорт из Google Sheets с помощью собственного PHP-скрипта

Рассмотрим вариант с использованием Google Sheets API и WooCommerce REST API. Для этого понадобится создать сервисный аккаунт в Google Cloud Console и получить JSON-файл с ключами.

Пример функции для получения данных из Google Sheets в WordPress:

function wptips_get_google_sheet_data($spreadsheetId, $range) {
    require_once __DIR__ . '/vendor/autoload.php';
    
    $client = new Google_Client();
    $client->setApplicationName('WPTips Importer');
    $client->setScopes([Google_Service_Sheets::SPREADSHEETS_READONLY]);
    $client->setAuthConfig(__DIR__ . '/credentials.json');
    $service = new Google_Service_Sheets($client);

    $response = $service->spreadsheets_values->get($spreadsheetId, $range);
    return $response->getValues();
}

Далее для обновления или создания товаров используем WooCommerce REST API. Пример функции для обновления товара по SKU:

function wptips_update_woocommerce_product($product_data) {
    $consumer_key = 'ck_xxx';
    $consumer_secret = 'cs_xxx';
    $store_url = 'https://yourstore.ru';

    $sku = $product_data['sku'];
    $args = [
        'headers' => [
            'Authorization' => 'Basic ' . base64_encode($consumer_key . ':' . $consumer_secret),
            'Content-Type' => 'application/json'
        ],
        'body' => json_encode($product_data),
        'timeout' => 60
    ];

    // Поиск товара по SKU
    $response = wp_remote_get("$store_url/wp-json/wc/v3/products?sku=$sku", $args);
    $products = json_decode(wp_remote_retrieve_body($response), true);

    if (!empty($products)) {
        // Обновляем первый найденный товар
        $product_id = $products[0]['id'];
        $update_response = wp_remote_request("$store_url/wp-json/wc/v3/products/$product_id", [
            'method' => 'PUT',
            'headers' => $args['headers'],
            'body' => json_encode($product_data),
            'timeout' => 60
        ]);
        return json_decode(wp_remote_retrieve_body($update_response), true);
    } else {
        // Создаем новый товар
        $create_response = wp_remote_post("$store_url/wp-json/wc/v3/products", $args);
        return json_decode(wp_remote_retrieve_body($create_response), true);
    }
}

Как настроить расписание для автоматического импорта

Для регулярного обновления можно использовать WP-Cron. Пример добавления задачи в functions.php:

add_action('wptips_scheduled_import', 'wptips_run_import');

if (!wp_next_scheduled('wptips_scheduled_import')) {
    wp_schedule_event(time(), 'hourly', 'wptips_scheduled_import');
}

function wptips_run_import() {
    $spreadsheetId = 'ваш_id_таблицы';
    $range = 'Sheet1!A1:G100';
    $rows = wptips_get_google_sheet_data($spreadsheetId, $range);

    foreach ($rows as $row) {
        // Формируем массив данных для обновления товара
        $product_data = [
            'sku' => $row[0],
            'name' => $row[1],
            'regular_price' => $row[2],
            'description' => $row[3],
            // Добавьте другие поля по необходимости
        ];
        wptips_update_woocommerce_product($product_data);
    }
}

Такой подход позволяет запускать импорт автоматически каждый час, подгружая свежие данные из Google Sheets.

Рекомендации по выбору плагинов для импорта

Если вы не хотите писать код, обратите внимание на плагины:

  • WP Importer — поддержка различных источников данных, включая Google Sheets, настройка расписаний, удобный интерфейс.
  • Clearfy Pro — оптимизация и расширение возможностей WooCommerce, возможна интеграция с импортом.

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

Типичные ошибки при автоматическом импорте и как их избежать

1. Проблемы с авторизацией в Google API — проверьте корректность ключей и права доступа.
2. Несоответствие формата данных — убедитесь, что структура Google Sheets совпадает с ожидаемой схемой WooCommerce.
3. Ограничения WP-Cron — не все хостинги корректно запускают задачи, можно использовать системный cron.
4. Конфликты с другими плагинами — тестируйте импорт на тестовом сайте, отключайте плагины, которые могут мешать.

Выводы

Автоматический импорт товаров из Google Sheets в WooCommerce — мощный инструмент для поддержания актуального каталога. Выбор метода зависит от ваших навыков и бюджета: готовые плагины ускоряют запуск, а кодовые решения обеспечивают гибкость и масштабируемость.

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

Как изменить URL адреса страниц в WordPress
10.11.2025
Как создать динамический favicon в WordPress
03.02.2026
Как установить автоматическое обновление тем и плагинов WordPress без рисков
16.12.2025
Как программно удалить заказы со статусом «Отменён» в WooCommerce
10.05.2026
Как создать собственный шорткод в WordPress: подробное руководство
31.10.2025