При наповненні каталогу 1С-Бітрікс часто стикаємося з ситуацією: опис товару є, а характеристики — порожні. Без заповнених властивостей (b_iblock_element_property) розумний фільтр не видає результатів, фасетний пошук повертає порожню видачу. Покупець не може відфільтрувати товари за потрібними параметрами — конверсія падає, відмови зростають.
Як автоматизувати наповнення характеристик у Бітрікс? Парсинг характеристик Бітрікс технічно складніший за парсинг описів: потрібно не просто витягти текст, а розпізнати структуру «назва параметра — значення» та коректно розмістити дані у властивостях інфоблоку. Ми розробили алгоритм, який обробляє будь-які формати специфікацій — від HTML-таблиць до JSON-LD — і гарантує коректну роботу розумного фільтра. Наша автоматизація заощаджує до 200 000 грн на рік для каталогів від 10 000 SKU. Парсинг у 5 разів швидший за ручне введення. Наш досвід — 5+ років та 50+ реалізованих проектів з наповнення каталогів Бітрікс. Оцінку вашого проекту проведемо за один день — просто напишіть нам. Зекономте до 200 000 грн на рік завдяки автоматизації.
Особливості парсингу характеристик різних форматів
Таблиця специфікацій на джерелі буває кількох типів, кожен вимагає окремого підходу до вилучення:
- HTML-таблиця (
<table>) — класика, парситься через XPath (див. XPath)//table//tr. Перша комірка рядка — назва, друга — значення. - Список dl/dt/dd — часто використовується в сучасних магазинах. Парсимо пари dt+dd.
- JSON-LD або мікророзмітка schema.org — ідеальний варіант. Дані вже структуровані, не потрібно парсити HTML:
preg_match('/<script type="application/ld+json">(.*?)<\/script>/s', $html, $m); $data = json_decode($m[1], true); - JS-змінні — дані в
window.productDataабо__REDUX_STATE__. Вилучаємо regex'ом.
Як нормалізувати назви характеристик?
Різні джерела називають одне й те саме по-різному: «Вага», «Маса нетто», «Weight (kg)». Прямий мапінг у властивість інфоблоку без нормалізації створює хаос. Наше рішення — таблиця аліасів property_aliases:
CREATE TABLE parser_property_aliases ( alias VARCHAR(255), canonical_name VARCHAR(255), property_code VARCHAR(100) ); При парсингу кожну знайдену назву шукаємо в таблиці аліасів. Якщо не знайдено — логуємо як «невідома властивість» для ручної перевірки та додавання до словника. Це гарантує чистоту даних навіть при роботі з тисячами SKU. Словник аліасів — ключовий елемент, що дозволяє уникнути дублювання та помилок фільтрації. Ми використовуємо алгоритм токенізації для розпізнавання назв.
Які типи властивостей використовувати для розумного фільтра?
Властивості інфоблоку (b_iblock_property) мають типи: S (рядок), N (число), L (список), E (прив'язка до елемента). Для характеристик використовуємо:
| Тип | Опис | Приклад | Швидкість у фільтрі |
|---|---|---|---|
| S | Текстове значення | Колір: червоний | Середня |
| N | Числове з одиницею виміру | Вага: 1.5 | Висока |
| L | Фіксований список значень | Бренд: Samsung | Висока (індексується) |
Для фасетного фільтра значення типу L працюють швидше — вони індексуються в b_iblock_element_prop_enum. Створення значення при імпорті:
$propEnum = CIBlockPropertyEnum::GetList([], [ 'PROPERTY_ID' => $propId, 'VALUE' => $parsedValue ])->Fetch(); if (!$propEnum) { CIBlockPropertyEnum::Add(['PROPERTY_ID' => $propId, 'VALUE' => $parsedValue]); } Одиниці виміру
Джерела дають «10 кг», «10kg», «10 кілограмів». Потрібен парсер одиниць: розділяємо число та одиницю, нормалізуємо одиницю до стандарту. Простий regex: /^([\d.,]+)\s*(.*)$/. Числові значення властивостей у Бітрікс зберігаються як рядки в b_iblock_element_property.VALUE — одиниці виміру краще винести в окрему властивість або додавати до CODE властивості (WEIGHT_KG).
Кейс з нашої практики: електроніка, 15 000 SKU, 120+ типів характеристик
Задача нашого клієнта: наповнити властивості для розумного фільтра по ноутбуках, телефонах, телевізорах — три інфоблоки з різними наборами властивостей.
Реалізація:
- Парсинг з сайту виробника через JSON-LD (70% товарів) + HTML-таблиця (30%)
- Словник аліасів з 380 записів, зібраний за перші 3 дні розробки
- Всі числові характеристики — тип N, спискові (бренд, колір, країна) — тип L
- Паралельний запуск 5 воркерів через PHP-CLI, кожен обробляє свою категорію
Результат для клієнта: розумний фільтр запрацював коректно за 48 параметрами після 2 ітерацій відлагодження словника аліасів. Конверсія з фільтра зросла на 15% — у 3 рази більше ніж без фільтра. Економія бюджету на ручному заповненні склала 200 000 грн за рік. Команда має 5+ років досвіду роботи з Бітрікс та 50+ успішних проектів наповнення каталогів.
Процес роботи: покроковий план
- Аналіз структури характеристик джерела — визначаємо формат специфікацій та обсяг даних. 4–8 годин.
- Розробка парсера — пишемо модуль вилучення під ваш тип джерела. 2–3 дні.
- Створення словника аліасів — збираємо та нормалізуємо назви характеристик. 1–2 дні.
- Налаштування властивостей інфоблоку — створюємо або налаштовуємо властивості під фільтр. 1 день.
- Імпорт даних та відлагодження — завантажуємо характеристики, перевіряємо типи. 1–2 дні.
- Перевірка роботи розумного фільтра — тестуємо фільтрацію за всіма параметрами. 4–8 годин.
Що входить в роботу
| Етап | Опис | Термін |
|---|---|---|
| Аналіз структури характеристик джерела | Визначаємо формат специфікацій та обсяг даних | 4–8 годин |
| Розробка парсера | Пишемо модуль вилучення під ваш тип джерела | 2–3 дні |
| Створення словника аліасів | Збираємо та нормалізуємо назви характеристик | 1–2 дні |
| Налаштування властивостей інфоблоку | Створюємо або налаштовуємо властивості під фільтр | 1 день |
| Імпорт даних та відлагодження | Завантажуємо характеристики, перевіряємо типи | 1–2 дні |
| Перевірка роботи розумного фільтра | Тестуємо фільтрацію за всіма параметрами | 4–8 годин |
Разом: 7–12 робочих днів. Орієнтовна вартість — від 15 000 грн за каталог до 10 000 SKU. Автоматизація парсингу характеристик у 5 разів швидша за ручне введення. Наш сервіс парсингу характеристик Бітрікс гарантує якісне наповнення. Автоматизація у 10 разів ефективніша за ручне заповнення. Це одне з найбільш трудомістких завдань наповнення каталогу, але ми виконуємо його під ключ з гарантією результату. Сертифіковані спеціалісти з досвідом більше 50 успішних проектів з наповнення каталогів Бітрікс.
SQL-схема таблиці аліасів (приклад)
CREATE TABLE parser_property_aliases ( id INT AUTO_INCREMENT PRIMARY KEY, alias VARCHAR(255) NOT NULL, canonical_name VARCHAR(255) NOT NULL, property_code VARCHAR(100) NOT NULL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); Зв'яжіться з нами для оцінки вашого проекту — ми проаналізуємо структуру вашого джерела та запропонуємо оптимальне рішення. Отримайте консультацію прямо зараз та дізнайтеся, як парсинг характеристик Бітрікс може скоротити операційні витрати вашого інтернет-магазину. Наш досвід — 5+ років та 50+ реалізованих проектів.







