Статті · 08.11.2026
Імпорт товарів з XML в OpenCart без збоїв
Постачальник дає XML-фід, і хочеться, щоб товари, ціни й залишки на сайті оновлювались самі. Готові модулі імпорту часто працюють на маленькому каталозі, але на кількох тисячах товарів обриваються, дублюють товари або кладуть сайт. Ось як я налаштовую імпорт, щоб він працював роками.
Типові проблеми
- імпорт запускається з браузера і обривається через ліміт часу PHP;
- кожне оновлення створює нові товари замість оновлення наявних;
- фото завантажуються наново щоразу, диск заповнюється копіями;
- товари, яких немає у фіді, лишаються в продажу з нульовим залишком або, навпаки, видаляються разом з відгуками й позиціями в Google;
- під час імпорту сайт гальмує для покупців.
Як має бути влаштовано
- запуск через cron з командного рядка, а не через браузер — без лімітів часу веб-сервера;
- стабільний ключ товару: ID постачальника або артикул, збережений окремо; товар шукається лише за ним;
- оновлюються лише змінені поля: ціна й залишок — щоразу, опис і фото — тільки якщо змінились;
- товари, що зникли з фіду, вимикаються, а не видаляються — адреса і відгуки лишаються;
- відповідність категорій постачальника і сайту налаштовується один раз у таблиці;
- блокування паралельного запуску, щоб два імпорти не писали в базу одночасно;
- журнал: скільки створено, оновлено, вимкнено, які помилки.
Великі фіди
Фід на десятки мегабайт не варто завантажувати в пам’ять цілком — його читають потоково, товар за товаром. А запис у базу роблять пакетами, щоб імпорт тривав хвилини, а не години, і не заважав покупцям.
Кілька постачальників
Якщо постачальників кілька, кожен фід має свій формат. Найнадійніше — привести їх до одного внутрішнього формату, а потім імпортувати однією логікою. Тоді новий постачальник — це лише новий «перекладач», а не новий модуль.
Такий імпорт з XML у OpenCart (разом з фото й галереями) я налаштовував для кількох магазинів. Якщо вам потрібна автоматична синхронізація каталогу — це частина інтеграцій сайту; для обміну з облікової системи дивіться статтю про обмін з 1С.
Часті питання
Як часто запускати імпорт?
Ціни й залишки — від кількох разів на день до щогодини, залежно від того, як часто їх оновлює постачальник. Повне оновлення описів і фото — раз на добу чи рідше.
Чи підходить це для CSV чи XLSX?
Так, логіка та сама. Змінюється лише те, як читається файл.
Не хочете розбиратися самі?
Опишіть, що відбувається з сайтом, — скажу причину й вартість виправлення протягом дня.
Послуга: Інтеграції: CRM, оплата, доставка →
Інші статті
08.11.2026
Скільки коштує підтримка сайту: погодинно чи пакет
Скільки коштує підтримка сайту на OpenCart і WordPress: з чого складається ціна, погодинна оплата чи щомісячний пакет і як не переплачувати.
08.11.2026
Перенос з WooCommerce на OpenCart: чек-лист SEO
Плануєте переїзд магазину з WooCommerce на OpenCart? Чек-лист: що перенести, як зберегти позиції в Google через 301 редиректи і що перевірити після запуску.
08.11.2026
Нова Пошта в OpenCart: не підтягуються відділення
У кошику OpenCart не підтягуються відділення Нової Пошти, не рахується доставка чи не створюються ТТН? Найчастіші причини і як їх перевірити самостійно.