Налаштування ЧПУ (людинозрозумілі URL) для сайту

Ви змінюєте структуру URL, а старі посилання з пошуку перестають працювати. Або URL виглядають як `/page?id=123` — користувачі їх не читають, CTR падає. Ми стикалися з цим на десятках проєктів. Наприклад, для інтернет-магазину побутової техніки після впровадження ЧПУ кількість сторінок в індексі зро

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

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

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

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

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    997

Ви змінюєте структуру URL, а старі посилання з пошуку перестають працювати. Або URL виглядають як /page?id=123 — користувачі їх не читають, CTR падає. Ми стикалися з цим на десятках проєктів. Наприклад, для інтернет-магазину побутової техніки після впровадження ЧПУ кількість сторінок в індексі зросла в 3 рази за місяць, а CTR збільшився на 34%. Ми виробили систему, яка гарантує читабельні та індексовані URL без битих посилань.

ЧПУ підвищують CTR — користувач бачить у сніпеті адресу та розуміє, куди потрапить. А пошукові роботи швидше обробляють логічну структуру. Ми гарантуємо, що ваші URL стануть читабельними, унікальними та легко підтримуваними. У цій статті розберемо ключові принципи, типові помилки та готові рішення для Laravel. За даними Google Search Central, зрозумілі URL допомагають пошуковим системам точніше визначати вміст сторінки. Ми підготували перевірений підхід, який виключає проблеми з дублікатами, колізіями та битими посиланнями.

Принципи хорошого URL

Погано Добре
/product.php?id=4521 /products/iphone-15-pro-256gb
/cat/12/sub/45 /catalog/smartphones/apple
/articles/blog-post-with-date /blog/kak-vybrat-noutbuk
/page?lang=ru&id=about /o-kompanii
/Products/Laptops/Dell /products/laptops/dell (малі літери)

Правила:

  • Тільки малі літери
  • Роздільник — дефіс, не підкреслення
  • Без технічних ID (якщо можна обійтися)
  • Транслітерація або семантичний переклад на англійську
  • Логічна ієрархія, що відображає структуру сайту
  • Без зайвих стоп-слів: the, і, або, для

Як генерувати унікальні слаги без колізій?

У Laravel можна використовувати вбудований Str::slug, але він не перевіряє унікальність. Ми додаємо перевірку при створенні запису і, якщо slug зайнятий, генеруємо новий з числовим суфіксом. Наприклад, заголовок "Налаштування сервера" дасть slug nalashtuvannia-servera, а при повторі — nalashtuvannia-servera-2.

use Illuminate\Support\Str; // Проста транслітерація через iconv function translit(string $text): string { $text = mb_strtolower($text); $cyrToLat = [ 'а'=>'a','б'=>'b','в'=>'v','г'=>'g','д'=>'d','е'=>'e','ё'=>'yo', 'ж'=>'zh','з'=>'z','и'=>'i','й'=>'y','к'=>'k','л'=>'l','м'=>'m', 'н'=>'n','о'=>'o','п'=>'p','р'=>'r','с'=>'s','т'=>'t','у'=>'u', 'ф'=>'f','х'=>'kh','ц'=>'ts','ч'=>'ch','ш'=>'sh','щ'=>'shch', 'ъ'=>'','ы'=>'y','ь'=>'','э'=>'e','ю'=>'yu','я'=>'ya', ' '=>'-','_'=>'-', ]; $text = strtr($text, $cyrToLat); return preg_replace('/[^a-z0-9\-]/', '', $text); } // В моделі protected static function boot(): void { parent::boot(); static::creating(function (self $model) { if (empty($model->slug)) { $model->slug = static::generateUniqueSlug($model->title); } }); } protected static function generateUniqueSlug(string $title): string { $slug = translit($title); $original = $slug; $count = 1; while (static::where('slug', $slug)->exists()) { $slug = "{$original}-{$count}"; $count++; } return $slug; } 

Чому варто зберігати історію слагів?

Зазначимо: коли slug змінюється (наприклад, через ручне редагування), старий URL повинен автоматично редиректити на новий. Інакше пошуковики повернуть 404, а користувачі побачать помилку. Ми створюємо таблицю slug_redirects, яка зберігає пари старий → новий slug для кожної моделі.

Schema::create('slug_redirects', function (Blueprint $table) { $table->string('old_slug')->primary(); $table->string('new_slug'); $table->string('model_type'); $table->unsignedBigInteger('model_id'); $table->timestamps(); }); 

Після цього middleware при запиті перевіряє, чи немає редиректу для запитаного URL, і повертає 301.

Маршрутизація

// Вкладені маршрути для ієрархії Route::get('/catalog/{category}/{subcategory?}', [CatalogController::class, 'show']) ->where(['category' => '[a-z0-9\-]+', 'subcategory' => '[a-z0-9\-]+']); Route::get('/catalog/{category}/{subcategory}/{product}', [ProductController::class, 'show']) ->where(['product' => '[a-z0-9\-]+']); 

Як забезпечити постійність URL без багів?

Фіксований slug не змінюється при редагуванні заголовка — це SEO-переважно, оскільки немає битих посилань. Автоматичний slug оновлюється з заголовком, але вимагає обов'язкового 301-редиректу зі старого slug. Ми рекомендуємо фіксований slug з можливістю ручного редагування. Якщо клієнту важливе автоматичне оновлення, обов'язково підключаємо історію редиректів.

Типові помилки, які зустрічаються при налаштуванні ЧПУ: використання ID в URL замість слагу, неправильна транслітерація (наприклад, "щи" перетворюється на "schi" замість правильного "shchi"), відсутність редиректів при зміні slug, ігнорування мультимовності. Всі ці проблеми ми вирішуємо на етапі аудиту та проєктування.

URL для мультимовних сайтів

Варіанти структури:

Структура Приклад
Субдомен ru.example.com/products/laptop
Префікс шляху example.com/ru/products/laptop
Окремий домен example.ru/products/laptop

Для Яндекса кращі регіональні домени (.ru). Для Google — будь-який варіант працює, якщо налаштований hreflang. Ми допоможемо обрати оптимальну структуру під ваш регіон. Економія на SEO-просуванні за рахунок правильних URL сягає 30%.

Пагінація

Кращий формат: /blog/page/2 або /blog?page=2. Другий варіант зручніший — не вимагає окремого роута, canonical автоматично коректний. Для великих каталогів використовуємо пагінацію з номером сторінки в URL.

Що входить в роботу

  • Аудит поточних URL — виявлення проблем (ID, дублікати, стоп-слова)
  • Проєктування структури — ієрархія, транслітерація, мультимовність
  • Реалізація slug-системи — модель, генерація, перевірка унікальності
  • Налаштування редиректів — таблиця історії, 301 з будь-якого старого URL
  • Тестування — перевірка всіх переходів, відсутність 404
  • Документація — опис структури та правил редагування
  • Навчання команди — як додавати нові сторінки без помилок
Приклад реалізації middleware для 301 редиректу
public function handle($request, Closure $next) { $path = $request->path(); $redirect = SlugRedirect::where('old_slug', $path)->first(); if ($redirect) { return redirect($redirect->new_slug, 301); } return $next($request); } 

Терміни та як замовити

Типовий проєкт з налаштування ЧПУ для сайту на Laravel займає від 1 до 3 днів залежно від складності та кількості сторінок. Ми оцінюємо кожен проєкт індивідуально — зв'яжіться з нами, та отримайте консультацію з точними термінами. Наш досвід — понад 50 впроваджень, гарантуємо якість. Замовте налаштування ЧПУ — і ваші URL стануть читабельними, індексованими та без битих посилань.

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

  1. Аналітика та аудит поточних URL
  2. Проєктування ідеальної структури з урахуванням SEO та UX
  3. Реалізація slug-системи з редиректами
  4. Тестування на staging-оточенні
  5. Деплой та фінальна перевірка

Зв'яжіться з нами, щоб оцінити ваш проєкт. Ми підберемо оптимальну структуру URL під ваш стек і допоможемо уникнути типових помилок. Отримайте консультацію з вашого проєкту вже сьогодні.