Ой, ничего не найдено!

К сожалению, по вашему запросу пока ничего нет (но это только пока!), зато вы можете подписаться на нашу замечательную email-рассылку, чтобы не пропустить самое интересное в будущем.

  • 49

Товары, варианты и характеристики: почему каталог потом не фильтруется

Часть 3 из 5 · Серия «Каталог без ручного труда»

Каталог загружен, товары на месте, всё выглядит прилично. А потом приходит маркетолог и просит фильтр по цвету.

И выясняется, что цвет записан внутри названия. Что у половины товаров он называется «Синий», у другой половины «синий», а у третьей — «Синий (RAL 5010)». Что один и тот же стул в четырёх цветах лежит в каталоге четырьмя отдельными карточками, и покупатель видит четыре одинаковые позиции подряд.

Фильтр сделать нельзя. Точнее, можно — но сначала придётся переделать каталог.

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

Три сущности, которые путают

Товар — то, что покупатель воспринимает как одну вещь. Одна карточка, одно описание, одна страница, один адрес в браузере.

Примеры работ
Хотите посмотреть, как это выглядит на живых проектах?
Магазины, каталоги и внутренние системы, переведённые со старых CMS на Laravel: что было, что стало и какие задачи это закрыло.
Посмотреть портфолио

Вариант — конкретное исполнение товара, которое покупатель выбирает внутри карточки. У варианта свой артикул, своя цена и свой остаток, но карточка общая.

Характеристика — свойство, по которому товар описывают и ищут. Мощность, материал, вес, бренд, гарантия.

Проще всего на футболке. Футболка — товар, одна карточка. Размеры S, M, L — варианты: у каждого свой артикул и свой остаток. Состав ткани — характеристика: она одинакова у всех размеров.

Ошибка почти всегда одна и та же: варианты заводят как отдельные товары.

Почему цвет и размер — не отдельные товары

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

Каталог засоряется. В списке идут четыре одинаковые карточки подряд. Покупатель видит не выбор, а мусор.

Переделка сайта
Старый сайт мешает развивать бизнес?
Разбираемся в устаревших CMS, самописных сайтах и сложных магазинах: переносим данные и логику на Laravel и превращаем сайт в рабочий инструмент.
Обсудить проект

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

Остатки врут. Товар «есть в наличии» в одном цвете и «нет» в трёх других. Покупатель заходит на первую попавшуюся карточку и видит «нет».

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

Описание дублируется. Одно и то же описание в четырёх местах. Правку надо вносить четыре раза, и на третий кто-нибудь забудет.

Когда варианты всё-таки должны быть отдельными товарами? Когда покупатель ищет их порознь и воспринимает как разные вещи. Кофеварка с капучинатором и без — это два товара, а не варианты, потому что человек ищет одну из них. А та же кофеварка в чёрном и белом — один товар.

Простая проверка: если у них должно быть разное описание, это разные товары. Если описание одно, это варианты.

Старт без ТЗ
Не знаете, как поставить задачу на переделку сайта?
Начать можно без готового ТЗ: покажите текущий сайт, мы разберёмся в бизнес-процессе и предложим понятный план переработки. Стоимость считается после знакомства с задачами.
Рассказать о проекте

Характеристика или свойство варианта

Вторая развилка, и она решается одним вопросом: меняется ли значение между вариантами?

Свойство Что это Пример
Одинаково у всех вариантов характеристика товара материал, бренд, страна
Различается по вариантам свойство варианта размер, цвет, объём

Ошибиться здесь дорого в обе стороны. Если размер записать характеристикой товара, варианты не соберутся. Если материал записать свойством варианта, придётся указывать его в каждом варианте и следить, чтобы значения не разошлись.

Главное правило: значения из списка, а не текст

Вот это и есть причина, по которой фильтры не работают.

Характеристика должна быть выбором из заранее заданного списка, а не свободным текстовым полем. Текст люди пишут по-разному, и каждое написание система считает отдельным значением:

Синий
синий
Синий цвет
Синий (RAL 5010)
Голубой/синий

Для человека это один цвет. Для фильтра — пять разных, и в списке фильтра будет пять пунктов, в каждом по одному товару.

Практические следствия:

  • список значений заводится один раз и дальше только выбирается;
  • новое значение добавляет администратор, а не менеджер в свободном поле;
  • числовые характеристики хранятся числами, а не текстом: «1500» и «1500 Вт» — разные вещи, и по вторым не построить фильтр «от и до»;
  • единица измерения выносится в настройку характеристики, а не пишется в значении.
Переделка сайта
Сайт давно пора переделать, но страшно начинать?
Разбираемся в устаревших CMS, самописных сайтах и сложных магазинах: переносим данные и логику на Laravel и превращаем сайт в рабочий инструмент.
Обсудить проект

Ровно об этом же говорит формат выгрузки в Яндекс.Маркет: характеристики там передаются отдельными полями, а не текстом описания. Как это устроено технически — в статье про тег <param>, она написана для разработчика, но принцип виден.

Единицы измерения

Отдельный сюжет, потому что ломается тихо и дорого.

Метры и погонные метры. Штуки и упаковки. Комплекты, в которых по-разному считают. Если в учётной системе товар в упаковках по 10, а на сайте продаётся штуками, остатки будут врать ровно в десять раз — и заметит это не тот, кто настраивал, а тот, кто отгружает.

Правило простое: единица измерения — обязательное поле товара, а не часть названия и не «и так понятно». А если единиц две — продажная и учётная, — то нужен и коэффициент между ними, заданный явно.

Что ломает фильтры

Короткий список, по которому можно проверить свой каталог.

Характеристика записана текстом — разобрали выше, главная причина.

Каталог и импорт
Каталог отнимает часы ручной работы каждую неделю?
Импорт из прайсов поставщиков, автообновление цен и остатков, фиды для маркетплейсов — каталог обновляется сам, а менеджер занимается продажами.
Разобрать задачу

Характеристика есть не у всех товаров. Фильтр «Мощность от 1000 Вт» скроет все товары, у которых мощность не заполнена, даже подходящие. Незаполненное поле для фильтра означает «не подходит».

Характеристики спрятаны в названии. «Дрель ударная 750 Вт 13 мм» — вся полезная информация в строке, и отобрать по ней нельзя.

Слишком много характеристик. Сорок фильтров в боковой колонке не помогают, а пугают. Про то, сколько их нужно, — в пятой части.

Значения-синонимы. «Нерж.», «Нержавейка», «Нержавеющая сталь» — три пункта фильтра вместо одного. Возникает при загрузке из разных прайсов и лечится приведением значений при загрузке.

Что происходит, когда структуру меняют потом

Именно поэтому статья стоит третьей, а не пятой.

Пока товаров сто, перестроить структуру — работа на день. Когда их пять тысяч и они пришли из трёх прайсов, это проект: надо разобрать значения, свести синонимы, разнести варианты по товарам, сохранить адреса страниц, чтобы не потерять позиции в поиске, и не сломать выгрузки, которые уже настроены.

Примеры работ
Выбираете подрядчика на переделку сайта?
Магазины, каталоги и внутренние системы, переведённые со старых CMS на Laravel: что было, что стало и какие задачи это закрыло.
Посмотреть портфолио

Стоимость переделки растёт не линейно, а вместе с количеством связей. Поэтому единственное действительно важное решение принимается до наполнения: какие сущности есть в каталоге и какие у них свойства.

Хорошая новость: решение не требует технических знаний. Нужен человек, который понимает товар, и полчаса на то, чтобы расписать: что здесь товар, что вариант, какие характеристики нужны для фильтров и откуда возьмутся их значения.

Как проверить свой каталог за пятнадцать минут

Без специалиста.

  1. Найдите товар, у которого есть цвет или размер. Если исполнения лежат отдельными карточками — у вас варианты заведены товарами.
  2. Откройте фильтр в разделе каталога. Если в нём один-два пункта или, наоборот, тридцать похожих значений — характеристики хранятся текстом.
  3. Выберите характеристику и посмотрите, сколько товаров нашлось. Если заметно меньше, чем должно быть, — она заполнена не у всех.
  4. Посмотрите на названия товаров. Если в них есть цифры с единицами измерения — эти данные, скорее всего, нигде больше не хранятся.
  5. Отфильтруйте по цене от и до. Не работает — цена может храниться текстом.

Каждый пункт, на котором вы споткнулись, — это будущая доработка. Лучше знать о них заранее.

Частые вопросы

У нас товары из 1С. Структура придёт оттуда?

Частично. Номенклатура и характеристики придут, но то, как они лягут на сайт, — отдельное решение. В учётной системе цвет вполне может быть отдельной позицией номенклатуры, а на сайте должен стать вариантом. Про это — первая часть.

Сколько характеристик заводить?

Столько, сколько реально влияет на выбор. Ориентир: если по характеристике никто никогда не будет фильтровать и она не помогает сравнить два товара — ей место в описании, а не в отдельном поле.

Переделка сайта
Сайт давно пора переделать, но страшно начинать?
Разбираемся в устаревших CMS, самописных сайтах и сложных магазинах: переносим данные и логику на Laravel и превращаем сайт в рабочий инструмент.
Обсудить проект

Можно ли добавить характеристику потом?

Добавить — да, это несложно. Сложно заполнить её у пяти тысяч уже загруженных товаров, особенно если данных для неё нет ни в одном прайсе. Поэтому характеристики, критичные для выбора, лучше определить сразу.

У разных разделов нужны разные характеристики. Это нормально?

Не только нормально — так и должно быть. У дрелей мощность и патрон, у краски объём и цвет. Общий список характеристик на весь каталог — верный признак того, что структуру не продумывали.

Что делать, если каталог уже неправильный?

Не переделывать всё сразу. Начните с раздела, который приносит больше всего денег: приведите в порядок его — структуру, значения, фильтры — и посмотрите на результат. Дальше по убыванию важности.

Что дальше

Структура готова, товары загружены. Дальше каталог начинает жить сам: цены у поставщика меняются, остатки уезжают, позиции появляются и исчезают.

Обновлять всё это руками нельзя — на большом каталоге это работа отдельного человека. Автоматика решает задачу, но приносит с собой новый класс проблем: когда обновление идёт само, оно и ломается само, тихо и в три часа ночи.

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

Удобная админка
Менеджеры боятся заходить в админку?
Собираем админку под реальные задачи: понятные разделы, массовые операции, права доступа. Рутинные правки делает менеджер, а не подрядчик.
Показать текущий сайт

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

Хостинг Siteko

Разработка на Laravel

Сайт мешает работать?

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

  • Можно без ТЗ покажите текущий сайт — план работ соберём вместе.
  • Старые CMS и самописные перенос данных и логики на современную основу.
  • Не исчезаем после запуска поддержка, доработки и развитие проекта.
Обсудить проект