לקוח הגיע עם משימה: להריץ שלוש חנויות על מנוע אחד — קמעונאות, סיטונאות ופורטל שותפים. התקנות נפרדות היו מנפחות את התקציב ואת לוח הזמנים. הצענו ארכיטקטורת multisite באמצעות Magento 2. עם יותר מ-20 פרויקטי multisite מאחורינו, סיפקנו: בסיס קוד יחיד, פריסה אחת, מוצרים משותפים, אבל קטלוגים, עגלות ולקוחות נפרדים. עלויות האחסון ירדו בעד 40%, מהירות הפריסה שולשה. עלות הבעלות הכוללת יורדת ב-35% באמצעות תחזוקה מאוחדת.
לדוגמה, לקוח אחד — רשת אלקטרוניקה — רצה לפצל את הקטלוג לקמעונאות וסיטונאות. יישמנו multisite במהירות, הגדרנו מחירים ואמצעי תשלום שונים. התוצאה: כל חנות פועלת באופן עצמאי אך מנוהלת מפאנל ניהול אחד. גישה זו רלוונטית במיוחד בעת התרחבות לאזורים או פלחים חדשים.
היררכיה תלת-מפלסית
Magento 2 מבנה אתרים לשלושה מפלסים:
| מפלס | אחריות | עגלה | קטלוג | URL | מטבע | לקוחות |
|---|---|---|---|---|---|---|
| אתר (Website) | מפלס עליון | עצמאי | משותף (ברירת מחדל) | תת-דומיין או שורש | בסיסי | משותף או לפי אתר |
| חנות (Store) | מפלס אמצעי | נפרד | קטגוריית שורש משלה | נתיב | בירושה | בירושה |
| תצוגת חנות (Store View) | מפלס תחתון | בירושה | בירושה | שפה/אזור | בירושה | בירושה |
כיצד ליצור את המבנה בפאנל הניהול?
- עבור אל חנויות > כל החנויות.
- צור אתר (Website): הזן שם (לדוגמה, B2B Portal), קוד ייחודי (b2b), סדר מיון.
- צור חנות (Store): בחר אתר, הזן שם, קטגוריית שורש (צור בנפרד עבור כל חנות).
- צור תצוגת חנות (Store View): בחר חנות, הזן שם, קוד (b2b_ru), הפעל.
לאחר מכן, הגדר הגדרות URL והיקף (scope).
הגדרת Nginx עבור Multisite
server {
listen 443 ssl http2;
server_name shop.example.com b2b.example.com;
root /var/www/magento/pub;
# Определяем MAGE_RUN_CODE и MAGE_RUN_TYPE по домену
if ($host = 'b2b.example.com') {
set $MAGE_RUN_CODE 'b2b';
set $MAGE_RUN_TYPE 'website';
}
if ($host = 'shop.example.com') {
set $MAGE_RUN_CODE 'base';
set $MAGE_RUN_TYPE 'website';
}
include /etc/nginx/snippets/magento.conf;
}חלופה: נתיבי URL או מיפוי PHP (גמיש יותר אך מורכב). אנו בדרך כלל משתמשים בתת-דומיינים — קל יותר ל-SEO ולתשלום.
אילו הגדרות היקף דורשות תשומת לב?
רוב ההגדרות כוללות היקף: גלובלי → אתר → תצוגת חנות. לדוגמה, שיטות משלוח: השבת משלוח חינם ל-B2B, הפעל לקמעונאות מ-$27–39. קטלוגים נפרדים נוצרים באמצעות קטגוריות שורש. מוצרים משותפים אך משויכים לקטגוריות מעצים שונים.
כמו כן, שקול הגדרות מס, מטבע ואמצעי תשלום — הן יכולות להשתנות לפי אתר. עבור B2B, לעתים קרובות נדרשים מטבע נפרד ומסלול מס נפרד.
הגדרת URL ו-HTTPS
עבור כל תצוגת חנות בפאנל הניהול, הגדר Base URL ו-Secure URL. HTTPS הוא חובה: הפעל Use Secure URLs בחנות המקוונת ובפאנל הניהול.
מה אנחנו עושים ומה כלול
- ניתוח: ביקורת על המבנה הקיים, בחירת תרחיש (לקוחות משותפים או מבודדים). בדיקת תאימות עם מודולים מותקנים.
- עיצוב: תכנית אתר/חנות/תצוגת חנות, קטגוריות שורש, היקף. התחשבות בדרישות לוקליזציה ומטבע.
- יישום: הגדרת Nginx, יצירת ישויות, הגדרת URL, העברת מוצרים. שימוש בסקריפטים אוטומטיים.
- בדיקות: עגלה, תשלום, מעבר שפה. הדמיית עומס.
- פריסה: הגדרת CI/CD, פריסת תוכן סטטי עבור ערכות נושא מרובות. אופטימיזציית מטמון.
- תיעוד: תיאור ארכיטקטורה, הוראות לניהול.
- הדרכה: סמינר מקוון של שעתיים לצוות.
- תמיכה: חודש אחד לאחר השחרור.
מדוע Multisite חסכוני יותר?
השוואה עם התקנות נפרדות:
| פרמטר | Magento 2 Multisite | התקנות נפרדות |
|---|---|---|
| בסיס קוד | אחד | N מופעים |
| עלויות אחסון | נמוך ב-30–50% | גבוה יותר |
| מהירות פריסה | פי 3 מהר יותר | איטי יותר |
| ניהול | פאנל ניהול מאוחד | מפוצל |
לפי התיעוד הרשמי של Magento, ארכיטקטורת multisite מומלצת לניהול מותגים מרובים או גרסאות אזוריות. החיסכון ברישיונות Adobe Commerce הוא גם משמעותי: רישיון אחד מכסה את כל האתרים, בעוד שהתקנות נפרדות דורשות רישיונות מרובים. הניסיון של המהנדסים שלנו מקצר את זמן היישום ב-30%.
כיצד Multisite משפיע על ביצועים?
כל תצוגת חנות מוסיפה עומס על אינדקסרים. הכבד ביותר הוא server { listen 443 ssl http2; server_name shop.example.com b2b.example.com; root /var/www/magento/pub; # Определяем MAGE_RUN_CODE и MAGE_RUN_TYPE по домену if ($host = 'b2b.example.com') { set $MAGE_RUN_CODE 'b2b'; set $MAGE_RUN_TYPE 'website'; } if ($host = 'shop.example.com') { set $MAGE_RUN_CODE 'base'; set $MAGE_RUN_TYPE 'website'; } include /etc/nginx/snippets/magento.conf; } . האץ את האינדוקס עם ביצוע מקבילי: catalog_product_price. השתמש ב-Redis עם מסדי נתונים נפרדים לסוגי נתונים שונים וב-Varnish עבור FPC.
דוגמה לניטור אינדקסרים
```sql SELECT indexer_id, status, updated FROM indexer_state; ```טעויות נפוצות בהגדרת Multisite
- MAGE_RUN_TYPE שגוי: שימוש ב-store במקום website מוביל לבלבול בעגלה.
- קודים ייחודיים חסרים לאתר ולחנות — שגיאות תצורה.
- התעלמות מהגדרות היקף: לדוגמה, מחיר מוצר עשוי להידרס באופן בלתי צפוי ברמת תצוגת החנות.
- קטגוריית שורש שגויה — מוצרים לא מופיעים בחנות.
- חוסר בבדיקות לאחר שינויים.
ניתן להימנע מטעויות אלה עם עיצוב יסודי לפני היישום. הזמן ביקורת על המבנה הנוכחי שלך — נזהה צווארי בקבוק.
לוחות זמנים ומחירים
Multisite פשוט ביותר (2 אתרים, קטלוג משותף) — ממספר ימים. הגדרה מלאה עם 3–5 אתרים, ערכות נושא שונות, לקוחות מבודדים — 1–2 שבועות. אם נדרש Adobe Commerce B2B — תוספת של 2–4 שבועות. המחיר מחושב באופן אישי. קבל ייעוץ ממהנדס Magento — נעריך את המשימה שלך תוך יום אחד. צור קשר, ונכין הצעה.







