הקמת אתר רב-דומי: מנוע יחיד לכל המדינות

תארו לעצמכם: יש לכם אתר לרוסיה (company.ru), לקזחסטן (company.kz), ולבלארוס (company.by). כל אחד חייב להציג מחירים, תוכן ומידע משפטי משלו. אבל תחזוקת שלושה אתרים נפרדים היא יקרה ולא יעילה. הפתרון הוא אתר רב-דומי על קוד בסיס יחיד, ב

פיתוח ותחזוקה של כל סוגי האתרים:

אתרי מידע או יישומי אינטרנט
אתרי תדמית, דפי נחיתה, אתרי חברה, קטלוגים מקוונים, חידונים, אתרי קידום, בלוגים, מקורות חדשות, פורטלי מידע, פורומים, אגרגטורים
אתרי מסחר אלקטרוני או יישומי אינטרנט
חנויות מקוונות, פורטלי B2B, שווקים, בורסות מקוונות, אתרי קאשבק, בורסות, פלטפורמות דרופשיפינג, מנתחי מוצרים
יישומי אינטרנט לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, פורטלים ארגוניים, מערכות ניהול ייצור, מנתחי מידע
אתרי שירות אלקטרוני או יישומי אינטרנט
פלטפורמות מודעות, בתי ספר מקוונים, בתי קולנוע מקוונים, בוני אתרים, פורטלים לשירותים אלקטרוניים, פלטפורמות אירוח וידאו, פורטלים נושאיים

אלה רק חלק מהסוגים הטכניים של אתרים שאנו עובדים איתם, ולכל אחד מהם יכולים להיות מאפיינים ופונקציונליות ספציפיים משלו, וכן ניתן להתאים אותם לצרכים ולמטרות הספציפיים של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
הקמת אתר רב-דומי: מנוע יחיד לכל המדינות
מורכב
~5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1467
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1320
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1015
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1276
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1019
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019

תארו לעצמכם: יש לכם אתר לרוסיה (company.ru), לקזחסטן (company.kz) ולבלארוס (company.by). כל אחד חייב להציג מחירים, תוכן ומידע משפטי משלו. אבל תחזוקה של שלושה אתרים נפרדים היא יקרה ולא יעילה. הפתרון הוא אתר רב-דומי על בסיס קוד אחד, הבנוי על עקרונות multitenancy. אנו מקימים מערכות כאלה במפתח מלא, תוך הבטחת בידוד תוכן מלא ואות SEO מקומי מקסימלי. אתר רב-דומי חזק פי 2–3 מתיקיות משנה בעוצמת אות SEO מקומי, כפי שמאושר על ידי מקרי הלקוחות שלנו (עלייה בתנועה עד 30%).

בעיות שאתר רב-דומי פותר

הפרדת תוכן והגדרות — הגדרת אתר רב-דומי

כל דומיין הוא אתר עצמאי בעיני גוגל. זה דורש מטבע, אזור זמן, טקסטים משפטיים ומחירים שונים. מסד נתונים יחיד עם קישור לדומיין פותר את הבעיה ללא שכפול קוד. אנו משתמשים בטבלת site_domains המאחסנת host, קוד מדינה, locale ומטבע. גישה זו חוסכת עד 40% מזמן העדכון בהשוואה לתחזוקה של התקנות נפרדות.

בידוד SEO ו-hreflang

גוגל חייבת לראות ש-company.kz ו-company.ru הם אתרים שונים למדינות שונות. לשם כך, אנו מייצרים תגי hreflang ב-head של כל עמוד. שגיאה ב-hreflang מובילה לעונש — אנו מונעים זאת באמצעות יצירה אוטומטית המבוססת על טבלת הדומיינים. הגדרה נכונה מגדילה את התנועה האורגנית המקומית בממוצע ב-30%.

אובדן סשן במעבר בין דומיינים

שימו לב: כאשר משתמש עובר מ-company.ru ל-company.kz, הסשן אובד — עוגיות לא מועברות בין דומיינים שונים. אנו מיישמים SSO באמצעות טוקן חד-פעמי: כאשר לוחצים על "מעבר לאתר לקזחסטן", נוצר טוקן, והדומיין השני מחליף אותו בסשן. זה עובד ללא עוגיות משותפות ואינו דורש דומיין יחיד.

איך עובדת ארכיטקטורת multitenant?

בליבה נמצאת טבלת site_domains המקשרת בין הדומיין להגדרות. Middleware מסוג ResolveSiteDomain קובע את הדומיין הנוכחי, מגדיר locale, אזור זמן ומטבע. תוכן מאוחסן עם קישור לדומיין — עמודים ספציפיים דורסים עמודים משותפים.

CREATE TABLE site_domains ( id SERIAL PRIMARY KEY, host VARCHAR(253) UNIQUE NOT NULL, country_code CHAR(2) NOT NULL, locale VARCHAR(10) NOT NULL, currency CHAR(3) NOT NULL, timezone VARCHAR(64) NOT NULL, is_primary BOOLEAN DEFAULT false, is_active BOOLEAN DEFAULT true, meta JSONB DEFAULT '{}' ); 

Middleware לזיהוי דומיין

class ResolveSiteDomain { public function handle(Request $request, Closure $next): Response { $host = $request->getHost(); $domain = SiteDomain::where('host', $host)->where('is_active', true)->first(); if (!$domain) { $primary = SiteDomain::where('is_primary', true)->firstOrFail(); return redirect("https://{$primary->host}" . $request->getRequestUri(), 301); } app()->instance('site.domain', $domain); App::setLocale($domain->locale); Carbon::setlocale($domain->locale); date_default_timezone_set($domain->timezone); return $next($request); } } 

Nginx: virtual hosts

בלוק שרת יחיד עם מספר server_name מספיק. ניתן לשלב תעודות SSL ב-SAN או להשתמש ב-wildcard.

server { listen 443 ssl http2; server_name company.ru company.kz company.by; ssl_certificate /etc/letsencrypt/live/company.ru/fullchain.pem; root /var/www/company/public; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/run/php/php8.2-fpm.sock; fastcgi_param HTTP_HOST $host; include fastcgi_params; } } 

יצירת hreflang

Helper מייצר תגים עבור כל הדומיינים הפעילים:

function hreflangTags(string $path): string { $domains = SiteDomain::where('is_active', true)->get(); return $domains->map(fn($d) => "<link rel=\"alternate\" hreflang=\"{$d->locale}-{$d->country_code}\" href=\"https://{$d->host}{$path}\" />" )->join("\n"); } 

מה נותן אתר רב-דומי בהשוואה לתיקיות משנה?

מאפיין רב-דומי תיקיות משנה
עוצמת אות SEO מקומי גבוהה (דומיין נפרד) בינונית (תת-דומיין או תיקייה)
בידוד תוכן מלא: דרישות משפטיות ומטבעות שונים מוגבל: דומיין משותף, קשה יותר ליצור גרסאות שונות
ניהול SSL דורש תעודת SAN או wildcard תעודה אחת לכל הדומיין
מורכבות יישום גבוהה יותר: middleware, SSO, hreflang נמוכה יותר: רק תיקיות משנה
תחזוקה קוד אחד קוד אחד

איך להוסיף דומיין חדש?

  1. רשמו את הדומיין והגדירו רשומות DNS A (עד 24 שעות להפצה).
  2. הוסיפו רשומה לטבלת CREATE TABLE site_domains ( id SERIAL PRIMARY KEY, host VARCHAR(253) UNIQUE NOT NULL, country_code CHAR(2) NOT NULL, locale VARCHAR(10) NOT NULL, currency CHAR(3) NOT NULL, timezone VARCHAR(64) NOT NULL, is_primary BOOLEAN DEFAULT false, is_active BOOLEAN DEFAULT true, meta JSONB DEFAULT '{}' ); — 2 דקות.
  3. עדכנו את תעודת ה-SAN דרך Certbot — 5 דקות.
  4. הוסיפו server_name ל-Nginx וטענו מחדש — דקה אחת.
  5. ייבאו או צרו תוכן לדומיין החדש (תלוי בנפח).

כל התהליך אורך כשעה, לא כולל זמן DNS.

Google Search Central ממליצה לבחור בין רב-דומי לתיקיות משנה על פי דרישות עסקיות. רב-דומי עדיף כאשר התוכן והמותג שונים מאוד בין מדינות.

טעויות נפוצות וכיצד להימנע מהן

  • שכחת תוכן fallback. אם עמוד לא נמצא עבור דומיין ספציפי, יש לטעון אותו מהמאגר המשותף, אחרת המשתמש יראה 404. אנו מיישמים זאת דרך ספק נתיבים גלובלי.
  • סדר אתחול שגוי. יש להגדיר locale ואזור זמן לפני כל קריאה ל-Eloquent — ברמת ה-middleware.
  • התעלמות ממטמון. עבור אתר רב-דומי, יש לחלק את המטמון לפי דומיין (דרך prefix או תג נפרד), אחרת משתמש מדומיין אחד יראה עמוד שמור מדומיין אחר.

שלבי עבודה

שלב תיאור משך (ימים)
אודיט ניתוח הארכיטקטורה הנוכחית, בחירת אסטרטגיה 1
עיצוב סכמת DB, טבלת דומיינים, ניתוב 1
יישום Middleware, ספק, helpers, העברת תוכן 2–3
בדיקות אימות hreflang, סשנים, מטמון 1
פריסה הגדרת Nginx, SSL, DNS 1

סה"כ: 2–5 ימים.

לוחות זמנים ועלות

למהנדסים שלנו יש ניסיון של 5+ שנים בבניית מערכות multitenant והם יישמו למעלה מ-50 פרויקטים רב-דומיים. פרויקט הקמה טיפוסי של אתר רב-דומי אורך בין 2 ל-5 ימי עסקים, תלוי במורכבות הקוד הקיים ובנפח התוכן. העלות מחושבת באופן אישי לאחר אודיט — הזמינו אודיט של הארכיטקטורה הנוכחית שלכם או קבלו ייעוץ. אנו מבטיחים הגדרת hreflang נכונה ובידוד SEO מלא.