Разработка сайта-каталога – это витрина, где покупатель доходит до нужной позиции по характеристикам и нажимает «спросить просчет» вместо «купить». Такую витрину делают тогда, когда цена зависит от объема, комплектации или договора и ставить ее на странице как финальную нечестно. Работа делится на три узла: импорт прайса с картенгом полей, фильтр по характеристикам, сужающим выбор, и canonical для позиций, доступных из нескольких категорий. Измеренный нами B2B-каталог содержит 1 848 карт и 138 категорий и отдает первый ответ за 388,1 мс. Срок – 18–35 рабочих дней, смету называем после разбора вашего прайса.
18–35 рабочих дней от утверждения структуры каталога
Наш замер
Измерение 31.07.2026, B2B-каталог запчастей
1 848 карт и 138 категорий — 1 992 адреса без дубликата
Первый ответ сервера там же
388,1 мс при 120,2 КБ HTML
Показатели сняты нашим замером на живых сайтах соответствующего масштаба.
после бесплатного аудита
Стоимость
30
Гарантия
дней после подписания акта
18–35
Срок
рабочих дней от утверждения структуры каталога
1 848
Измерение 31.07.2026, B2B-каталог запчастей
карт и 138 категорий — 1 992 адреса без дубликата
388,1 мс
Первый ответ сервера там же
при 120,2 КБ HTML
запрос просчета, подбор по параметрам или выгрузка прайса
Что нажимает покупатель
импорт CSV или XML по расписанию – от ежедневно до ежечасно
Обновление каталога
после бесплатного разбора прайса, 2–4 рабочих дня.
Смета
Что входит
Полный перечень работ и того, что вы получаете на выходе
Структура каталога под вашу номенклатуру: категории и подкатегории, по которым покупатель доходит в группу товаров за два клика, а не поиском наугад
Карта позиции: характеристики таблицей, фото, паспорта и схемы отдельными файлами – менеджер перестает пересылать документацию вручную
Фильтр по трем-пяти характеристикам, сужающим выбор, вместо всех колонок прайса — страница категории остается быстрой
Поиск с обработкой артикулов и частичных совпадений: пришедший с кодом детали находит ее с первой попытки
Импорт прайса — поля вашего CSV или XML смазаны на поля каталога, обновления по расписанию: цены и наличие больше не зависят от того, вспомнил ли кто-нибудь о сайте
Форма запроса просчета и подбора с передачей в почту, Telegram и CRM – заявка ложится в систему, а не в чей-то личный мессенджер
Техническое SEO: ЧПУ, canonical на позициях, доступных из нескольких категорий, карта сайта без дублей — сигналы не расползаются по трем адресам одного товара
Микроразметка JSON-LD: Product без цены, BreadcrumbList, Organization — поисковик читает характеристики и путь, а не угадывает их из текста
Аналитика GTM и GA4 с событиями просмотра позиции, применения фильтра и отправки запроса – видно, за чем фильтруют и где человек останавливается
Передача: доступы, письменная инструкция по обновлению прайса, гарантия 30 календарных дней - далее каталог ведет ваш менеджер
Когда эта услуга не подходит
Что не входит в работу — чтобы не было сюрпризов на сдаче
Корзина, чекаут и онлайн-оплата – это уже интернет-магазин, отдельная задача
Наполнение каталога вручную сверх согласованного объема
Копирайтинг описаний позиций
Фотосъемка товара
Продвижение и реклама после запуска
Кому подходит
Ситуации, в которых эта услуга даёт результат
Сценарий 1 из 4
Цену называет менеджер, а не страница
Оборудование под конфигурацию, комплектующие партиями, материалы с расчетом по объему. Корзина здесь заставляет придумать цифру, которую менеджер затем просматривает в разговоре. Каталог с запросом просчета убирает это противоречие: ассортимент и параметры открыты, сумму называет человек. В измеренном нами каталоге оборудования для шоколадного производства сделано именно так – форма запроса вместо чекаута на 106 позициях в двух языковых версиях.
Разберём вашу ситуацию на бесплатном аудите
Сценарий 2 из 4
Прайс живет в Excel, а заказ в мессенджере менеджера.
Файл с номенклатурой имеется, но пересылается каждый раз вручную, а наличие уточняется отдельным сообщением. Импорт переносит тот же файл в каталог с фильтром и поиском: покупатель сам доходит до позиции, менеджер получает запрос с артикулом вместо вопроса «а что у вас есть?». Условие одно – характеристики должны быть отдельными колонками, а не сплошным текстом описания.
Сценарий 3 из 4
Покупатель приходит с кодом детали, а не с желанием посмотреть
Механик, технолог и закупщик открывают поиск, а не листают категории. Здесь решает, находит ли поиск позицию по частичному артикулу и разложены ли совместимости. В измеренном каталоге запчастей для промышленных швейных машин под это собрано 138 категорий на 1 848 карточек: глубина структуры и подбор по модели машины.
Сценарий 4 из 4
Номенклатура от сотни до нескольких тысяч строчек
Рабочая зона такой витрины. Двадцать позиций обойдутся разделом продукции на обычном сайте, несколько десятков тысяч нуждаются в отдельной инженерии импорта и кэша. Между этими пределами каталог держится без уловок: в измеренном B2B-проекте 1 992 адреса карты сайта не дали ни одного дубликата.
Бесплатный разбор прайса и структуры каталога
Каталог без корзины производят тогда, когда цена зависит от объема, конфигурации или договора. Поэтому главный вопрос разбора — не «как показать товар», а «по чему человек будет его искать и что он нажмет вместо корзины».
Что мы измеряем
Что в прайсе на самом делеОткрываем файл: сколько строк, какие поля заполнены, стоят ли характеристики отдельными колонками. Прайс, где параметры слеплены в одно текстовое описание, - это отдельный этап работ, и увидеть его нужно до сметы, а не после.
За чем фильтруют ваши покупателиИщем те три-пять параметров, действительно сужающих выбор. Фильтр за всеми полями подряд делает страницу медленной и не помогает никому – а каждый параметр еще и требует свести значение к одному виду.
Стоящий вместо корзиныЗапрос просчета, пошаговый подбор по параметрам, выгрузка прайса файлом или звонок менеджеру. От этого зависит и карточка, и форма, и то, что мы меряем как конверсию.
Статус существующего каталога, если таковой имеется.Сколько адресов в карте сайта и сколько из них уникальны, не дублируется ли та же позиция под разными путями категорий. В нашей выборке попадались и 1 992 адреса без дубликата, и 4 236 записей на 1 300 реальных адресов.
Откуда будут браться данные дальшеКак часто меняются позиции и цены и кто формирует выгрузку. Один чистый CSV раз в неделю и обмен с учетной системой каждый час – разные по трудоемкости сценарии, и второй требует вашего программиста 1С или BAS.
Что вы получаете
Схему каталога: категории, глубина, характеристики идут в фильтр, как выглядит карточка.
Разбор вашего прайса: какие поля куда ложатся и чего в нем не хватает для импорта.
Замеры существующего каталога с перечнем дублей адресов, если каталог уже существует.
Разговор на 30–40 минут с вами и вашим менеджером по продажам.
Срок: 2–4 рабочих дня от получения выгрузки прайса
Почему это бесплатно
Потому что разница между каталогом на сто позиций и каталогом на две тысячи – в разах, а не в процентах, и без файла назвать сумму честно невозможно. Документ остается у вас независимо от того, работаем мы дальше или нет.
Что дальше
После разбирательства даем смету по этапам с календарными датами. Если из файла станет видно, что вам нужен магазин с корзиной, скажем это прямо — даже если вы пришли за каталогом.
Короткая форма: контакт и адрес сайта
Договор, акт и гарантия 30 дней
На каждый проект письменный договор: объём, сроки, сумма, порядок приёмки. После сдачи — акт и счёт, затем 30 календарных дней гарантии.
ФОП и безналичный расчёт
Исполнитель — зарегистрированный ФОП. Оплата на счёт с закрывающими документами.
Права и доступы — ваши
Код, дизайн и материалы переходят к вам после полной оплаты. Домен, хостинг, репозиторий оформляем на вас.
Портал клиента вместо переписки
Во время работы вы получаете доступ к порталу: договоры, счета, акты и статус проекта в одном месте.
Заказчики из Европы
Среди работ — проекты для Норвегии, Болгарии, Молдовы и Испании.
Цифры, которые можно проверить
Каждый кейс в портфолио — со ссылкой на живой сайт и техническим замером.
Сначала аудит, потом сумма
Прайса на сайте нет намеренно: объём одной и той же работы у двух клиентов отличается кратно.
Говорим «нет», когда не уверены
Если задача не наша или срок нереальный — скажем сразу.
Что влияет на стоимость
Почему две одинаковые на вид задачи считаются по-разному
Количество позиций и глубина структурыСотня строк заводится за день. Несколько тысяч – это картенг полей, сверка категорий и проверка характеристик по всему массиву. Именно здесь разница между нижним и верхним краем сметы, и именно поэтому мы просим файл для разговора о сумме.
Состояние прайсаАртикул, название, категория и параметры отдельными колонками – импорт идет как есть. Характеристики, слепленные в описательный абзац или залитые картинкой в PDF, приходится разбирать руками: это отдельный этап со своим сроком.
Сколько характеристик уходит в фильтрКаждый параметр – это нормализация значений в прайсе. "Мощность 5 кВт", "5кВт" и "5 kW" для машины три разных значения, и кто-то должен свести их к одному, иначе фильтр показывает три пункта вместо одного.
Стоящий вместо корзиныОдна форма запроса – один сценарий. Пошаговый подбор по параметрам, персональная выгрузка прайса файлом и передача заявки в CRM с разбором полей – три разных по трудоемкости вещи, и считаются они отдельно.
Языковые версииВторой язык умножает не тексты, а адреса: карта сайта, hreflang и canonical в каждой ветке. В измеренном каталоге на 106 позиций две языковые версии дали 230 адресов в sitemap-индексе из четырех файлов.
Источник данных после запускаФайл, который вы кладете в условленную папку, стоит дешевле обмена с учетной системой. Второй вариант требует согласования форматов с вашим программистом 1С или BAS и тестовым окном на стороне учета.
Кейсы
Задачи и результат в цифрах — все показатели сняты нашим замером
B2B-поставщик профессионального оборудования для шоколадного производства
Задача
Показать каталог темпировочных машин, конш и формовочных линий с техническими характеристиками и производительностью и собрать запросы на просчет — такое оборудование не покупают в один клик.
Решение
Сайт-каталог с формой запроса просчета вместо корзины, две языковые версии, карточки с техническими параметрами. Способы расчета сведены на отдельную страницу для тех, кто уже готов платить. Подключены GTM, GA4 и колтрекинг.
Результат
Измерение 31.07.2026: 106 позиций в двух языковых версиях – 230 адресов в sitemap-индексе из четырех файлов. Первый ответ сервера 351,4 мс, полная загрузка HTML 490,4 мс при 297,6 КБ разметки. Шесть способов расчета на странице доставки и оплаты – самый широкий набор среди измеренных проектов. Найдена разница: в карточке проекта стек записан как WordPress, а сайт отдает другую CMS — запись либо устарел, либо платформу меняли без нас.
B2B-каталог запчастей и комплектующих для промышленных швейных машин
Задача
Дать техническому специалисту найти деталь по коду или модели машины минимумом шагов: ошибка в подборе стоит простоя производства.
Решение
Каталог с подбором по модели оборудования, техническим схемам и форме запроса наличия. Две языковые версии с корректным hreflang. Расчет безналичный для ФЛП и неплательщиков НДС, оплата после получения на складе перевозчика — условия, описанные на странице оплаты.
Результат
Измерение 31.07.2026: 1 848 карточек и 138 категорий — 1 992 адреса в карте сайта без дубликата. Первый ответ 388,1 мс, полная загрузка 419,5 мс при 120,2 КБ HTML: третья самая легкая разметка среди 16 измеренных сайтов. Найдены дефекты, которые мы и показали владельцу: в HTML до сих пор подключен Universal Analytics, выключен Google 1 июля 2023 года, а свойства GA4 нет — три года без данных; ноль блоков JSON-LD на каталоге с 1848 позиций; robots.txt без директивы Sitemap при рабочей карте сайта.
Не нашли свой случай?
Опишите, как это устроено у вас, — ответим, подходит ли «Разработка сайта-каталога без корзины» и что это значит в вашей ситуации. Без брифа и без звонка: один вопрос, один ответ.
Этапы работы
Прозрачные этапы с согласованием на каждом шагу
Общий срок:18–35 дней
1
Разбор прайса и структура каталога
3–5 рабочих дней
Смотрим выгрузку, собираем дерево категорий и перечень характеристик под фильтр, договариваемся, что человек нажимает вместо "купить". Структуру подписывает ваш менеджер по продажам – переделывать ее после верстки дорого.
2
Прототип категории, карты и фильтра
2–4 рабочих дня
Раскладка страниц категории со списком, карточка позиции с таблицей характеристик и файлами, поведение фильтра при пустой выборке. Соглашаем на схемах, к дизайну.
3
Дизайн
4–7 рабочих дней
Главная, категория, карта, форма запроса, страница условий. Здесь же фиксируем целевой вес страницы: в наших измерениях каталог держится в пределах 120,2 КБ HTML, а более тяжелые проекты доходят до 297,6 КБ на том же типе сайта.
4
Сборник каталога
5–9 рабочих дней
Верстка, категории, карточка, фильтр, поиск по артикулу и частичному совпадению, формы запроса просчета и подбора, роли в админке, страница условий работы.
5
Импорт прайса и маппинг полей
2–5 рабочих дней
Ваши колонки ложатся на поля каталога, значения характеристик сводятся к одному виду, идет тестовая заливка и сверка количества позиций двумя способами. Тогда же ставим расписание обновления.
6
Техническое SEO, разметка и аналитика
1–3 рабочих дня
ЧПУ, canonical на позициях нескольких категорий, карта сайта без дублей и директива Sitemap в robots.txt, JSON-LD без цены, GTM и GA4 с событиями фильтра и отправки запроса.
7
Тестирование и передача
1–2 рабочих дня
Прогон сценария «нашел позицию – прислал запрос – заявка в CRM», замеры первого ответа сервера и веса HTML, проход админки с вашим менеджером, передача доступов и инструкции по обновлению прайса.
Технологии и интеграции
На чём строим и с чем это соединяется
Стек
Next.js — сервер отдает готовый HTML каталог; минус: контент без админки правит разработчик
TypeScript — типы ловят ошибку картенга прайса еще до сборки; минус: порог входа выше PHP
PostgreSQL — характеристики отдельными полями, фильтр идет по запросу; минус: схему атрибутов проектируют вперед
OpenCart – когда корзину планируют добавить позже; минус: часть модулей до сих пор выходит только под 3.x
WordPress – когда каталог ведет маркетолог без разработчика; минус: на тысячах позиций фильтр упирается в базу
nginx + HTTP/2 — параллельные запросы карты и файлов; минус: медленный бэкенд это не лечит
Каталог с запросом просчета против магазина с корзиной
Чем этот вариант отличается от альтернативы
Интернет-магазин с корзинойНаш подход
Цена на страницефиксированная - иначе ждут не посчитает сумму заказасправочная или диапазон с условиями, финальную называет менеджер
Что делает покупательдобавляет в корзину, выбирает доставку и оплачиваетпосылает запрос просчета или подбора с артикулом
Разметка Productс ценой и наличием, есть шанс на расширенный снипетбез цены и offer: разметка не обещает того, чего на странице нет
Объем работдольше — оплата, доставка, возврат, юридические страницы18–35 рабочих дней: нет чекаута, платежных провайдеров и статусов заказов
Куда падает результатзаказ с суммой и статусом оплаты в админкелед в почту, Telegram и CRM, далее его ведет менеджер
Что нужно от вас
Без этого не начнём — лучше подготовить заранее
1Прайс в CSV, XML или Excel – артикул, название, категория и характеристики отдельными колонками.
2Фото позиций от 800 px по более длинной стороне.
3Список параметров для фильтра в порядке значимости – от того, чем клиент сужает выбор первым.
4Ответ на вопрос, что делает покупатель вместо «купить»: спрашивает просчет, звонит или загружает прайс.
5Документацию к позициям, если вы отдаете покупателям: паспорта, сертификаты, схемы.
6Одного человека со стороны продаж с правом подтвердить структуру каталога и перечень характеристик.
Если чего-то из этого нет — скажите, подскажем, как собрать или сделаем сами отдельной задачей.
Частые вопросы
Что спрашивают чаще всего — с конкретными ответами
Почему каталог без корзины, а не обычный магазин?
Потому что цена не всегда фиксирована. Если она зависит от объема, комплектации, курса или договора с конкретным покупателем, корзина заставляет поставить цифру, затем просматривают в разговоре. Каталог с запросом просчета более честный: покупатель видит ассортимент и параметры, а сумму получает от менеджера. Технически это и проще – нет чекаута, платежных провайдеров и статусов заказов, поэтому срок более короткий.
Можно ли показывать цены, если корзины нет?
Можно, и часто стоит: цена-ориентир или диапазон удерживает человека на странице вместо того, чтобы отправить его гуглить дальше. Выводим ее как справочную с примечанием об условиях, а не как сумму к уплате. В разметке Product цену при этом не проставляем: объявить цену в структурированных данных и не дать возможности купить – это различие между разметкой и страницей, а за разметку несуществующего прилетают ручные санкции, а не преимущества.
Сколько позиций выдержит такой каталог?
Несколько тысяч спокойно, если корректно сделан импорт и фильтр. Измеренный нами B2B-каталог содержит 1 848 карт и 138 категорий и отдает первый ответ за 388,1 мс при 120,2 КБ HTML. Ограничивает обычно не платформа, а способ заливки: несколько тысяч строчек руками через админку не заводят. Отдельно о фильтре: он генерирует комбинаторное количество адресов, и если их не закрыть каноникалами и robots.txt, вы получите тысячи почти одинаковых страниц в индексе – это ухудшение, а не улучшение.
Как обновлять цены и наличие после запуска?
Импортом по расписанию. Вы кладете файл в условленное место или отдаете выгрузку из учетной системы, каталог обновляется ежедневно или ежечасно – в зависимости от того, как быстро у вас движутся данные. Ручное редактирование остается для отдельных правок. Чего обмен не делает: он не исправляет учет. Если остатки в 1С неточны из-за пересорта или неотображенных списаний, сайт быстро и аккуратно покажет неточные данные.
У меня характеристики одним текстом в описании – что с этим делать?
Это самое частое состояние прайса и отдельный этап работ. Пока мощность, размер и совместимость лежат внутри абзаца, они не становятся ни колонкой, ни фильтром – машина видит сплошную строчку. Варианты два: разобрать парсером по шаблону, если однотипное описание, или свести таблицу руками. Что именно получится, видно из файла, поэтому разбор прайса стоит первым этапом, а не после дизайна.
Будет ли каталог находиться в поиске?
Позиции никто не гарантирует. Технически закрываем следующее: каждая позиция имеет свой адрес с ЧПУ, уникальный title с артикулом, характеристики текстом, а не картинкой, и canonical для позиций, доступных из нескольких категорий — именно на последнем строится большинство дублей. Честный предел: карта сайта не поднимает позиции и не гарантирует индексацию, а реальное количество проиндексированных страниц видно только в вашем Search Console, доступа к которому у нас по умолчанию нет.
Можно ли потом добавить корзину?
Да, если об этом известно на старте. Тогда мы берем платформу с расчетом на будущий жут и закладываем в структуру поля, которые понадобятся магазину: остаток, единицу измерения, минимальную партию. Дописать корзину в каталог, сделанный без этого предположения, тоже возможно – но это переработка структуры, а не доработка интерфейса, и считается она как отдельный проект.
Как понять, что каталог работает, если продаж на сайте нет?
Измеряем то, что есть: количество запросов просчета, какие фильтры используют, какие запросы вводят в поиск и сколько из них возвращают пусто. Последнее – самый полезный список в проекте: это то, чего от вас хотят и чего у вас нет. Совет по опыту: проверьте счетчик до запуска нового каталога. В измеренном нами каталоге запчастей в разметке до сих пор стояла Universal Analytics, отключенная в июле 2023-го, а GA4 не было вообще – три года работы без всякой цифры. И отдельно о точности: GA4 показывает тенденцию, а не бухгалтерскую истину – блокировщики, режим согласия и ограничение браузеров на cookie съедают часть данных.
Отправьте выгрузку прайса — посмотрим, что из него выходит.
Ответ: схема каталога, перечень характеристик под фильтр и смета по этапам с датами. Если из файла станет видно, что вам нужен магазин с корзиной, услышите это первым письмом.
Из измеренных кейсовИзмерение 31.07.2026: 106 позиций в двух языковых версиях
Прайса на сайте нет намеренно: объём той же работы у двух клиентов отличается в разы, и цифра «от» в этом случае ничего не объясняет. Сначала бесплатный аудит — считаем ваши страницы, дубли и скорость, — потом называем сумму и срок и фиксируем их в договоре.