Як виправити посилання у верхньому регістрі (WordPress): плагін чи код

Проблема посилань у верхньому регістрі (КАПС-URL) часто з’являється у початківців: заголовки пишуться капслоком, копіюються з чужих сайтів або так “виділяють” матеріал. WordPress переносить цей регістр у URL (якщо не стоять спеціальні плагіни), а під час SEO-оптимізації це вибухає дублями сторінок і втратою позицій.

Проблема посилань у верхньому регістрі

У статті показую безпечні способи “опустити” адреси в нижній регістр: через плагіни або мінімальний код у functions.php, а також дам правила перевірки.

Чому з’являються URL у верхньому регістрі

  • Заголовки капслоком → автоматично у “чистому” посиланні зберігається регістр.
  • Імпорт контенту з інших CMS/таблиць → поля зберігають CAPS у слаґах.
  • Відсутність нормалізації URL на рівні теми/плагінів.

Чим це шкідливо для SEO

  • Дублі сторінок: /Blog/Post і /blog/post для сервера – різні шляхи.
  • Втрата ваги посилань: пошуковик ділить “силу” між дублями.
  • Помилки 404: зовнішні лінки можуть вказувати на неправильний регістр.

Рішення: плагіни

Найпростіший спосіб – використати готові інструменти:

  • WP Force Lowercase URLs – автоматично переводить усі запити у нижній регістр із редиректом 301.
  • Ash-Seo – мій плагін, який окрім редиректів контролює ще й дублювання мета-тегів та інші SEO-помилки.

Скріншот адмінки плагіна Ash-Seo

Рішення: власний код

Для тих, хто не хоче ставити додаткові плагіни – рішення у functions.php теми:


add_action(‘init’, function () {
$uri = $_SERVER[‘REQUEST_URI’];
$lowercase_uri = strtolower($uri);

if ($uri !== $lowercase_uri && !is_admin()) {
wp_redirect(site_url($lowercase_uri), 301);
exit;
}
});

Цей код перевіряє поточну адресу і, якщо в ній є великі літери, виконує редирект 301 на ту ж адресу, але в нижньому регістрі.

Рішення через .htaccess (обережно)

Увага: цей варіант працює на рівні сервера Apache, але може конфліктувати з SEO-плагінами (Yoast, Rank Math). Використовуйте його, лише якщо впевнені у налаштуваннях.


RewriteEngine On

# Редирект усіх URL з великими літерами на нижній регістр
RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule ^(.*)$ ${lc:$1} [R=301,L]

Альтернативи: .htaccess (альтернативний варіант) та Nginx

Якщо потрібен більш базовий варіант:

.htaccess


RewriteMap lc int:tolower
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule (.*) ${lc:$1} [R=301,L]

Nginx


if ($request_uri ~ [A-Z]) {
return 301 $scheme://$host$lowercase_uri;
}

Як перевірити, що все працює

  • Відкрити сторінку з URL у CAPS (наприклад: /Blog/Test).
  • Переконатися, що браузер перенаправляє на /blog/test.
  • У Google Search Console перевірити, чи зникли дублікати.

Висновок: виправлення посилань у верхньому регістрі – важливий етап SEO-оптимізації WordPress. Ви можете використати плагін, мій Ash-Seo, кілька рядків коду або серверні правила. Головне – зробити це до індексації сайту пошуковиками.

Підписуйтесь на наш Telegram-канал, щоб отримувати більше практичних SEO-порад.

Fedor
Привіт! Я — Ашифін Федір, full-stack розробник та автор власних тем і плагінів.
Створюю сайти без використання конструкторів — лише чистий і валідний код. Це забезпечує високу швидкість завантаження та відмінні показники в Google PageSpeed, а отже — вартість кліка в рекламі зменшується в 2–3 рази.
Потрібен сайт з нуля, оптимізація існуючого проекту або доопрацювання функціоналу?
📩 Напишіть у будь-який месенджер — обговоримо ваш проект!
FAQ Відповідь
Чи можна вручну міняти URL у редакторі? Так, але для старих посилань краще ставити редирект 301.
Чи шкідливо для SEO мати посилання з великими літерами? Так, бо виникають дублі та втрата ваги сторінок.
Що безпечніше: плагін чи код? Для початківців – плагін, для розробників – код у functions.php чи серверні правила.
Чи можна редирект робити через .htaccess? Так, але будьте обережні: можливі конфлікти з SEO-плагінами (Yoast, Rank Math).

Поки що нема коментарів.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *