>
← Повернутися на головну

Оптимізація URL структури

SEO-friendly URLs: clean, readable, optimized для пошукових систем

📅 Оновлено: 7 лютого 2026 ⏱️ Час читання: 40 хв 🎯 Рівень: Початковий-Середній
📘 Чому важлива URL структура?

URL (Uniform Resource Locator) — це адреса вашої веб-сторінки. Правильно структуровані URLs:

  • 📈 Покращують SEO — Google використовує URL як ranking factor
  • 🔗 Збільшують CTR — зрозумілі URLs отримують більше кліків
  • 👥 UX friendly — користувачі бачать, що на сторінці
  • 📊 Аналітика — легше відстежувати у Google Analytics
  • 🔗 Shareability — зручніше шерити в соцмережах

Частина 1: Порівняння поганих і хороших URLs

❌ Погано ✅ Добре
example.com/page.php?id=123 example.com/quadratic-equation-calculator
example.com/категорія/калькулятор example.com/category/calculator
example.com/product.asp?cat=4&id=2343 example.com/math/derivative-calculator
example.com/index.php?page=about_us example.com/about
example.com/2026/02/07/post-title-here example.com/blog/post-title-here
example.com/PRODUCTS/CATEGORY/ITEM example.com/products/category/item

Частина 2: Правила SEO-friendly URLs

1 Використовуйте дефіси (-), не підкреслення (_)
❌ example.com/quadratic_equation_calculator
✅ example.com/quadratic-equation-calculator

Чому? Google розглядає дефіс як розділювач слів, а підкреслення — як частину слова.

quadratic-equation = два слова "quadratic" + "equation"

quadratic_equation = одне слово "quadraticequation"

2 Lowercase (малі літери)
❌ example.com/Quadratic-Equation-Calculator
❌ example.com/PRODUCTS/Category/Item
✅ example.com/quadratic-equation-calculator

Проблема: деякі сервери розрізняють регістр:

  • /About/about
  • Це призводить до дублікатів контенту!
  • Користувачі можуть ввести URL неправильно
3 Коротко і змістовно (3-5 слів)
❌ example.com/how-to-use-our-online-quadratic-equation-calculator-tool-for-students
✅ example.com/quadratic-equation-calculator

Оптимальна довжина: 50-60 символів максимум

  • Google показує ~60 символів у результатах пошуку
  • Короткі URLs легше запам'ятати
  • Менше шансів на помилку при введенні
4 Використовуйте ключові слова
❌ example.com/calculator/tool-42
✅ example.com/quadratic-equation-calculator

Правила:

  • Головне ключове слово на початку URL
  • 1-2 ключові слова максимум
  • Уникайте keyword stuffing
5 Чітка ієрархія (breadcrumb structure)
✅ example.com/math/algebra/quadratic-equation
✅ example.com/physics/mechanics/kinematics
✅ example.com/blog/seo/url-optimization

Переваги:

  • Зрозуміла структура сайту
  • Легше навігувати (можна підняти на рівень: /math/algebra → /math)
  • Google краще розуміє зв'язки між сторінками

Обмеження: максимум 3-4 рівні вкладеності

❌ example.com/category/subcategory/sub-subcategory/item/detail
6 Без спецсимволів та кирилиці
❌ example.com/калькулятор-квадратного-рівняння
❌ example.com/calculator?param=значення
❌ example.com/calc@2026#section
✅ example.com/quadratic-equation-calculator
✅ example.com/calculator?param=value
✅ example.com/calc-2026

Проблема кирилиці: перетворюється на percent-encoding

Кирилиця: /калькулятор Кодування: /%D0%BA%D0%B0%D0%BB%D1%8C%D0%BA%D1%83%D0%BB%D1%8F%D1%82%D0%BE%D1%80 Результат: довгий, незрозумілий, погано для SEO

Дозволені символи:

  • Літери: a-z
  • Цифри: 0-9
  • Дефіс: -
  • Слеш: /

Частина 3: Slug Generation (транслітерація)

JavaScript функція для створення slug

function generateSlug(text) { // Транслітерація кирилиці const cyrillicMap = { 'а': 'a', 'б': 'b', 'в': 'v', 'г': 'g', 'д': 'd', 'е': 'e', 'є': 'ye', 'ж': 'zh', 'з': 'z', 'и': 'y', 'і': 'i', 'ї': 'yi', 'й': 'y', 'к': 'k', 'л': 'l', 'м': 'm', 'н': 'n', 'о': 'o', 'п': 'p', 'р': 'r', 'с': 's', 'т': 't', 'у': 'u', 'ф': 'f', 'х': 'kh', 'ц': 'ts', 'ч': 'ch', 'ш': 'sh', 'щ': 'shch', 'ь': '', 'ю': 'yu', 'я': 'ya' }; return text .toLowerCase() // Lowercase .trim() // Видалити пробіли з початку/кінця .split('') .map(char => cyrillicMap[char] || char) // Транслітерація .join('') .replace(/[^a-z0-9\s-]/g, '') // Видалити спецсимволи .replace(/\s+/g, '-') // Пробіли → дефіси .replace(/-+/g, '-') // Множинні дефіси → один .replace(/^-|-$/g, ''); // Видалити дефіси з початку/кінця } // Приклади console.log(generateSlug('Калькулятор квадратного рівняння')); // → "kalkulyator-kvadratnogo-rivnyannya" console.log(generateSlug('Квантова механіка: хвильова функція')); // → "kvantova-mekhanika-khvylyova-funktsiya" console.log(generateSlug(' Multiple Spaces ')); // → "multiple-spaces" console.log(generateSlug('Special!@#$%Characters')); // → "specialcharacters"

PHP функція

function generateSlug($text) { // Транслітерація $transliteration = [ 'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'є' => 'ye', 'ж' => 'zh', 'з' => 'z', 'и' => 'y', 'і' => 'i', 'ї' => 'yi', 'й' => 'y', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o', 'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'kh', 'ц' => 'ts', 'ч' => 'ch', 'ш' => 'sh', 'щ' => 'shch', 'ь' => '', 'ю' => 'yu', 'я' => 'ya' ]; $text = mb_strtolower($text, 'UTF-8'); $text = strtr($text, $transliteration); $text = preg_replace('/[^a-z0-9\s-]/', '', $text); $text = preg_replace('/\s+/', '-', trim($text)); $text = preg_replace('/-+/', '-', $text); $text = trim($text, '-'); return $text; } echo generateSlug('Калькулятор матриць'); // → "kalkulyator-matryts"

Python функція

import re from transliterate import translit def generate_slug(text): # Транслітерація (потрібна бібліотека: pip install transliterate) text = translit(text, 'uk', reversed=True) text = text.lower() text = re.sub(r'[^a-z0-9\s-]', '', text) text = re.sub(r'\s+', '-', text.strip()) text = re.sub(r'-+', '-', text) text = text.strip('-') return text print(generate_slug('Квантова фізика')) # → "kvantova-fizyka"

Частина 4: URL Rewriting (.htaccess / Nginx)

Apache (.htaccess)

# Увімкнути mod_rewrite RewriteEngine On RewriteBase / # Видалити trailing slash (опціонально) RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ /$1 [R=301,L] # Примусово lowercase URLs RewriteMap lowercase int:tolower RewriteCond %{REQUEST_URI} [A-Z] RewriteRule ^(.*)$ ${lowercase:$1} [R=301,L] # Чисті URLs (видалити .html) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^\.]+)$ $1.html [NC,L] # Redirect старих URLs на нові RewriteRule ^old-page$ /new-page [R=301,L] RewriteRule ^product\.php\?id=(\d+)$ /products/$1 [R=301,L]

Nginx

server { listen 80; server_name example.com; # Видалити trailing slash rewrite ^/(.*)/$ /$1 permanent; # Примусово lowercase if ($request_uri ~* [A-Z]) { rewrite ^(.*)$ $scheme://$host$uri permanent; } # Чисті URLs location / { try_files $uri $uri.html $uri/ =404; } # Redirect старих URLs rewrite ^/old-page$ /new-page permanent; rewrite ^/product\.php\?id=(\d+)$ /products/$1 permanent; }

Частина 5: Обробка параметрів URL

Query Parameters (GET параметри)

⚠️ Використовуйте обережно!

Query parameters погано для SEO, якщо створюють дублікати контенту:

❌ example.com/products?sort=price&order=desc
❌ example.com/products?page=2
❌ example.com/products?utm_source=facebook
✅ Коли використовувати query parameters:
  • Фільтри: /products?color=red&size=M
  • Пошук: /search?q=calculator
  • Tracking: ?utm_source=google&utm_medium=cpc
  • Pagination: /blog?page=2 (але краще /blog/page/2)
📌 Налаштуйте Google Search Console:

Додайте параметри, які не мають індексуватись: Settings → URL Parameters → Add parameter

  • utm_* → No URLs
  • sort → Representative URL (canonical)
  • page → Paginated

Canonical tags для параметрів

<!-- Сторінка з фільтром --> <!-- URL: /products?color=red&size=M --> <link rel="canonical" href="https://example.com/products" /> <!-- Сторінка пагінації --> <!-- URL: /blog?page=2 --> <link rel="canonical" href="https://example.com/blog" /> <!-- АБО --> <link rel="canonical" href="https://example.com/blog/page/2" />

Частина 6: URL Structure для різних типів сайтів

E-commerce (інтернет-магазин)

# Категорії /products/{category} /products/electronics /products/electronics/smartphones # Товари /products/{category}/{product-name} /products/electronics/iphone-15-pro # Фільтри (query params) /products/electronics?price=500-1000&brand=apple # Кошик та checkout /cart /checkout /checkout/shipping /checkout/payment

Блог

# Варіант 1: Без дати (рекомендовано) /blog/{post-title} /blog/how-to-optimize-urls # Варіант 2: З категорією /blog/{category}/{post-title} /blog/seo/how-to-optimize-urls # Варіант 3: З датою (НЕ рекомендовано) /blog/{year}/{month}/{day}/{post-title} /blog/2026/02/07/how-to-optimize-urls # Проблема: URL стає застарілим

Documentation/Guides

/guides/{topic} /guides/url-optimization /guides/hreflang-implementation /api/documentation /api/v1/reference /api/v2/reference

Частина 7: Міграція URLs (301 Redirects)

⚠️ Важливо! При зміні URL структури завжди налаштовуйте 301 redirects!

  • Зберігає SEO rankings (передає ~90-99% link juice)
  • Запобігає 404 помилкам
  • Покращує UX (користувачі не потрапляють на порожні сторінки)

Масовий redirect (.htaccess)

# Redirect всіх старих URLs на нові RewriteEngine On # Міграція зі старої структури на нову RewriteRule ^old/(.*)$ /new/$1 [R=301,L] # Видалення дати з blog URLs RewriteRule ^blog/\d{4}/\d{2}/\d{2}/(.*)$ /blog/$1 [R=301,L] # Redirect з .html на clean URLs RewriteRule ^(.*)\.html$ /$1 [R=301,L] # Redirect з кирилиці на транслітерацію RewriteRule ^калькулятор$ /calculator [R=301,L]

CSV mapping для складних міграцій

# redirects.csv old_url,new_url,status /old-page-1,/new-page-1,301 /old-page-2,/new-page-2,301 /blog/2025/01/15/title,/blog/title,301
# Python скрипт для генерації .htaccess import csv with open('redirects.csv', 'r') as f: reader = csv.DictReader(f) with open('.htaccess', 'a') as htaccess: htaccess.write('RewriteEngine On\n\n') for row in reader: old = row['old_url'] new = row['new_url'] status = row['status'] htaccess.write(f'RewriteRule ^{old.lstrip("/")}$ {new} [R={status},L]\n')

Частина 8: Best Practices Checklist

✅ Чек-лист для кожного URL:
  1. □ Lowercase (малі літери)
  2. □ Дефіси (-), не підкреслення (_)
  3. □ Коротко (50-60 символів)
  4. □ Містить ключові слова
  5. □ Без спецсимволів та кирилиці
  6. □ Чітка ієрархія (breadcrumb)
  7. □ Без trailing slash (або консистентно)
  8. □ HTTPS (не HTTP)
  9. □ Canonical tag (якщо потрібно)
  10. □ 301 redirect зі старих URLs

Trailing Slash: / чи ні?

📌 Виберіть один варіант і дотримуйтесь його!
З trailing slash: /products/
Без trailing slash: /products

Google розглядає їх як різні URLs!

  • /products і /products/ — різні сторінки
  • Це призводить до дублікатів контенту

Рішення:

  1. Оберіть один варіант
  2. Налаштуйте 301 redirect з іншого варіанту
  3. Додайте canonical tag

Висновок

Оптимізація URL структури — фундаментальна частина SEO:

🚀 Рекомендована структура:
# Ваш сайт: example.com/math/quadratic-equation-calculator example.com/physics/kinematics-calculator example.com/blog/url-optimization-guide # Правила: ✅ Lowercase ✅ Дефіси (-) ✅ Ключові слова ✅ Ієрархія (максимум 3-4 рівні) ✅ Без спецсимволів ✅ 50-60 символів

Як користуватися шпаргалкою

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

Ефективне використання

Використовуйте шпаргалку поряд з розв'язуванням задач — не для списування, а як довідник формул. Спершу спробуйте пригадати формулу самостійно, потім звіртеся з довідником. Регулярне повторення формує стійку пам'ять.

Часті запитання (FAQ)

Які ключові формули та правила містить шпаргалка з оптимізація url структури?
Ця шпаргалка з 'Оптимізація URL структури' включає: основні означення, головні формули у компактному вигляді, правила обчислень, типові підстановки та приклади застосування. Все систематизовано для швидкого пошуку.
Для кого призначена ця шпаргалка з оптимізація url структури?
Шпаргалка з 'Оптимізація URL структури' орієнтована на студентів університетів та учнів старшої школи, а також на всіх, хто хоче швидко освіжити знання перед іспитом або при вирішенні практичних задач.
Як використовувати шпаргалку з оптимізація url структури при підготовці до іспиту?
Оптимальна стратегія: спершу вивчіть теорію, потім використовуйте шпаргалку як довідник при розв'язанні задач. За 1–2 дні до іспиту перегляньте шпаргалку цілком, звертаючи увагу на формули, які ви плутаєте.
Чи охоплює ця шпаргалка всю програму курсу з оптимізація url структури?
Шпаргалка з 'Оптимізація URL структури' охоплює стандартну університетську програму: всі ключові теореми, формули та методи. Матеріал структурований від базових понять до просунутих результатів.
Де ще можна попрактикуватися з оптимізація url структури після вивчення шпаргалки?
Після роботи зі шпаргалкою рекомендуємо: тренажери вправ на calculator.party (миттєвий зворотний зв'язок), розв'язані задачі (показують метод покроково) та онлайн-калькулятори для перевірки власних результатів.