Як виправити посилання у верхньому регістрі (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-помилки.

Рішення: власний код
Для тих, хто не хоче ставити додаткові плагіни – рішення у 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-порад.
| FAQ | Відповідь |
|---|---|
| Чи можна вручну міняти URL у редакторі? | Так, але для старих посилань краще ставити редирект 301. |
| Чи шкідливо для SEO мати посилання з великими літерами? | Так, бо виникають дублі та втрата ваги сторінок. |
| Що безпечніше: плагін чи код? | Для початківців – плагін, для розробників – код у functions.php чи серверні правила. |
| Чи можна редирект робити через .htaccess? | Так, але будьте обережні: можливі конфлікти з SEO-плагінами (Yoast, Rank Math). |
Поки що нема коментарів.