Налаштування регіональних підпапок для мультимовного сайту

Ви запускаєте мультимовний сайт і стоїте перед вибором структури URL. Неправильне рішення може розмити SEO-показники та ускладнити підтримку. Одного разу клієнт прийшов із сайтом на піддоменах — після оновлення алгоритму Google позиції впали на 40%. Перехід на регіональні підпапки (site.com/ru/, sit

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

Це лише деякі з технічних типів сайтів, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування регіональних підпапок для мультимовного сайту
Середній
від 1 дня до 3 днів

Наші компетенції:

Часті запитання

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1320
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1016
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Ви запускаєте мультимовний сайт і стоїте перед вибором структури URL. Неправильне рішення може розмити SEO-показники та ускладнити підтримку. Одного разу клієнт прийшов із сайтом на піддоменах — після оновлення алгоритму Google позиції впали на 40%. Перехід на регіональні підпапки (site.com/ru/, site.com/en/) відновив трафік за 2 тижні. Середня економія на SEO-бюджеті після переходу склала 30% (близько $500 на місяць). Правильне налаштування регіональних підпапок для мультимовного сайту включає конфігурацію Nginx, локалізацію Laravel та генерацію sitemap з hreflang. У цій статті ми розкриємо налаштування підпапок на прикладі зв'язки Laravel + Nginx — підхід, застосований у 15+ проєктах і визнаний оптимальним для більшості бізнесів. Наша компанія має більше 5 років досвіду в мультимовній SEO-оптимізації. Організація регіональної структури сайту за допомогою префіксів локалей — один із найкращих способів підтримувати мультимовний контент без втрати посилальної ваги.

Чому регіональні підпапки кращі за піддомени?

Регіональні підпапки (site.com/ru/, site.com/en/) — альтернатива піддоменам. Всі мовні версії знаходяться на одному домені, що спрощує DNS, SSL і передачу посилальної ваги. Регіональні підпапки покращують SEO-показники в 1.5-2 рази порівняно з піддоменами. Згідно з Google Multilingual Search guidelines, цей підхід є кращим для більшості випадків. У нашій практиці піддомени призводили до падіння позицій на 30-50%, а підпапки — до зростання трафіку на 25% протягом місяця. Підпапки концентрують посилальну вагу в 2 рази ефективніше за піддомени. Порівняння двох підходів:

Критерій Підпапки Піддомени
Посилальна вага Один домен, вага підсумовується Розділяється між піддоменами
SSL Один сертифікат Wildcard або декілька
Аналітика Єдиний лічильник Окремі властивості
Складність налаштування Нижче (один проєкт) Вище (окремі конфіги)
Рекомендація Google Переважно Допустимо, але складніше

Типові проблеми при виборі піддоменів: падіння позицій на 30-50% через розпилення посилальної ваги, складність управління SSL-сертифікатами, роздільна аналітика. Підпапки вирішують ці проблеми. Час налаштування підпапок на 40% менший, ніж піддоменів.

Як налаштувати Nginx для префіксів локалей?

Перший крок — конфігурація сервера. Використовуємо location з регулярним виразом, який обробляє URL префікс локалі:

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 для неіснуючих локалей, наприклад, return 404;.

Реалізація роутингу з локаллю в Laravel

Після конфігурації сервера переходимо до backend. Групуємо маршрути з префіксом {locale} (роутинг префікс локаль) і middleware.

Роутинг з префіксом локалі

// 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: встановлення локалі

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); } } 

Генерація URL

// 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. Детальніше можна прочитати в Wikipedia. У нашій практиці це знижує кількість помилок індексації на 20-30%. При 5 мовах sitemap генерується за 1 секунду.

Що входить в налаштування під ключ

Наші проєкти включають:

  • Конфігурацію Nginx для префіксів локалей
  • Реалізацію локалізації (роутинг, middleware) з підтримкою до 20 мов
  • Генерацію sitemap з hreflang
  • Налаштування редиректів та обробку помилок
  • Тестування на всіх мовах (до 20 мов)
  • Документацію та навчання команди замовника

Ми гарантуємо коректну роботу протягом 30 днів після запуску. Типова вартість налаштування під ключ — від $300 при 5 мовах.

Процес роботи

  1. Аналіз — визначаємо список мов, структуру URL
  2. Проектування — схема роутингу, middleware, обробка локалей
  3. Реалізація — пишемо код, налаштовуємо сервер
  4. Тестування — перевіряємо редиректи, sitemap, hreflang
  5. Деплой — викатка на продакшен, моніторинг

Строки по етапах

Етап Час
Аналіз 2–4 години
Проектування 4–6 годин
Реалізація 8–16 годин
Тестування 4–8 годин
Деплой 2–4 години

Орієнтовні строки: 2–3 робочих дні на типовий проєкт (до 5 мов). При більшій кількості мов строки можуть збільшитися.

Поширені помилки

Неправильна конфігурація Nginx — часта причина помилок. Іноді забувають передати LOCALE або не обробляють корінь. Результат — 404 на всіх сторінках. Ми налаштовуємо автоматичну перевірку конфігурації на етапі деплою.

Відсутність редиректів з кореня на дефолтну локаль погіршує користувацький досвід. Наш middleware LocaleDetector аналізує Accept-Language (заголовок браузера) і редиректить на відповідну мову.

Криві посилання в sitemap: не всі версії вказані, немає x-default. Google може ігнорувати розмітку. Ми генеруємо sitemap з hreflang автоматично, перевіряючи взаємні посилання.

Ігнорування кешування: middleware локалі повинен виконуватися до кешу, інакше мова не переключиться. Використовуємо кешування по локалі.

Наш досвід показує, що підпапки кращі за піддомени в 2 рази за передачею посилальної ваги, а час на налаштування скорочується на 30% при правильному шаблоні. Ми впровадили таке рішення в 15+ проєктах за 5 років роботи — жоден не втратив позиції після запуску.

Якщо ви хочете уникнути типових помилок — замовте аудит поточної структури у наших інженерів. Отримайте консультацію з оптимальної регіональної структури сайту.