יישום רשת בלבן (White-Label)
דמיינו שמוצר ה-SaaS שלכם עומד להימכר על ידי לקוח ארגוני גדול, אבל הם צריכים את המותג שלהם—הדומיין, הלוגו, הצבעים ואפילו תבניות הדוא"ל שלהם. ללא white-label, הייתם צריכים לכתוב עותק נפרד לכל לקוח, וזה לא ניתן לקנה מידה. יישמנו white-label עבור 20+ פרויקטים; למהנדסים שלנו יש ניסיון עמוק בארכיטקטורת multi-tenant. אנו בונים גרסת white-label של יישום הרשת שלכם עם בידוד מלא של דיירים, דומיינים מותאמים אישית והנפקת SSL אוטומטית דרך Cloudflare. צרו קשר לבדיקה—נכין תוכנית פריסה תוך יומיים.
בעיות שאנו פותרים
בידוד נתונים בין לקוחות. אם נתונים משני לקוחות מגיעים לאותה טבלה ללא מסנן tenant_id, זו קטסטרופה. אנו משתמשים ב-middleware שמזהה את הדייר על סמך הדומיין ומעביר את המזהה שלו לכל השאילתות. עבור ישויות מפתח ב-Prisma, אנו מוסיפים @@index([tenantId]) ותמיד מסננים לפיו. כך אנו מטפלים בעד 10,000 בקשות ביום ללא שגיאות בידוד.
דומיינים מותאמים אישית ו-SSL. לקוח רוצה app.acmecorp.com, אבל צריך להנפיק אישור SSL לכל דומיין. הנפקה ידנית דרך Let's Encrypt הייתה אומרת אלפי בקשות ביום. הפתרון הוא Cloudflare Custom Hostnames: הם מנפיקים ומחדשים אישורים אוטומטית, ואנחנו רק מאמתים את רשומת ה-CNAME. התהליך אוטומטי לחלוטין ואורך מספר דקות.
מיתוג ללא שכתוב ממשק המשתמש. כל לקוח רוצה צבעים, לוגו, גופנים ואפילו CSS מותאם אישית משלו. אחסון זה במשתני CSS אינו מספיק: צריך ליצור סגנונות דינמית ולטעון גופנים. אנו משתמשים ברכיב TenantStylesheet שמזריק משתני CSS ו-CSS מותאם אישית אופציונלי על סמך הגדרות הדייר.
איך אנחנו עושים את זה: מקרה יישום אמיתי
מהניסיון שלנו: פרויקט אחד היה פלטפורמת white-label לניהול פרויקטים. הלקוח שלנו היה חברה גדולה עם 50+ מותגים. מחסן הטכנולוגיה: Next.js 14 (App Router), Prisma, PostgreSQL, Cloudflare ו-Resend לדוא"ל.
Middleware לקביעת דייר. ב-Next.js, יצרנו middleware שמיירט בקשות וקובע את הדייר מכותרת ה-host. אם הדומיין לא נמצא, הוא מפנה ל-404. אנו מעבירים tenantId ו-tenantSlug בכותרת התגובה כך שרכיבי שרת יוכלו לקרוא אותם. זה פותר בידוד ברמת הניתוב.
אימות דומיין מותאם אישית. כאשר לקוח מוסיף דומיין מותאם אישית, אנו מאמתים שה-CNAME מצביע לפלטפורמה שלנו. אנו משתמשים ב-Node.js dns/promises כדי לחפש את ה-CNAME. אם הרשומה נכונה, אנו שומרים את הדומיין במסד הנתונים ומוסיפים את ה-custom hostname דרך ה-API של Cloudflare. האישור מונפק אוטומטית תוך דקות.
דוא"ל ממותג. כל הדוא"לים הטרנזקציוניים (הזמנות, הודעות) נשלחים דרך Resend עם מיתוג הדייר: לוגו, צבע, שם שולח. אם הלקוח מסתיר את סימן המים, איננו מציגים את התגית "Powered by".
תהליך העבודה
| שלב | משך | תוצאה |
|---|---|---|
| ניתוח ועיצוב | 1-2 ימים | סכימת בידוד דיירים, רשימת דומיינים מותאמים אישית, עיצוב מיתוג |
| יישום Middleware וניתוב | 2-3 ימים | קביעת דייר לפי דומיין, טיפול ב-404 |
| דומיין מותאם אישית + SSL | 1-2 ימים | Cloudflare Custom Hostnames, אימות DNS |
| מיתוג (ממשק משתמש, דוא"ל, CSS) | 2-3 ימים | רכיבי TenantStylesheet, תבניות דוא"ל ממותגות |
| בדיקות ופריסה | 1-2 ימים | בדיקות בידוד, בדיקות עומס, CI/CD |
השוואת גישות בידוד
| גישה | תיאור | מתי להשתמש |
|---|---|---|
| מסד נתונים משותף + tenantId | כל השורות מתויגות עם tenantId, Prisma middleware מסנן אוטומטית | לסטארטאפים ופרויקטים בינוניים עם 10–50 לקוחות |
| סכמות נפרדות | כל דייר בסכמת PostgreSQL משלו, אותו מסד נתונים | כאשר נדרש בידוד לוגי וגיבויים לכל לקוח |
| מסדי נתונים נפרדים | בידוד פיזי מלא, כל מסד נתונים נפרד | לפרויקטים עם דרישות אבטחה גבוהות כמו GDPR/ISO |
לוחות זמנים משוערים
תצורת white-label מינימלית (תת-דומיינים + מיתוג) — מ-5 ימי עסקים. פתרון מלא עם דומיינים מותאמים אישית, SSL ודוא"ל — עד 10 ימי עסקים. אם נדרש בידוד נתונים ברמת מסד נתונים אישי — עד 15 ימים. העלות מחושבת באופן אישי לאחר בדיקת המחסן הטכנולוגי שלכם. הזמינו ייעוץ—נכין הערכה מדויקת.
מה כלול בעבודה
- קוד מקור של middleware, רכיבי מיתוג ומודול דומיינים מותאמים אישית
- תיעוד להוספת לקוח חדש (נקודות קצה API, פאנל ניהול)
- דוגמת CI/CD לפריסה ב-Vercel או בשרת משלכם
- 30 ימי תמיכה טכנית לאחר ההשקה
מתי כדאי לבחור ב-White-Label?
השוו: פתרון מותאם אישית פירושו העתקת קוד, מאגרים נפרדים, עבודה כפולה. White-label—קוד אחד, תשתית אחת, אלפי לקוחות. לפי הנתונים שלנו, עלות התחזוקה של white-label נמוכה פי 3–5 מתחזוקת מופעים נפרדים. ומהירות קליטת לקוח חדש עוברת משבועות לשעות, ומפחיתה עלויות תפעול. אם למוצר שלכם יש יותר מ-10 לקוחות, white-label כמעט תמיד משתלם יותר.
איך ליישם בידוד נתונים בין דיירים?
אנו משתמשים בגישת מסד נתונים משותף, שורות לכל דייר: כל הרשומות בטבלאות מתויגות עם tenantId, וב-Prisma יש לנו middleware גלובלי שמוסיף אוטומטית מסנן לדייר הנוכחי. זה פשוט יותר מסכמות נפרדות ואינו דורש אורכיסטרציה מורכבת. אם נדרש בידוד טהור, אנו יכולים לעבור למסדי נתונים נפרדים עם יצירה אוטומטית בעת רישום לקוח. אנו מוודאים את נכונות הסינון עם בדיקות עומס: מדמים 1000 בקשות בו-זמנית מדיירים שונים.
טעויות נפוצות וכיצד להימנע מהן
- אי בדיקה חוזרת של CNAME לאחר האימות. הלקוח עלול למחוק את רשומת ה-DNS—ואז הדומיין מפסיק לעבוד. אנו מוסיפים cron job שבודק CNAME עבור כל הדומיינים הפעילים כל שעה.
- התעלמות מסימן מים. חלק מהלקוחות לא רוצים לראות "Powered by". תנו להם אפשרות להשבית אותו בהגדרות המיתוג.
-
שכחת SEO. בדומיינים מותאמים אישית חייבים להיות כותרת ותיאור ייחודיים. השתמשו ב-
generateMetadataב-Next.js כדי לשלוף את appName ו-favicon מהגדרות הדייר.
אנו משתמשים ב-Cloudflare Custom Hostnames כדי להפוך SSL לאוטומטי וב-Next.js Middleware לקביעת דייר. קבלו ייעוץ לארכיטקטורת white-label עוד היום. צרו קשר—נעריך את הפרויקט שלכם ונציע תוכנית יישום.







