Автоматизированное наполнение и синхронизация каталога WooCommerce

Описание:

Разработана система автоматического импорта, обновления и синхронизации каталога интернет-магазина на WordPress (WooCommerce) с использованием данных от нескольких поставщиков. Решение охватывает как открытые источники (CSV/XML), так и парсинг защищённого сайта с обходом Cloudflare.

Технологии:

  • WordPress, WooCommerce, Polylang

  • PHP, WooCommerce REST API, MySQL

  • Python (Selenium + undetected-chromedriver)

  • CRON, Bash

  • Форматы данных: CSV, XML, JSON, изображения (JPG/PNG)

Выполненные задачи:

Импорт прайсов

  • Автоматическая обработка данных из файлов поставщиков (CSV, XML).

  • Извлечение артикулов, названий, описаний, остатков, цен и ссылок на изображения.

  • Поддержка как розничных, так и оптовых цен.

  • Возможность редактирования цен, как отдельных так и всех, в зависимости от цены поставщика.

Логика обработки и обновления

  • Сопоставление товаров по артикулу.

  • Создание новых товаров и обновление существующих.

  • Генерация атрибутов, категорий и вариаций.

  • Контроль статуса публикации, видимости и остатков.

Парсинг защищённого сайта

  • Python-скрипт с Selenium и undetected-chromedriver.

  • Обход защиты Cloudflare.

  • Сбор актуальных данных в реальном времени.

  • Сохранение в формат CSV для дальнейшего импорта в WooCommerce.

Изображения

  • Проверка валидности ссылок, скачивание и оптимизация изображений.

  • Привязка изображений к товарам по артикулу.

  • Исключение битых и дублирующихся ссылок.

  • Ленивый парсинг изображений, для создания минимальной нагрузки не сервер (по просьбе поставщика)

Автоматизация

  • Все процессы автоматизированы через планировщик задач (CRON).

  • Поддержка ручного и автоматического запуска.

  • Подробное логирование каждого этапа обработки.

  • Импорт может выполняться несколько раз в день с минимальной нагрузкой на сервер

Мультиязычность

  • Поддержка четырёх языков через Polylang.

  • Автоматическое дублирование товаров с синхронизацией изображений, цен и остатков.

  • Чёткая связь между переводами одного и того же товара.

Результат:

  • В системе обрабатывается более 10 000 уникальных товаров.

  • Общее количество записей в WooCommerce — более 40 000 (с учётом переводов).

  • Обновление всей базы занимает короткое время благодаря оптимизированной структуре и выборочной обработке данных.

  • Проект стабильно работает в продакшене без необходимости ручного вмешательства.