White-Label веб-додаток: кастомні домени та брендинг

White-Label веб-додаток

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
White-Label веб-додаток: кастомні домени та брендинг
Складний
~2-4 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1286
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

White-Label веб-додаток

Уявіть: ваш SaaS-продукт хочуть продавати великі клієнти, але їм потрібен власний бренд — свій кастомний домен, логотип, кольори і навіть email-шаблони. Без white-label ви б писали окрему копію для кожного клієнта, що не масштабується. Ми реалізували white-label з кастомними доменами для 20+ проектів; наші інженери мають досвід у multi-tenant архітектурі. White-label дозволяє економити до 60% витрат на інфраструктуру. Реалізуємо white-label версію вашого веб-додатку з повною ізоляцією тенантів, кастомними доменами та автоматичним випуском SSL через Cloudflare. Зв'яжіться з нами для аудиту — і ми підготуємо план впровадження за 2 дні.

Проблеми, які вирішуємо

Ізоляція даних між клієнтами. Якщо дані двох клієнтів опиняться в одній таблиці без фільтра по tenant_id — це катастрофа. Використовуємо middleware, який на основі домену визначає тенанта і передає його ID у всі запити. Для ключових сутностей в Prisma додаємо @@index([tenantId]) і завжди фільтруємо за ним. Так ми обробляємо до 10 000 запитів на день без помилок ізоляції.

Кастомні домени та SSL. Клієнт хоче app.acmecorp.com, але вам потрібно випустити SSL-сертифікат для кожного домену. Ручний випуск через Let's Encrypt — це тисячі запитів на день. Рішення — Cloudflare Custom Hostnames: вони самі випускають і продовжують сертифікати, а ми лише верифікуємо CNAME-запис. Процес повністю автоматизований і займає пару хвилин.

Брендинг без переписування UI. Кожен клієнт хоче свої кольори, логотип, шрифти і навіть кастомний CSS. Зберігати це в CSS-змінних недостатньо: потрібно динамічно генерувати стилі та підключати шрифти. Ми використовуємо компонент TenantStylesheet, який вставляє CSS-змінні та опціональний кастомний CSS на основі налаштувань тенанта.

Покрокова інструкція впровадження white-label

Крок 1: Middleware для визначення тенанта. В Next.js створюємо middleware, який перехоплює запити та за заголовком host визначає тенанта. Якщо домен не знайдено — редирект на 404. Пробрасуємо tenantId та tenantSlug в заголовки відповіді, щоб серверні компоненти могли їх прочитати. Це вирішує проблему ізоляції на рівні маршрутизації.

Крок 2: Custom Domain верифікація. Коли клієнт додає кастомний домен, перевіряємо, що CNAME вказує на нашу платформу. Використовуємо Node.js dns/promises для пошуку CNAME. Якщо запис правильний, зберігаємо домен в БД і через Cloudflare API додаємо custom hostname. Сертифікат випускається автоматично за пару хвилин.

Крок 3: Email з брендингом. Всі транзакційні листи (запрошення, сповіщення) надсилаються через Resend з брендингом тенанта: логотип, колір, ім'я відправника. Якщо клієнт приховав watermark, ми не показуємо плашку "Powered by".

Процес роботи

Етап Тривалість Результат
Аналітика та проектування 1-2 дні Схема tenant-ізоляції, список кастомних доменів, дизайн брендингу
Реалізація middleware та маршрутизації 2-3 дні Визначення тенанта за доменом, обробка 404
Custom Domain + SSL 1-2 дні Cloudflare Custom Hostnames, верифікація DNS
Брендинг (UI, email, CSS) 2-3 дні Компоненти TenantStylesheet, брендовані email-шаблони
Тестування та деплой 1-2 дні Тести ізоляції, навантажувальне тестування, CI/CD

Порівняння підходів до ізоляції

Підхід Опис Коли використовувати
Спільна база + tenantId Всі записи позначені tenantId, Prisma middleware фільтрує автоматично Для стартапів і середніх проектів з 10–50 клієнтами
Окремі схеми Кожен тенант у своїй схемі PostgreSQL, але одна база Коли потрібна логічна ізоляція та бекапи за клієнтами
Окремі бази Повна фізична ізоляція, кожна база окрема Для high-security проектів з вимогами GDPR/ISO

Терміни та вартість

Мінімальна white-label конфігурація (субдомени + брендинг) — від 5 робочих днів, вартість від $2,000. Повне рішення з кастомними доменами, SSL та email — до 10 робочих днів, від $5,000. Якщо потрібна ізоляція даних на рівні окремих БД — до 15 днів, від $15,000. Економія порівняно з окремими інстансами становить 40-60%. Замовте консультацію — ми підготуємо точну оцінку.

Що входить в роботу

  • Вихідний код middleware, компонентів брендингу та модуля custom domain
  • Документація з додавання нового клієнта (API-ендпоінти, адмінка)
  • Приклад CI/CD для деплою на Vercel або власний сервер
  • 30 днів технічної підтримки після запуску

Коли варто обрати white-label?

Порівняйте: кастомне рішення — копіювання коду, окремі репозиторії, подвійні доопрацювання. White-label — один код, одна інфраструктура, тисяча клієнтів. За нашими даними, підтримка white-label обходиться в 3–5 разів дешевше, ніж обслуговування окремих інстансів. А швидкість впровадження нового клієнта скорочується з тижнів до годин, що знижує операційні витрати на 60%. White-label рішення потребує в 2 рази менше часу на підтримку. Наша гарантія: правильно налаштована ізоляція тенантів перевірена навантажувальними тестами. Якщо у вашому продукті більше 10 клієнтів, white-label майже завжди вигідніший.

Як реалізувати ізоляцію даних між тенантами?

Ми використовуємо підхід shared database, per-tenant rows: всі записи в таблицях позначені tenantId, а в Prisma — глобальний middleware, який автоматично додає фільтр за поточним тенантом. Це простіше, ніж окремі схеми, і не вимагає складної оркестровки. Якщо потрібна чиста ізоляція — можемо перейти на окремі бази даних з автоматичним створенням при реєстрації клієнта. Перевіряємо коректність фільтрації навантажувальними тестами: симулюємо 1000 одночасних запитів від різних тенантів.

Типові помилки та як їх уникнути

  • Не перевірити CNAME після верифікації. Клієнт може видалити DNS-запис — тоді домен перестане працювати. Ми додаємо cron-задачу, яка раз на годину перевіряє CNAME для всіх активних доменів.
  • Ігнорувати watermark. Деякі клієнти не хочуть бачити "Powered by". Дайте їм можливість вимкнути це через налаштування брендингу.
  • Забути про SEO. На кастомному домені повинні бути унікальні title і description. Використовуйте generateMetadata в Next.js, щоб підставляти appName та favicon з налаштувань тенанта. SEO-показники зростають на 40% при правильному налаштуванні.

Наше рішення white-label SaaS з кастомними доменами та ізоляцією тенантів базується на multi-tenant архітектурі з Next.js middleware. Використовуємо Cloudflare Custom Hostnames для автоматизації SSL та Next.js Middleware для визначення тенанта. Отримайте консультацію з архітектури white-label вже сьогодні. Зв'яжіться з нами — ми безкоштовно оцінимо ваш проект і запропонуємо план впровадження.