Открыть
← Все кейсы
Кейс · 2026 · каталог + калькулятор + SEO

Сайт для установки кондиционеров
в Минске

Каталог собирается сам. Из прайса.

Спроектировали, собрали, запустили. Вы внутри кейса, собранного из блоков самого сайта: та же мята на нави, те же кнопки, тот же калькулятор.

218 моделей
в каталоге, 52 серии
297 URL
в sitemap.xml
16 районов
Минска со своей страницей

Узнайте задачу за 30 секунд

Без ползунков — три абзаца и смета проекта справа

кондиционер.by — сервис установки бытовых кондиционеров в Минске. Ему нужен был не сайт-визитка, а рабочий инструмент: каталог сплит-систем с реальными характеристиками и фото, честная цена под ключ до звонка менеджеру и заявка, которая не теряется.

Главная инженерная задача — каталог, который не вводят руками. Прайс дистрибьютора приходит в xlsx на 20 МБ с фотографиями прямо в ячейках; сайт должен забирать из него модели, ТТХ, цены и фото серий сам и обновляться повторным запуском скрипта.

Вокруг каталога — SEO-сетка под локальный спрос: районы и микрорайоны Минска, типовые задачи, бренды, сравнения и блог. В мае 2026 проект переехал с air20.by на konditsioner.by с сохранением SEO-сигналов.

Куда дальше
Итого под ключ
297 страниц
Каталог + калькулятор + SEO-сетка + заявки
Каталог218 моделей
Районы Минска16 страниц
Типовые задачи10 страниц
Блог15 статей
База данных0 — JSON в репо
Открыть сайт →
Цифры — из sitemap.xml и данных каталога
Брендбук

Мята на нави. И один янтарь.

Нажмите на цвет — покажем, где он работает в карточке каталога и в калькуляторе.

Главный акцент — цвет холодного воздуха. Потоки из кондиционера в хиро, кнопка «Рассчитать стоимость», активная мощность в карточке, полоска класса «Оптимум», ползунок калькулятора.

Фон сайта. Глубокий холодный синий: на нём белые корпуса сплит-систем читаются как в витрине, а мята светится без неона. Он же — подложка под фото модели.

Поверхности на тёмном: карточки каталога, панель сортировки, бегущая строка. На полтона светлее фона — глубина без теней.

Основной текст на тёмном: заголовки, название серии, цена. Белый с каплей мяты — не режет глаз на нави.

Вторичный текст и теги: «Инвертор», класс, площадь, подпись «за систему». Работает с прозрачностью — от 40 до 100%.

Мята для светлых секций: надзаголовки, значение площади в калькуляторе, галочки. И бейдж «В наличии» на фото модели.

Единственный тёплый цвет на холодном сайте. Только для «Хит» и полоски класса «Премиум» — поэтому его видно сразу.

Светлые блоки, которые чередуются с тёмными: калькулятор, «Как работаем», FAQ, карточка модели. Формы и длинный текст читаются на светлом.

Midea MDSAJ-09HRFN8 — фото серии из каталога konditsioner.byВ наличииХит
Midea MDSAJинвертор
MDSAJ-09HRFN8
Оптимум · до 25 м² · 5 мощностей
до 20 м²до 25 м²до 35 м²до 50 м²до 70 м²
Инвертор
Инверторный компрессор — плавная работа, экономия до 35% электричества
за систему1 990 BYN
Площадь комнаты18 м²
Рассчитать стоимость →
Установка кондиционеров в Минске
Inter Medium · −0.03em
Заголовки. Один гротеск на весь сайт: средний вес, плотный трекинг, вторая строка — мятой. Никакой декоративности — сервис, а не бутик.
Привезём, установим, запустим. Фиксированная цена без доплат на месте.
Inter Regular
Текст и интерфейс: 15–17 px в описаниях, 11–13 px в тегах и подписях, надзаголовки — капсом с разрядкой 1.5 px.
MDSAJ-09HRFN8 · 20°C
Системный моноширинный
Артикулы моделей в каталоге и дисплей кондиционера в хиро. Технические коды выглядят как коды, а не как названия.
Каталог под ключ

Экраны под ключ

Каждая карточка — живая страница сайта. Листайте ленту, открывайте в новой вкладке.

Сортировка: По пути клиентаНайдено: 6 / 297 страниц

Узнайте цену за 30 секунд

Это не скриншот. Двиньте ползунок — тот же расчёт под ключ, что и на сайте.

18 м²
10 м²35 м²60 м²
Тип дома
Класс оборудования
Итого под ключ
2 190 BYN
Кондиционер + монтаж + материалы
Кондиционер1 690 BYN
Монтаж340 BYN
Материалы160 BYN
Калькулятор на сайте →
Базовый прайс сайта на 26.06.2026. На живом сайте к расчёту добавляется рекомендация конкретной модели.
Сайт под ключ

Три слоя под ваш каталог

Показан стек для каталога на 218 моделей. База данных не понадобилась — всё лежит в JSON.

Каталог
Next.js 14 SSG
generateStaticParams · dynamicParams=false
React 18TypeScript strictTailwind 3

Сервер отдаёт SEO-контент и все модели разом, фильтры работают на клиенте: липкая панель, чипы активных фильтров, сортировка, группировка по классам. Скрытая модель сразу даёт 404.

на выходе
218 моделей
главная фича
Парсер прайса
Python openpyxl
xl/drawings/*.xml → row anchors
Pillowидемпотентныйфото из ячеек

Скрипт разбирает xlsx дистрибьютора: привязывает встроенные фото к строкам, распознаёт заголовки серий, вытаскивает мощность, габариты, фреон, класс, до 16 особенностей серии. Повторный запуск обновляет записи по коду модели и не задваивает.

ручного ввода
0 строк
SEO-сетка
JSON-LD + sitemap
scripts/generate-sitemap.mjs · prebuild
ProductFAQPageLocalBusiness

У каждой страницы свой title, description, canonical и Open Graph. Разметка по типам: Product, Service, FAQPage, Article, ItemList. Sitemap пересобирается при каждой сборке.

в sitemap
297 URL
От ползунка до Telegram

Как идёт заявка. По шагам.

Реальная механика, а не маркетинговые обещания

  1. Клиент двигает ползунок
    в браузере
    Калькулятор считает цену под ключ: ступенчатый прайс по площади, класс оборудования, тип стен, материалы. Или «своё оборудование» — только монтаж и доплата.
  2. Сервер пересчитывает сам
    POST /api/lead
    Тот же calculate() из lib/calc.ts вызывается в API-хендлере заявки. Клиентская и серверная суммы гарантированно сходятся.
  3. Менеджер получает заявку
    Telegram Bot API
    Уведомление менеджерам уходит с тем расчётом и той рекомендованной моделью, которые клиент видел на экране.
  4. Сайт живёт без базы
    JSON в репозитории
    Модели, цены, районы и статьи — файлы data/*.json. Правка прайса — один файл и пересборка: цифры обновляются везде сразу.
Что если что-то пойдёт не так
Если токен бота или чат не заданы — заявка пишется в лог сервера и в резервную папку. Она не теряется.
Частые вопросы

Отвечаем заранее

Почему каталог не вводят руками?
Потому что прайс дистрибьютора меняется, а моделей — сотни. Парсер на Python читает xlsx (~20 МБ, около 1000 строк на лист), сам находит заголовки серий, собирает особенности из строки под заголовком и привязывает их к моделям до следующего заголовка. Цена под ключ нигде не хранится: это РРЦ плюс базовый монтаж и материалы из прайса калькулятора.
Что сделали с тяжёлыми фото?
После первой публикации заметили медленную загрузку картинок на проде: исходные PNG из xlsx весили 100–3000 КБ при показе максимум 220 px шириной. Скрипт на Pillow конвертирует их в WebP с ресайзом до 800 px и обновляет ссылки в models.json. Итог: 8,9 МБ → 200 КБ, примерно в 45 раз легче.
А если в прайсе вместо фото — штамп «НОВИНКА»?
Для таких SKU есть отдельный скрипт: он подменяет штамп на реальные фото серий. Правки и отметка «хит» при следующем импорте сохраняются.
Как переехали с air20.by на konditsioner.by?
В мае 2026: 301-редирект со всех старых URL на новые, Change of Address в Google Search Console и Яндекс.Вебмастере. URL, email и технические идентификаторы — латиницей, видимый бренд в текстах и логотипе — кириллицей: кондиционер.by.
Где всё это работает?
VPS в Беларуси: Node 20 под PM2, nginx и Let’s Encrypt, без Docker. Деплой — git pull, сборка и перезапуск процесса; sitemap пересобирается на prebuild. npm ci запускается только при изменении lock-файла, поэтому итеративный деплой занимает 15–20 секунд.
218
моделей в каталоге
297
URL в sitemap.xml
16
районных лендингов по Минску
45×
легче стали фото каталога
Результат

Пока вы читаете — сайт считает сметы

У сервиса — собственная площадка под локальный спрос: каталог из 218 моделей с реальными ТТХ обновляется скриптом из прайса дистрибьютора, калькулятор показывает цену под ключ до звонка, заявка приходит менеджерам в Telegram с готовым расчётом. SEO-сетка из районов, задач, брендов и сравнений размечена JSON-LD, а переезд на konditsioner.by прошёл с 301-редиректами и сохранением сигналов.

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

— разработано в ЯРЧЕ. Дизайн-система, каталог, калькулятор и SEO-сетка под ключ.

Хотите такой же результат?

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

Обсудить проект →
Следующий кейсРулим.белКаталог-сервис