Зображення — найважчий за обсягом елемент автонаповнення. 10 000 товарів × 5 фото = 50 000 файлів, які потрібно завантажити, перевірити, оптимізувати та правильно прив'язати до інфоблоку. При цьому система повинна працювати в фоні, не навантажувати сервер у пікові години та не дублювати вже завантажені фото. Ми вирішуємо це завдання під ключ: проектуємо архітектуру завантажувача, налаштовуємо черги та забезпечуємо повний цикл — від парсингу джерела до фінальної прив'язки до товару. Оцінимо ваш проект за один робочий день і запропонуємо рішення без прихованих доробок. Ручне завантаження тисяч зображень займає тижні та коштує дорого; автоматизація дозволяє заощадити до 80% бюджету, що в 5 разів більше ніж при ручній роботі. Працюємо на ринку більше 5 років, реалізували 50+ проектів з автоматизації каталогів. Гарантуємо результат та дотримання термінів. Вартість робіт — від $500 за базовий набір.
Процес автоматизації складається з наступних кроків:
- Аналіз джерел зображень (API, Icecat, YML, сайти виробників)
- Розробка завантажувача (парсинг, валідація, оптимізація)
- Система дедуплікації файлів (кешування URL)
- Налаштування фонових черг та паралельних воркерів
- Прив'язка зображень до інфоблоків (прев'ю, галерея)
- Моніторинг та адміністрування
Джерела зображень
API виробника — найчистіший варіант. Виробники часто надають медіа-бібліотеки партнерам: ZIP-архів з фото за артикулами або API для завантаження за EAN.
Icecat / Syndigo — база даних контенту виробників. Платний доступ, але повністю легальний і з хорошим покриттям електроніки та побутової техніки.
Сайт виробника — парсинг. Пріоритет: знаходимо теги <meta property="og:image"> або JSON-LD image — це часто посилання на зображення в хорошій якості без парсингу галереї.
YML-фід постачальника — тег <picture> містить URL основного фото.
Як уникнути дублювання зображень?
Зберігаємо кеш завантажених URL у Highload-блоці або таблиці:
CREATE TABLE image_download_cache ( source_url TEXT PRIMARY KEY, file_id INT, downloaded_at TIMESTAMP ); Перед завантаженням перевіряємо кеш — якщо URL вже оброблявся і файл існує, використовуємо готовий file_id. Це називається дедуплікацією файлів.
Валідація якості зображень
Не всі знайдені зображення придатні. Обов'язкові перевірки перед збереженням: роздільна здатність не менше 400px, MIME-тип JPEG/PNG/WebP, розмір файлу від 10 КБ. Зображення з водяними знаками або биті відкидаються. Приклад коду:
Приклад валідації
```php $imageInfo = getimagesizefromstring($imageData); if ($imageInfo[0] < 400 || $imageInfo[1] < 400) return null; if (!in_array($imageInfo['mime'], ['image/jpeg', 'image/png', 'image/webp'])) return null; if (strlen($imageData) < 10_000) return null; ```Оптимізація зображень перед збереженням
Завантажені фото часто більші за потрібне (3000×3000px, 5 МБ). Перед збереженням у Бітрікс:
- Ресайз до максимуму 1500px по більшій стороні (для detail_picture)
- Конвертація CMYK → RGB (типова проблема з фото з поліграфічних джерел)
- Стиснення JPEG до quality 85
Використовуємо Intervention Image:
$image = Image::make($imageData)->resize(1500, null, fn($c) => $c->aspectRatio()); $optimized = $image->encode('jpg', 85)->getEncoded(); Бітрікс сам створює прев'ю через свій resize-механізм (CFile::ResizeImageGet), але вихідник краще віддавати вже оптимізованим.
Фонова обробка та черги
50 000 зображень не можна обробити за один запуск. Архітектура:
- Воркер 1: обходить інфоблок, знаходить елементи без зображень → додає в чергу
- Воркери 2–5: паралельно завантажують і зберігають зображення (4 потоки)
- Розклад: воркери працюють вночі 02:00–06:00, щоб не навантажувати сервер вдень
- Ліміт на сесію: не більше 1000 зображень за один запуск
Інтеграція з 1С через CommerceML дозволяє автоматично оновлювати зображення при зміні даних.
Що входить у роботу
| Етап | Опис | Термін |
|---|---|---|
| Аналіз джерел | Збір документації, тестові запити до API, оцінка обсягів | 1 день |
| Розробка завантажувача | Парсинг, валідація, оптимізація, збереження в Бітрікс | 2–3 дні |
| Система дедуплікації файлів | Кешування URL, перевірка існуючих файлів | 4–8 годин |
| Черги та паралельні воркери | Налаштування фонових процесів, багатопотоковість | 1–2 дні |
| Прив'язка до інфоблоку | Прев'ю, галерея, сортування | 4–6 годин |
| Моніторинг і адмінка | Журнал завантажень, прогрес, повторна обробка помилок | 1 день |
| Документація та навчання | Інструкція з експлуатації, передача доступів | Включено |
Разом: 6–9 робочих днів. Первинне наповнення 10 000 товарів при 4 потоках — близько 3–4 годин. Вартість робіт — від $500 за базовий набір, оцінимо ваш проект індивідуально. Вартість робіт окупається протягом кількох місяців за рахунок скорочення ручної праці.
Як прискорити завантаження каталогу?
Використовуйте кілька потоків завантаження та кешування. У нашій реалізації ми застосовуємо до 4 паралельних воркерів, що скорочує час обробки 10 000 товарів з 12 годин (послідовний режим) до 3–4 годин. Економія часу очевидна — ви отримуєте готовий каталог за день, а не за тиждень.
Чому варто замовити автоматизацію?
Ручне завантаження зображень для тисяч товарів — це тижні роботи менеджера та висока ймовірність помилок: переплутані фото, неправильні роздільні здатності, дублікати. Автоматизація виключає людський фактор, а всі операції проходять валідацію та логування. Syndigo і Icecat — перевірені джерела, але ми також підтримуємо інтеграцію з будь-яким REST API або YML-фідом. Маємо 5 років досвіду в автоматизації e-commerce, гарантуємо результат. Отримайте консультацію — ми підготуємо комерційну пропозицію з детальним планом робіт і термінами.







