Перейти к содержимому
Блог · Разработка

Разработка каталога: поиск, фильтры и модерация карточек

Что реально влияет на стоимость и сроки каталога: модель данных, поиск и фильтры, модерация UGC-карточек, импорт из 1С. Разбираем этапы и ошибки при выборе подрядчика.

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

Бизнес-контекст выбора архитектуры

Прежде чем оценивать сроки, нужно ответить на три вопроса: сколько позиций в каталоге и как быстро база растёт; кто создаёт карточки — сама компания или внешние пользователи; и откуда берутся данные — ручной ввод, выгрузка из 1С/PIM или сторонний фид. Ответы на эти вопросы меняют объём разработки сильнее, чем выбор дизайна. Каталог на 200 позиций с ручным вводом и каталог на 20 000 позиций с ежедневной синхронизацией остатков — это разные проекты по трудозатратам, даже если внешне карточки выглядят одинаково.

Trade-offs: скорость vs гибкость

На небольшом объёме данных (до нескольких тысяч позиций) обычно хватает поиска средствами базы данных — PostgreSQL с полнотекстовым индексом справляется без дополнительной инфраструктуры. Когда каталог растёт, требует опечаток-толерантности, синонимов или ранжирования по релевантности, имеет смысл выносить поиск в отдельный движок — Elasticsearch или Meilisearch. Это отдельная статья бюджета: индексация, обновление индекса при изменении карточек, настройка весов полей. Закладывать такой поиск с первого дня на маленьком каталоге обычно избыточно — логичнее подключить его, когда объём данных это оправдывает.

Когда хватает простого контура

Хорошие фильтры проектируются не от списка полей в базе данных, а от реальных вопросов, которые пользователь задаёт перед выбором. Практика показывает: 5–10 фильтров, которые ощутимо сужают выбор, работают лучше, чем двадцать фильтров «на всякий случай», где половина комбинаций даёт пустую страницу. Для фасетных фильтров на больших объёмах нужно заранее продумать индексацию и кэширование — без этого страница с фильтрами начинает тормозить при росте каталога. Отдельно стоит решить, какие комбинации фильтров индексировать в поиске, а какие закрывать от индексации, чтобы не плодить дублирующие страницы и не размывать SEO-вес.

Когда нужна более сложная схема

Если карточки создаёт сама компания через внутренний импорт, модерация — вопрос ролей редактора и согласования правок. Если карточки создают внешние пользователи или партнёры (справочник компаний, доска объявлений, каталог с личными кабинетами поставщиков), без модерации раздел довольно быстро заполняется спамом и теряет доверие аудитории. На старте обычно достаточно ручной модерации с понятными статусами публикации (черновик, на проверке, опубликовано, отклонено) и системы жалоб от пользователей. Автоматические проверки — антиспам-фильтры, ограничение частоты публикаций, верификация контактов — наращивают уже по факту реальных злоупотреблений, а не проектируют заранее «на все случаи».

Как мигрировать без простоя

Опыт показывает: импорт данных чаще становится источником задержек, чем интерфейс. Выгрузка из 1С или PIM редко приходит в чистом виде — характеристики дублируются, единицы измерения не совпадают, часть позиций без фото или описания. Прежде чем оценивать сроки разработки, стоит посмотреть на реальный пример выгрузки: это сразу показывает, нужна ли нормализация данных как отдельный этап. Регулярная синхронизация (а не разовый импорт) добавляет требования к обработке ошибок — что делать, если в очередной выгрузке пропало поле или пришли некорректные значения.

Практический вывод

На странице услуги «Каталоги и справочники» процесс разбит на шесть шагов: погружение в задачу и границы каталога (1–2 недели), проектирование рубрик, атрибутов и поиска (1–3 недели), дизайн интерфейса с проверкой поиска в прототипе (2–4 недели), разработка спринтами с еженедельными демо (3–16 недель — вилка сильно зависит от объёма данных и интеграций), запуск с тестированием и переносом данных (1–2 недели), и развитие после запуска по реальным поисковым запросам пользователей.

ЭтапСрокЧто проверяем
Погружение1–2 неделиСтруктура ассортимента, пользователи, границы первой версии
Проектирование1–3 неделиРубрики, атрибуты, правила поиска
Дизайн2–4 неделиИнтерфейс и сценарий поиска в кликабельном прототипе
Разработка3–16 недельИнкременты с демо рабочего поиска каждую неделю
Запуск1–2 неделиТестирование, перенос данных, аналитика запросов

Стоимость

Ориентиры на странице услуги строятся вокруг трёх пакетов. «Основа» — от 360 000 ₽, срок 8–12 недель: ключевой сценарий поиска, UX-прототип, адаптивная разработка и тестирование перед запуском. «Рост» — от 570 000 ₽, срок 12–18 недель: то же самое плюс интеграции с внешними сервисами, расширенная аналитика и подготовка команды клиента к работе с каталогом. «Масштаб» — от 960 000 ₽, срок 18–26 недель: добавляются нагрузочное тестирование, проработка ролей и безопасности, план развития продукта.

Ошибки при выборе подрядчика

  1. Подрядчик оценивает проект по количеству экранов, не спросив про объём данных и источник импорта
  2. Нет обсуждения модели фильтров и поиска до старта разработки — их «дорисовывают» по ходу дела
  3. Модерация и антиспам не заложены в смету изначально, хотя карточки создают внешние пользователи
  4. Нет плана по SEO для страниц с фильтрами — риск получить тысячи дублирующих URL после запуска
  5. Не обсуждается, кто и как будет обновлять данные после сдачи проекта — ручной ввод или синхронизация

Если ещё не уверены, нужен ли вам именно каталог-справочник или, например, уже маркетплейс с несколькими продавцами, короче начать с объяснения понятий — в статье «Что такое каталог или справочник». Пришлите пример выгрузки данных и опишите сценарии поиска в брифе — так оценка получится точнее, чем по общему описанию проекта.

FAQ

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

Сколько стоит разработка каталога?

От 360 000 ₽ за базовый пакет с ключевым сценарием поиска и адаптивной разработкой (срок 8–12 недель) до 960 000 ₽ за пакет с нагрузочным тестированием, ролями и безопасностью (18–26 недель). Финальная смета зависит от объёма данных, сложности фильтров и того, нужна ли модерация UGC-карточек.

Что сильнее всего влияет на срок разработки каталога?

Не количество экранов интерфейса, а качество и объём исходных данных: чистая выгрузка из 1С ускоряет проект, а грязные или неполные характеристики требуют отдельного этапа нормализации. Также на срок влияет необходимость модерации и внешнего поискового движка вроде Elasticsearch.

Нужен ли отдельный поисковый движок вроде Elasticsearch?

На малом объёме данных обычно достаточно полнотекстового поиска средствами PostgreSQL. Отдельный движок вроде Elasticsearch или Meilisearch оправдан при больших каталогах, где важны опечатко-толерантность, синонимы и ранжирование по релевантности — подключать его на старте маленького проекта обычно избыточно.

Как оценить бюджет на модерацию карточек?

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

Следующий шаг

Оценим каталог
по вашим данным.

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