Розробка сайту онлайн-школи на 1С-Бітрікс
Як свідчить дослідження HolonIQ, ринок онлайн-освіти зростає на 15% щорічно. При розробці онлайн-школи на Бітрікс ключова складність — організувати продаж курсів та гнучкий контроль доступу після оплати. Стандартна LMS на кшталт Moodle погано пристосована для продажу та маркетингу, а Бітрікс з модулем sale та торговим каталогом потребує грамотної архітектури. Розберемо технічні рішення, які ми застосовуємо в проектах.
У нашій практиці ми реалізували десятки проектів для онлайн-шкіл — від монокурсів до платформ з 50+ курсами та інтеграцією з Moodle. Основний час йде на модуль контролю доступу та LMS-функціонал. Клієнти часто приходять із задачею об'єднати вітрину, платіжну систему та закритий контент — і ми знаходимо оптимальну архітектуру під кожен кейс. Вартість розробки монокурсу стартує від $5,000, середньої онлайн-школи — від $15,000, а великої платформи — від $40,000.
Чому Бітрікс для онлайн-школи?
Бітрікс з коробки надає торговий каталог, кошик, замовлення, знижки та купони — це 60% функціоналу для продажу курсів. Решта — доопрацювання контролю доступу, особистого кабінету та інтеграцій. На відміну від спеціалізованих LMS, Бітрікс не потребує окремого маркетингового інструменту: SEO-модуль, форми, розсилки вже вбудовані. 85% наших клієнтів обирають Бітрікс саме через комплексність.
Організація продажу курсів та контролю доступу
Ключова механіка: користувач оплачує курс та отримує доступ. Реалізація залежить від бізнес-моделі: разова покупка, підписка, пакети курсів, корпоративний доступ.
Каталог курсів
Інфоблок Courses з торговим каталогом (підключений модуль catalog). Розділи — напрямки навчання. Властивості елемента:
| Властивість |
Тип |
Призначення |
| LEVEL |
Список |
Початковий / середній / просунутий |
| FORMAT |
Список |
Відеокурс / вебінар / текст / змішаний |
| DURATION_HOURS |
Число |
Загальна тривалість у годинах |
| LESSONS_COUNT |
Число |
Кількість уроків |
| TEACHER_ID |
Прив'язка E |
Викладач (інфоблок Teachers) |
| PREVIEW_LESSONS |
Множинна прив'язка E |
Безкоштовні уроки для прев'ю |
| CERTIFICATE |
Логічний |
Чи видається сертифікат |
| START_DATE |
Дата |
Дата старту (для потокових курсів) |
| ACCESS_DAYS |
Число |
Термін доступу після покупки (0 = безстроково) |
| USER_GROUP_ID |
Число |
ID групи користувачів для доступу |
Ціна курсу — стандартна властивість торгового каталогу. Для курсів з варіантами використовуються торгові пропозиції (SKU) — вкладений інфоблок з різними цінами та складом.
Механізм контролю доступу
Три підходи мають свої компроміси. Перший — групи користувачів: при оплаті замовлення користувач додається до групи, прив'язаної до курсу. Реалізація через подію OnSaleOrderPaid.
// Псевдокод обробника
$order = \Bitrix\Sale\Order::load($orderId);
foreach ($order->getBasket() as $item) {
$courseId = $item->getProductId();
$groupId = getGroupIdByCourse($courseId);
addUserToGroup($order->getUserId(), $groupId);
}
Недолік — при 200 курсах виникає 200 груп, управління стає громіздким. Другий підхід — Highload-блок CourseAccess з полями UF_USER_ID, UF_COURSE_ID, UF_ORDER_ID, UF_DATE_FROM, UF_DATE_TO, UF_STATUS. При оплаті створюється запис, при перегляді контенту перевіряється активність запису. Cron-агент щоденно оновлює статус для прострочених записів. Цей підхід гнучкіший: легко реалізувати обмежений доступ, заморозку, продовження, корпоративні ліцензії. Використання Highload-блоків у 3 рази гнучкіше, ніж групи користувачів, і на 30% швидше в реалізації.
Третій — гібрид: групи для базового розмежування (зареєстрований, купивший хоча б один курс, підписник) та Highload-блок для точкового контролю по конкретних курсах. Гібридний підхід на 30% швидший у реалізації для шкіл з 20+ курсами порівняно з чистим Highload.
Як налаштувати платіжні системи та промокоди?
Модуль sale підтримує ЮKassa, Робокаса, CloudPayments, Stripe. Для онлайн-шкіл критичні рекурентні платежі (підписка), 54-ФЗ з автоматичною фіскалізацією через ОФД (АТОЛ, OrangeData) та повернення через API платіжної системи. Налаштування платежів займає 1–2 дні.
Промокоди реалізуються штатними купонами (b_sale_discount_coupon). Для реферальної програми — кастомний модуль: унікальний код у профілі, при покупці реферер отримує бонус (знижку або на внутрішній рахунок). 60% учнів приходять за рефералами, що робить цю функцію критичною.
Реалізація LMS-функціоналу на Бітрікс
Власна LMS — кастомний модуль. Уроки — інфоблок Lessons з типом контенту (відео, текст, тест). Прогрес проходження — Highload-блок UserProgress: UF_USER_ID, UF_LESSON_ID, UF_STATUS, UF_COMPLETED_AT, UF_SCORE. Дані оновлюються AJAX-запитом при завершенні уроку. Тести — Highload-блок TestQuestions з відповідями в JSON. Результати тестів — у UserProgress та окремому HL-блоці TestResults. Сертифікати — генерація PDF через mPDF при завершенні всіх уроків та тестів з мінімальним балом.
Інтеграція з Moodle в 2 рази прискорює запуск LMS, якщо не потрібні унікальні функції. Бітрікс відповідає за вітрину та продажі, Moodle — за навчання. Аналогічно — інтеграція з GetCourse.
Вебінарна кімната та розсилки
Бітрікс не має вбудованого вебінарного модуля. Інтеграція з Zoom через API (OAuth 2.0): створення вебінару (POST /v2/users/{userId}/webinars), реєстрація учасників після оплати. Для російських шкіл — Телемост або VK Звонки. Розклад вебінарів — інфоблок Webinars.
Розсилки по сегментах через модуль sender. Сегменти будуються на основі Highload-блоків CourseAccess та UserProgress: купивші курс, пройшли 50%, завершили, зареєстровані без покупки, неактивні 30+ днів. Кожен сегмент — connector у sender. 70% користувачів реагують на тригерні листи, що підвищує дохід на 20%.
Які терміни розробки?
Таблиця термінів розробки
| Масштаб |
Опис |
Термін |
| Монокурс / міні-школа |
1–5 курсів, продаж через sale, базовий ОК, відеоуроки на Vimeo |
6–8 тижнів |
| Середня онлайн-школа |
10–30 курсів, підписна модель, тести, сертифікати, вебінари, розсилки |
14–20 тижнів |
| Велика платформа |
50+ курсів, інтеграція з Moodle, реферальна програма, корпоративні ліцензії, мобільний додаток (API) |
24–32 тижні |
Якщо інтегруватися з Moodle або GetCourse замість розробки з нуля, терміни скорочуються на 4–8 тижнів, що знижує бюджет у 1.5–2 рази.
Що входить у розробку
- Аналіз бізнес-процесів та проектування архітектури
- Налаштування торгового каталогу, кошика та платіжних систем (з фіскалізацією)
- Розробка модуля контролю доступу (Highload-блоки, групи)
- Створення особистого кабінету учня з прогресом та сертифікатами
- Інтеграція з LMS (Moodle, GetCourse) або розробка кастомної LMS
- Інтеграція вебінарних сервісів (Zoom, Телемост)
- Налаштування тригерних розсилок
- Тестування, деплой та документація
- Навчання адміністраторів
- Гарантійна підтримка 3 місяці
Процес роботи
- Аналітика — вивчаємо бізнес-модель, цільову аудиторію, вимоги до доступу та інтеграцій. Фіксуємо архітектуру в ТЗ.
- Проектування — структура інфоблоків, HL-блоків, схема прав доступу, інтеграційні сценарії.
- Реалізація — модулі, платіжні системи, верстка, інтеграції.
- Тестування — покриття ключових сценаріїв, навантажувальні тести.
- Деплой та підтримка — розгортання, документація, навчання.
Замовте розробку сайту онлайн-школи на 1С-Бітрікс під ключ за 6-8 тижнів. Оцініть проект безкоштовно — напишіть нам, і ми запропонуємо оптимальне архітектурне рішення.
Як правильно проектувати інфоблоки?
Ми бачимо десятки проєктів, де неправильна структура інфоблоків перетворює сайт на гальмо. Типовий сценарій: замовник просить «каталог товарів». Розробник створює один інфоблок 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 — замовте аудит продуктивності та міграцію на Бітрікс.