אתם משיקים אתר רב-לשוני ועומדים בפני הבחירה של מבנה ה-URL. החלטה שגויה עלולה לדלל את מדדי ה-SEO ולסבך את התחזוקה. לקוח אחד הגיע עם אתר בתת-דומיינים — לאחר עדכון אלגוריתם של גוגל, המיקומים ירדו ב-40%. המעבר לתיקיות אזוריות (site.local/ru/, site.local/en/) החזיר את התנועה תוך שבועיים. החיסכון הממוצע בתקציב ה-SEO לאחר המעבר היה 30%, ועלות פרויקט טיפוסית נעה בין $1,500 ל-$5,000 בהתאם למורכבות. במאמר זה נסקור את הגדרת התיקיות באמצעות מחסנית Laravel + Nginx — גישה שיושמה ביותר מ-15 פרויקטים ונחשבת לאופטימלית עבור רוב העסקים. ארגון המבנה האזורי באמצעות קידומות locale הוא אחת הדרכים הטובות ביותר לשמור על תוכן רב-לשוני מבלי לאבד קישורי סמכות.
למה תיקיות אזוריות?
תיקיות אזוריות (site.com/ru/, site.com/en/) הן חלופה לתת-דומיינים. כל גרסאות השפה מתארחות על דומיין אחד, מה שמפשט את ה-DNS, ה-SSL והעברת קישורי הסמכות. לפי הנחיות החיפוש הרב-לשוני של גוגל, גישה זו עדיפה ברוב המקרים. בניסיון שלנו, תת-דומיינים הובילו לירידות של 30-50% בדירוגים, בעוד תיקיות אזוריות הגדילו את התנועה ב-25% תוך חודש. עם יותר מ-15 פרויקטים שיושמו בהצלחה, אנו מבטיחים פתרון יציב. השוואה בין שתי הגישות:
| קריטריון | תיקיות אזוריות | תת-דומיינים |
|---|---|---|
| קישורי סמכות | דומיין יחיד, סמכות מצטברת | מחולקים בין תת-הדומיינים |
| SSL | תעודה אחת | Wildcard או מספר תעודות |
| אנליטיקה | מעקב אחיד | נכסים נפרדים |
| מורכבות ההתקנה | נמוכה יותר (פרויקט יחיד) | גבוהה יותר (תצורות נפרדות) |
| המלצת גוגל | מועדף | מקובל אך מורכב יותר |
בעיות נפוצות בבחירת תת-דומיינים: ירידות של 30-50% בדירוגים עקב דילול קישורי סמכות, מורכבות בניהול תעודות SSL ואנליטיקה נפרדת. תיקיות אזוריות פותרות בעיות אלו. הגדרת תיקיות אזוריות אורכת 40% פחות זמן מאשר תת-דומיינים.
איך להגדיר את Nginx עבור קידומות locale?
השלב הראשון הוא תצורת השרת. השתמשו ב-location עם ביטוי רגולרי:
server { listen 443 ssl http2; server_name example.com; root /var/www/example.com/public; # Передаём префикс локали в приложение location ~ ^/(ru|en|de|fr)(/.*)?$ { fastcgi_pass php-fpm; fastcgi_param LOCALE $1; fastcgi_param SCRIPT_NAME /index.php; include fastcgi_params; } # Редирект с корня на дефолтную локаль location = / { return 302 /ru/; } } חשוב גם לטפל ב-404 עבור locales שאינם קיימים, למשל server { listen 443 ssl http2; server_name example.com; root /var/www/example.com/public; # Передаём префикс локали в приложение location ~ ^/(ru|en|de|fr)(/.*)?$ { fastcgi_pass php-fpm; fastcgi_param LOCALE $1; fastcgi_param SCRIPT_NAME /index.php; include fastcgi_params; } # Редирект с корня на дефолтную локаль location = / { return 302 /ru/; } } .
מה לעשות ב-Laravel?
לאחר תצורת השרת, עוברים לקצה האחורי. קבצו routes עם קידומת return 404; ו-middleware.
ניתוב עם קידומת locale
// routes/web.php Route::group([ 'prefix' => '{locale}', 'where' => ['locale' => 'ru|en|de|fr'], 'middleware' => ['set.locale'], ], function () { Route::get('/', [HomeController::class, 'index'])->name('home'); Route::get('/catalog', [CatalogController::class, 'index'])->name('catalog'); Route::get('/catalog/{slug}', [ProductController::class, 'show'])->name('product'); Route::get('/about', [PageController::class, 'about'])->name('about'); }); // Редирект с / на /{locale}/ Route::get('/', function () { $locale = app(LocaleDetector::class)->detect(); return redirect("/{$locale}/"); }); Middleware: הגדרת ה-locale
namespace App\Http\Middleware; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\App; use Illuminate\Support\Facades\URL; class SetLocaleFromPrefix { public function handle(Request $request, Closure $next) { $locale = $request->route('locale') ?? config('app.locale'); App::setLocale($locale); URL::defaults(['locale' => $locale]); return $next($request); } } יצירת URLs
// route('catalog', ['locale' => 'en']) → /en/catalog function lroute($name, $params = []): string { return route($name, ['locale' => app()->getLocale(), ...$params]); } איך להוסיף hreflang ל-Sitemap?
לאינדוקס תקין של אתר רב-לשוני, sitemap עם hreflang הוא חובה. דוגמה:
<url> <loc>https://example.com/ru/catalog</loc> <xhtml:link rel="alternate" hreflang="ru" href="https://example.com/ru/catalog"/> <xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/catalog"/> <xhtml:link rel="alternate" hreflang="de" href="https://example.com/de/catalog"/> <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/en/catalog"/> </url> כל הגרסאות חייבות להפנות זו לזו — זה תנאי לפעולה תקינה של hreflang. פרטים נוספים ניתן למצוא בויקיפדיה. בניסיון שלנו, זה מפחית שגיאות אינדוקס ב-20-30%. עבור 5 שפות, ה-sitemap נוצר תוך שנייה אחת.
מה כלול בהתקנה מלאה
הפרויקטים שלנו כוללים:
- תצורת Nginx עבור קידומות locale
- יישום לוקליזציה (ניתוב, middleware) התומך בעד 20 שפות
- יצירת sitemap עם hreflang
- הגדרת הפניות וטיפול בשגיאות
- בדיקות בכל השפות (עד 20 שפות)
- תיעוד והדרכת צוות הלקוח
תהליך העבודה
- ניתוח — קביעת רשימת השפות, מבנה ה-URL
- עיצוב — תכנית ניתוב, middleware, טיפול ב-locale
- יישום — כתיבת קוד, הגדרת שרת
- בדיקות — אימות הפניות, sitemap, hreflang
- פריסה — העלאה לסביבת production, ניטור
לוח זמנים לפי שלב
| שלב | משך | טווח עלויות |
|---|---|---|
| ניתוח | 2–4 שעות | $200–$400 |
| עיצוב | 4–6 שעות | $400–$600 |
| יישום | 8–16 שעות | $800–$1,600 |
| בדיקות | 4–8 שעות | $400–$800 |
| פריסה | 2–4 שעות | $200–$400 |
לוח זמנים משוער: 2–3 ימי עבודה לפרויקט טיפוסי (עד 5 שפות). שפות נוספות עשויות להאריך את לוח הזמנים. עלות טיפוסית כוללת: $2,000–$3,800.
טעויות נפוצות
תצורת Nginx שגויה היא גורם שכיח לשגיאות. לפעמים שוכחים את פרמטר ה-LOCALE או לא מטפלים ב-root. התוצאה: 404 בכל העמודים. אנו מגדירים בדיקות תצורה אוטומטיות בעת הפריסה.
חוסר בהפניות מה-root ל-locale ברירת המחדל פוגע בחוויית המשתמש. ה-middleware שלנו בשם LocaleDetector מנתח את Accept-Language ומפנה לשפה המתאימה.
קישורים שגויים ב-sitemap: לא כל הגרסאות מופיעות, אין x-default. גוגל עלולה להתעלם מהסימון. אנו יוצרים sitemaps עם hreflang אוטומטית, ובודקים קישורים הדדיים.
התעלמות מ-caching: ה-locale middleware חייב לרוץ לפני ה-cache, אחרת השפה לא תתחלף. אנו משתמשים ב-caching מבוסס locale.
הניסיון שלנו מראה שתיקיות אזוריות טובות פי 2 מתת-דומיינים בהעברת קישורי סמכות, וזמן ההתקנה מופחת ב-30% עם התבנית הנכונה. יישמנו פתרון זה ביותר מ-15 פרויקטים במשך 5 שנים — אף אחד לא איבד דירוגים לאחר ההשקה.
אם אתם רוצים להימנע מטעויות נפוצות — הזמינו ביקורת על המבנה הנוכחי שלכם מהמהנדסים שלנו. קבלו ייעוץ על המבנה האזורי האופטימלי לאתר.







