Розробка сайту каршерінгу на 1С-Бітрікс під ключ
Уявіть: сервіс каршерінгу запущено, але при піковому навантаженні карта автомобілів гальмує, верифікація водіїв затягується на години, а тарифи неможливо швидко змінити. Знайомий біль? За 10 років розробки на 1С-Бітрікс ми стикалися з такими проблемами десятки разів. У цій статті — архітектурні рішення та реальні цифри, які допоможуть уникнути цих граблів.
Чому каршерінгу потрібен 1С-Бітрікс?
1С-Бітрікс надає готові модулі для інфоблоків, користувачів та платежів, що в 2–3 рази прискорює розробку порівняно з самописним рішенням. Highload-блоки та теговане кешування дозволяють витримувати навантаження до 10 000 запитів за секунду на типовому сервері. Це особливо критично для real-time карти: Redis з TTL 15 секунд знижує навантаження на базу в 10 разів. Згідно з документацією 1С-Бітрікс, Highload-блоки дозволяють обробляти до 100 000 записів.
| Показник |
Самописне рішення |
1С-Бітрікс |
| Час розробки |
6–8 місяців |
2–3 місяці |
| Вартість |
300 000–500 000 грн |
150 000–250 000 грн |
| Продуктивність |
Потребує оптимізації |
Готові Highload-блоки |
| Підтримка |
Власними силами |
Офіційна техпідтримка |
Як побудувати real-time карту автомобілів?
Карта — центральний інтерфейс сервісу. Координати оновлюються телематичним сервісом (GPS-трекери кожні 10–30 секунд). Бітрікс не обробляє телематику — це задача окремого backend-сервісу. Схема:
- Телематичний сервіс записує координати, статус та рівень пального в Redis або PostgreSQL.
- Кастомний контролер в
/local/routes/ запитує дані зі сховища та повертає JSON з машинами в заданому bounding box.
- Фронт (Яндекс.Карти JS API) при завантаженні та переміщенні карти запитує API. Отримує масив об'єктів з id, координатами, класом, моделлю, пальним, тарифною групою, статусом.
- Маркери оновлюються без перезавантаження. Вільні машини активні, зайняті не відображаються.
Технічні деталі реалізації
Для інтеграції з телематикою використовується протокол MQTT, що забезпечує мінімальну затримку. Геоіндекс в Redis дозволяє виконувати просторові запити за мілісекунди. Похибка позиціонування — до 5 метрів.
Оптимізація: кешування в Redis з TTL 15 секунд, для великих обсягів — PostGIS з просторовими індексами (ST_Within). Клієнтський throttling — запит не частіше разу на 10 секунд і лише при русі карти. Різниця в продуктивності Redis і PostgreSQL очевидна: Redis в 2 рази швидше на читанні, але поступається в надійності — тому ми використовуємо Redis для кешу, а PostgreSQL для зберігання історії поїздок. Кешування в Redis пришвидшує відповідь API у 2 рази порівняно з прямими запитами до PostgreSQL.
Як реалізувати багатоетапну реєстрацію з верифікацією ВУ?
Стандартний модуль реєстрації не підходить — потрібен кастомний компонент з розділенням на етапи.
- Перший етап: базові дані (ім'я, телефон, email) з підтвердженням через SMS-код.
- Другий: завантаження фото ВУ та паспорта через UF-поля користувача.
- Третій: автоматична перевірка через API ДАІ (або ручна модерація).
У результаті користувач проходить реєстрацію за 3–5 хвилин, а статус верифікації приходить в SMS.
Що таке предавторизація платежів і як її реалізувати?
Перед поїздкою виконується холдування суми на картці. При старті оренди через API шлюзу (CloudPayments, ЮKassa, Тинькофф) відправляється запит preauth, ідентифікатор зберігається. При завершенні — запит capture на фактичну суму, при скасуванні — void. Реалізація через модуль sale з кастомним обробником. Предавторизація знижує ризик неоплачених поїздок на 30% порівняно з пост-авторизацією.
Тарифна сітка на Highload-блоках: чому це зручно?
Тарифи зберігаються в HL-блоці Tariffs з полями: назва, клас авто, період (день/ніч), день тижня (будні/вихідні), географічна зона (прив'язка до HL-блоку зон з полігонами), вартість хвилини/години/доби, мінімальна вартість, вартість хвилини очікування. Географічні зони — окремий HL-блок з JSON-полем координат меж. Розрахунок вартості: визначення зони за GPS, періоду, дня тижня, потім вибірка тарифу за комбінацією. При перетині періодів або зон розрахунок розбивається на інтервали. На публічній сторінці тарифи виводяться динамічною таблицею, що оновлюється при зміні ставок в адмінці (кешування з тегами).
Що входить в роботу і скільки часу займає?
Ми оцінюємо проєкт за 1 день і пропонуємо архітектуру, яка витримає навантаження тисяч користувачів. Терміни варіюються від 3 до 8 тижнів залежно від складності інтеграцій. До складу робіт входять: розробка архітектури та ТЗ, налаштування інфоблоків та HL-блоків, реалізація кастомних компонентів (реєстрація, особистий кабінет, карта), інтеграція з телематикою, платіжними шлюзами та 1С, документація по API та адмініструванню, навчання операторів, підтримка протягом місяця після запуску. Наша команда має 10-річний досвід на 1С-Бітрікс та сертифікацію «1С-Бітрікс: Фахівець». Ми гарантуємо якість робіт та надаємо підтримку 24/7. Понад 50 реалізованих проєктів, на ринку з 2013 року. Вартість базового рішення стартує від 150 000 грн, а економія за рахунок готових модулів становить до 40% порівняно з розробкою з нуля.
Зв'яжіться з нами для консультації — оцінимо ваш проєкт і запропонуємо оптимальне рішення. Замовте розробку сайту каршерінгу на 1С-Бітрікс — отримайте надійну платформу, яка зростає разом з вашим бізнесом.
Як правильно проектувати інфоблоки?
Ми бачимо десятки проєктів, де неправильна структура інфоблоків перетворює сайт на гальмо. Типовий сценарій: замовник просить «каталог товарів». Розробник створює один інфоблок catalog, закидає туди 15 властивостей. Через півроку — 40 властивостей, 8 з яких використовуються лише для однієї категорії. Фільтр гальмує, таблиця b_iblock_element_property розрослася до мільйонів рядків, CIBlockElement::GetList виконується 3 секунди. Наслідки — падіння конверсії, втрата клієнтів, додаткові витрати на оптимізацію. В одному проєкті після рефакторингу каталогу час генерації сторінки знизився з 4,2 до 0,8 секунди, а вартість підтримки значно скоротилася — за рахунок усунення надлишкових запитів та агентів.
Наш підхід: проектуємо інфоблоки до першого рядка коду. Окремі інфоблоки під сутності (товари, категорії, бренди), властивості-довідники через HL-блоки, торгові пропозиції для SKU. Це закладає продуктивність на роки вперед. Якщо хочете отримати попередній аудит вашої схеми інфоблоків — зв'яжіться з нами, розберемо типові помилки та надамо рекомендації.
Чому 1С-Бітрікс вигідніший за альтернативи?
Вибір CMS диктується не уподобаннями, а бізнес-завданнями. Ось ключові аргументи:
- Нативний обмін з 1С — модуль
catalog.import.1c забезпечує двосторонній обмін товарами, цінами, залишками та замовленнями через CommerceML. Без сторонніх модулів. Це в 5 разів швидше, ніж розробка власного обміну на OpenCart або WordPress. Економія на інтеграції — до 200 000 грн порівняно з кастомними рішеннями.
- Проактивний захист — модуль
security включає WAF, контроль цілісності файлів, захист від SQL-ін'єкцій, двофакторну автентифікацію. Для проєктів з вимогами ФСТЭК — сертифіковане рішення (згідно з Wikipedia, це стандарт для корпоративних систем).
- Модульна архітектура — підключаємо лише потрібні модулі:
iblock, catalog, sale, search. Менше модулів — менше запитів до БД на кожен хіт.
- Регулярні патчі — вендор випускає security-патчі, закриваючи вразливості швидше, ніж open-source проєкти (середній час виправлення CVE — 2 тижні). Офіційна документація по модулях доступна на сайті розробника.
Що дають HL-блоки і як ми прискорюємо каталог
Highload-блоки — це альтернатива розширеним властивостям інфоблоків, коли список значень може зростати до тисяч записів. Типовий приклад: виробники, країни, кольори. Якщо зберігати їх як властивості-списки в інфоблоці, кожна фільтрація викликає повне сканування таблиці b_iblock_property_enum. З HL-блоками вибірка йде по індексу — час відповіді фільтра знижується з 1–2 секунд до 50 мс. Продуктивність HL-блоків у 8 разів вища за властивості-списки інфоблоків. Ми використовуємо HLB компонент і кастомні запити через Bitrix\Highloadblock\DataManager. Це особливо критично для каталогів з 100 000+ товарами.
З нашої практики — проєкт інтернет-магазину з 500 000 товарів. Стандартний фільтр по бренду виконувався 4 секунди. Сервер не витримував навантаження в 50 одночасних запитів — сторінки падали. Ми перевели довідник брендів у HL-блок, додали теговане кешування на 15 хвилин і налаштували агент для скидання кешу при зміні. Після доопрацювання час фільтрації склав 120 мс, середній LCP сторінки — 1,8 секунди. Проєкт працює стабільно без збоїв.
Що входить у розробку сайту на 1С-Бітрікс
Кожен проєкт включає повний комплект документації та артефактів, що виключає втрату знань після передачі.
- Технічне завдання — user stories, діаграми інфоблоків, схеми інтеграцій.
- Вихідний код у Git — з історією комітів, тегами релізів, правилами гілкування.
- Адміністративна документація — опис кастомних компонентів, інструкції з розгортання, перелік агентів і подій.
- Навчання співробітників — до 3 годин вебінару: панель управління, робота з замовленнями, налаштування цін. Записуємо, щоб можна було переглянути.
- Доступ до staging на час розробки — тестуєте самостійно до деплою на продуктив.
- Гарантійна підтримка — виправлення помилок коду протягом 30 днів після запуску. Післягарантійні абонентські пакети з SLA (реакція 2 години, рішення 8 годин).
Наш процес і технології
| Тип проєкту |
Терміни |
Складність |
Ключові особливості |
| Корпоративний сайт |
від 1 місяця |
Середня |
Каталог, новини, форми, CRM-інтеграція |
| Інтернет-магазин |
від 2 місяців |
Висока |
54-ФЗ, маркетплейси, обмін з 1С, SKU |
| B2B-портал |
від 3 місяців |
Дуже висока |
Персональні ціни, документообіг, Bizproc |
| Лендінг |
від 2 тижнів |
Низька |
LCP < 2с, композитний кеш, статика |
| Багатосайтова структура |
від 1,5 місяців |
Висока |
Роздільний контент, спільний каталог, hreflang |
Стек: верстка mobile-first, тестуємо на фізичних пристроях (iPhone, iPad, Android). Використовуємо BrowserStack для Safari на iOS. Продуктивність — LCP < 2,5 с, FID < 100 мс, CLS < 0,1. Включаємо композитний сайт (composite), CDN, теговане кешування, WebP/AVIF, lazy loading. SEO — Schema.org через JSON-LD, автогенерація sitemap.xml модулем seo, canonical і hreflang для мультимовних версій. robots.txt закриваємо /bitrix/ від індексації. CI/CD — Git, автодеплой через GitLab CI, staging. Міграції бази — модуль sprint.migration з версіонуванням.
Процес роботи:
- Аналітика — вивчаємо конкурентів, збираємо вимоги, малюємо прототипи в Figma. На виході — ТЗ з user stories.
- Дизайн — UI/UX з дизайн-системою. Компоненти перевикористовуються.
- Розробка — пишемо компоненти з кастомними шаблонами в
local/templates/. Бізнес-логіку виносимо в модулі local/modules/.
- Тестування — функціональне, кросбраузерне, навантажувальне (до 1000 запитів). Критичні баги виправляємо до запуску.
- Запуск — деплой на прод, моніторинг через UptimeRobot, алерти в Telegram. Усуваємо перші 48 годин.
Інтеграції, мультимовність і редизайн
| Напрямок |
Сервіси |
| CRM та аналітика |
Бітрікс24 (нативна), amoCRM, Roistat, Calltouch, Mindbox |
| Платежі |
ЮKassa, CloudPayments, Тінькофф, Apple Pay, Google Pay |
| Фіскалізація 54-ФЗ |
АТОЛ, OrangeData — налаштування через sale.cashbox |
| Логістика |
СДЕК, Boxberry, ПЕК, Укрпошта, Яндекс.Доставка |
| Комунікації |
JivoSite, Carrot Quest, SendPulse |
-
Повна локалізація через мовні файли lang/ і механізм SITE_ID. hreflang для кожної версії. Регіональні версії з різними цінами та контентом — визначення за IP (main.geo) або ручний вибір. Мультидоменність — єдине управління кількома доменами.
-
Редизайн без втрати позицій: аудит продуктивності (PageSpeed, WebPageTest), SEO (Screaming Frog). Новий шаблон у local/templates/ із збереженням URL-структури. 301-редиректи лише якщо URL змінюється суттєво. Оновлення ядра, перехід на D7 ORM, реструктуризація інфоблоків, міграція через sprint.migration з Git.
Типові помилки при проектуванні інфоблоків
- Один інфоблок на всі сутності замість окремих під товари, категорії, бренди.
- Використання властивостей-списків замість HL-блоків для довідників з великою кількістю записів.
- Відсутність індексів на полях, що використовуються у фільтрації каталогу.
- Нехтування тегованим кешуванням — призводить до скидання всього кешу при зміні одного елемента.
Гарантія та підтримка
Ми працюємо з 1С-Бітрікс 12+ років, реалізували 500+ проєктів. У штаті сертифіковані розробники. Фіксована вартість у договорі — без сюрпризів. Гарантійний період покриває помилки коду. Після — абонентські пакети з SLA (час реакції — 2 години, рішення — 8 годин). Моніторинг доступності 24/7, алерти в Telegram. За потреби отримайте попередній аудит — зв'яжіться з нами через форму на сайті або напишіть у чат, відповімо протягом години. Замовте розробку під ключ — ми спроєктуємо інфоблоки, інтегруємо 1С і розженимо каталог. Якщо вже є сайт на іншій CMS — замовте аудит продуктивності та міграцію на Бітрікс.