הגדרת ריבוי אתרים בסטָטָמיק: קונפיגורציה, לוקליזציה, hreflang

כאשר עסק נכנס לשווקים חדשים, יכולות רב-לשוניות ורב-אתרים הופכות להכרח, אך מערכות CMS מפוצלות יוצרות כאוס בניהול ובקידום האורגני. אנו מגדירים multisite ב-Statamic Pro, ומאחדים את כל גרסאות האתר בהתקנה אחת עם ממשק ניהול יחיד. הצוות שלנו מספק את הפרויקט במפתח מלא—מהגדרות ולוקליזציה ועד hreflang ומתג שפה תקינים—ומבטיח פעילות אמינה ותמיכה שוטפת.

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

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

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

השירותים שאנו מציעים
מציג 1 מתוך 1כל 2062 השירותים
הגדרת ריבוי אתרים בסטָטָמיק: קונפיגורציה, לוקליזציה, hreflang
בינוני
~2-3 ימים

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

שאלות נפוצות

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

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1502
  • פיתוח אפליקציית ווב עבור FEEDME
    פיתוח אפליקציית ווב עבור FEEDME
    1344
  • פיתוח אתר עבור BELFINGROUP
    פיתוח אתר עבור BELFINGROUP
    1052
  • פיתוח חנות מקוונת לחברת FURNORO
    פיתוח חנות מקוונת לחברת FURNORO
    1307
  • פיתוח אפליקציית ווב עבור Enviok
    פיתוח אפליקציית ווב עבור Enviok
    1049
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1033

Statamic Pro מהקופסה יכול לשרת מספר אתרים מהתקנה אחת — אנו משתמשים בתכונה זו כדי לחסוך בזמן ובמשאבים של הלקוחות שלנו. תרחיש טיפוסי: חברה גדלה ונכנסת לשווקים חדשים. במקום חמש התקנות CMS נפרדות — התקנה אחת, ממשק ניהול אחד, עדכונים משותפים. נעבור על ההתקנה באמצעות פרויקט אמיתי: חנות מקוונת עם גרסאות רוסית, אנגלית וגרמנית. תלמדו כיצד לארגן תצורה, לנהל ערכים מתורגמים, וליישם מעבר שפות עם תגי SEO נכונים.

אילו בעיות Multisite פותר

משימה נפוצה: חנות מקוונת רוצה להיכנס לשוק הגרמני. היא זקוקה לדומיין חדש, תרגום תוכן, אבל העגלה והקטלוג משותפים. או שכל אתר הוא מותג נפרד עם מבנה משלו. Statamic פותר זאת דרך קובץ התצורה sites.php וניהול תוכן מרכזי.

הבעיה הראשונה — כפילות קוד. ללא multisite, היית צריך לפרוס התקנות נפרדות — להכפיל את השרתים, התצורות והעדכונים. Statamic שומר הכל במאגר אחד.

הבעיה השנייה — בלבול SEO. אם שתי שפות תלויות על דומיין אחד ללא hreflang, מנועי חיפוש עלולים לראות אותן ככפילויות. אנו מגדירים hreflang כראוי.

הבעיה השלישית — מעבר שפות. רגעים לא מובנים מאליהם ב-Antlers: איך להציג קישור לתרגום של העמוד הנוכחי אם הוא עדיין לא קיים? אנו פותרים זאת עם לוגיקת fallback.

איך אנחנו עושים את זה

התצורה הבסיסית — config/statamic/sites.php. ציינו handle, locale, url, ובאופציונלי direction. דוגמה לשלוש שפות:

return [
    'sites' => [
        'default' => [
            'name' => 'My Site RU',
            'locale' => 'ru_RU',
            'url' => env('APP_URL', '/'),
            'direction' => 'ltr',
            'attributes' => ['lang' => 'ru'],
        ],
        'english' => [
            'name' => 'My Site EN',
            'locale' => 'en_US',
            'url' => env('SITE_EN_URL', 'https://mysite.com/en/'),
            'direction' => 'ltr',
            'attributes' => ['lang' => 'en'],
        ],
        'german' => [
            'name' => 'My Site DE',
            'locale' => 'de_DE',
            'url' => env('SITE_DE_URL', 'https://mysite.com/de/'),
        ],
    ],
];
"}

לוקליזציה של Collections. בקובץ ה-YAML של ה-collection, ציינו אילו אתרים משתתפים:

# content/collections/blog.yaml sites: - default - english - german 

לאחר מכן, הערכים הופכים אוטומטית ל-multisite. תיקיות ב-return [ 'sites' => [ 'default' => [ 'name' => 'My Site RU', 'locale' => 'ru_RU', 'url' => env('APP_URL', '/'), 'direction' => 'ltr', 'attributes' => ['lang' => 'ru'], ], 'english' => [ 'name' => 'My Site EN', 'locale' => 'en_US', 'url' => env('SITE_EN_URL', 'https://mysite.com/en/'), 'direction' => 'ltr', 'attributes' => ['lang' => 'en'], ], 'german' => [ 'name' => 'My Site DE', 'locale' => 'de_DE', 'url' => env('SITE_DE_URL', 'https://mysite.com/de/'), ], ], ]; :

  • # content/collections/blog.yaml sites: - default - english - german (גרסה רוסית)
  • content/collections/blog/ (גרסה אנגלית)
  • default/my-post.md (גרסה גרמנית)

אם לוקליזציה לאתר חסרה — Statamic מציג תוכן מהאתר ברירת המחדל (fallback). זה נוח כשהתרגום עדיין לא מוכן.

למה Statamic מהיר יותר מאשר CMS נפרד

Statamic מקצר את הזמן להוספת שפה חדשה פי 3 בהשוואה ל-CMS נפרד. החיסכון נובע מקוד בסיס אחד וניהול אחיד. תמיכה מובנית ב-hreflang ותוכן fallback מפשטים את ה-SEO. ותצורה גמישה דרך Antlers מאפשרת כל תרחיש מעבר.

איך להגדיר hreflang ומעבר שפות

מעבר שפות ב-Antlers. הגרסה המלאה עם בדיקת קיום תרגום:

{{ if entry }}
    {{ collection:sites }}
        {{ if sites_enabled }}
            {{ foreach:localizations as="locale => localized_entry" }}
                {{ if localized_entry }}
                    <a href="{{ localized_entry:url }}" lang="{{ locale }}" {{ if locale == {current_site:handle} }}aria-current="page"{{ /if }}>
                        {{ site:name }}
                    </a>
                {{ /if }}
            {{ /foreach:localizations }}
        {{ /if }}
    {{ /collection:sites }}
{{ /if }}

לפי התיעוד הרשמי של Statamic, תג english/my-post.md הוא אלטרנטיבה קומפקטית יותר, אבל הוא לא בודק קיום תרגום, אז השתמשו בו בזהירות.

שאילתות PHP עם מודעות לאתר. קבלו ערכים רק עבור האתר הנוכחי:

use Statamic\Facades\Entry;
use Statamic\Facades\Site;

$posts = Entry::query()
    ->where('collection', 'blog')
    ->where('site', Site::current()->handle())
    ->get();

לאתר אחר, החליפו את ה-handle שלו. SEO: תגי hreflang. ב-head של ה-layout, הוסיפו:

{{ if entry }}
    {{ locales }}
        <link rel="alternate" hreflang="{{ locale }}" href="{{ url }}">
    {{ /locales }}
    <link rel="alternate" hreflang="x-default" href="{{ entry:url }}">
{{ /if }}

התנהגות Fallback של Statamic

מצב התנהגות דוגמה
ערך קיים רק בברירת המחדל תוכן ברירת המחדל מוצג מאמר רוסי מוצג באתר האנגלי אם אין גרסה אנגלית
ערך קיים במספר אתרים כל אתר מקבל גרסה משלו גרסאות רוסית ואנגלית עצמאיות
ערך לא קיים בשום מקום עמוד 404 אם הערך לא פורסם לאף אתר

השוואה: Statamic Multisite מול CMS נפרד

קריטריון התקנת Statamic אחת שני CMS נפרדים
עדכונים עדכון composer אחד פעמיים
תוכן משותף או נפרד — גמיש רק העתקה
קוד בסיס אחיד כפילות
מורכבות התקנה בינונית נמוכה יותר, אבל יותר שגרתית
אופטימיזציית SEO hreflang מובנה התקנה ידנית

תהליך העבודה שלנו

  1. אנליטיקה — קביעת מספר השפות, הדומיינים, מדיניות התוכן המשותף.
  2. תצורה — הגדרת sites.php, הגדרת משתני סביבה.
  3. העברת תוכן — העברת ערכים עם ציון אתר.
  4. פיתוח תבניות — מעבר שפות, hreflang, globals.
  5. בדיקות — בדיקת fallback, מעבר, מהירות. ב-90% מהמקרים, הכל עובד בניסיון הראשון.
  6. פריסה — הגדרת ניתוב (Nginx/Cloudflare) לדומיינים.

לוח זמנים משוער

הגדרת multisite עם 2–3 שפות אורכת 1 עד 3 ימים, כולל בדיקות. העלות מחושבת באופן אישי לפי מורכבות התוכן ומספר התבניות. לפרויקטים עם 10,000+ ערכים, אנו ממליצים להקצות עד 5 ימים להעברה ואופטימיזציה.

מה כלול בעבודה

  • הגדרת sites.php ומשתני סביבה.
  • הגדרת לוקליזציה ל-collections ו-globals.
  • פיתוח מעבר שפות ב-Antlers.
  • יישום תגי hreflang.
  • תיעוד להוספת שפה חדשה.
  • ייעוץ לבחירת תכנית דומיינים.

איך להימנע מטעויות נפוצות

  1. שכחת לציין direction לערבית/עברית — טקסט נשבר.
  2. התעלמות מ-fallback — אם לוקליזציה חסרה, מנועי חיפוש עלולים להציג גרסה לא נכונה.
  3. אי בדיקת hreflang — Google Search Console יציג שגיאות "אין תגי חזרה".

איך להגדיר Multisite ללא כפילות קוד

הסוד הוא תצורה מרכזית ותבניות משותפות. כל תבניות ה-Antlers נמצאות בתיקיית german/my-post.md אחת, בעוד התוכן שונה לפי אתר. זה מפחית את נפח הקוד ב-40% בהשוואה ל-CMS נפרד.

למה להפקיד בידינו Multisite

אנו עובדים עם Statamic למעלה מ-7 שנים, מיישמים פרויקטים של multisite למסחר אלקטרוני ופורטלים ארגוניים (מעל 20 פרויקטים). אנו מבטיחים שכל השפות יונדסו כראוי, והמעבר מתרחש ללא טעינת עמוד (הודות ל-Livewire/Alpine). צרו קשר כדי לדון בפרויקט שלכם. הזמינו ביקורת על התצורה הנוכחית שלכם — נזהה צווארי בקבוק ונציע אופטימיזציה.