Редирект домену — це автоматичне перенаправлення користувача та пошукових роботів з одного URL на інший. Важливо правильно обрати тип редиректу, інакше можна втратити накопичений SEO-авторитет або отримати ланцюжок, що уповільнює завантаження сайту. Помилка коштує дорого: індексація нової адреси може розтягнутися на місяці, якщо пошуковик вирішить, що редирект тимчасовий.
Типи редиректів
| Код | Тип | SEO | Коли використовувати |
|---|---|---|---|
| 301 | Постійний | Передає ~99% авторитету | Переїзд сайту, зміна домену назавжди |
| 302 | Тимчасовий | Не передає авторитет | Тимчасова акція, A/B тест |
| 307 | Тимчасовий (HTTP/1.1) | Не передає авторитет | Аналог 302 для сучасних серверів |
| 308 | Постійний (HTTP/1.1) | Передає авторитет | Аналог 301, зберігає метод запиту |
Не використовуйте 302 замість 301 при постійному переїзді сайту. Google не перенесе PageRank на новий URL, старий домен продовжить конкурувати з новим у видачі ще довгий час.
Редирект у cPanel
- cPanel → Домени → Перенаправлення
- Тип: Постійний (301)
- Домен: виберіть домен-джерело
- URL перенаправлення: введіть цільовий URL
- Натисніть Додати
Редирект через .htaccess
# Редирект усього домену на інший
RewriteEngine On
RewriteRule ^(.*)$ https://newdomain.com/$1 [R=301,L]
# Редирект HTTP на HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# Редирект без www на www
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
# Редирект з www на без www
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
Важливо для SEO: виберіть одну канонічну версію домену (www або без www) і налаштуйте постійний 301-редирект з іншої. Google має індексувати лише один варіант — інакше він ділить вагу сторінки між двома URL.
Розбір типових помилок
- ERR_TOO_MANY_REDIRECTS — правило в .htaccess редиректить домен сам на себе через неправильну умову
RewriteCond; перевіряйте регулярку на реальному значенні%{HTTP_HOST}, а не лише в теорії. - 404 після редиректу з параметрами URL — правило на кшталт
RewriteRule ^(.*)$ .../$1без урахування query string губить усе, що було після знаку питання; додавайте прапорецьQSA, якщо параметри потрібно зберегти. - Редирект працює в браузері, але не для пошукового робота — на сервері віддається код 200 замість 301 для User-Agent Googlebot; перевіряється через
curl -A "Googlebot" -I, а не лише через звичайний браузер. - Змішаний контент після редиректу на HTTPS — частина ресурсів (картинки, скрипти) на сторінці досі завантажується по HTTP; браузер блокує їх і малює попередження про незахищене з'єднання.
Ланцюжки редиректів — як уникнути
Ланцюжок редиректів (A→B→C→D) уповільнює завантаження і втрачає SEO-вагу на кожній ланці. Завжди налаштовуйте прямий редирект A→D, минаючи проміжні кроки.
# Погано: ланцюжок
old.example.com -- example.com -- www.example.com
# Добре: прямий редирект
old.example.com -- www.example.com
Порівняння способів налаштування редиректу
| Спосіб | Потрібен доступ | Швидкість застосування | Підходить для |
|---|---|---|---|
| cPanel Перенаправлення | Панель керування | Миттєво | Простий редирект усього домену |
| .htaccess | FTP/SSH до файлів сайту | Миттєво | Гнучкі правила, умови, параметри |
| DNS-редирект у реєстратора | Панель домену | До 24–48 годин (TTL) | Домен без хостингу на ньому |
Коли 301 не підходить
- Контент тимчасово недоступний за початковим URL (технічні роботи, сезонна сторінка) — тут потрібен 302 або 307, щоб пошуковик не прибрав стару адресу з індексу назавжди.
- Сайт мігрує на новий домен, який ще не пройшов налаштування SSL, — правильніше спершу налаштувати й перевірити HTTPS на новому домені і лише потім ставити постійний 301, щоб не редиректити користувачів на сторінку з помилкою сертифіката.
- Редирект потрібен лише частині користувачів (наприклад, за геолокацією) — це не завдання HTTP-редиректу, таку логіку реалізують на рівні застосунку або через правила Cloudflare, а не через статичний .htaccess.
Як перевірити, що редирект налаштовано вірно
# Перевіряємо код відповіді і підсумковий URL
curl -IL http://old.example.com/
# Очікуємо рівно один перехід: HTTP/1.1 301 -- Location: https://www.example.com/
# Перевіряємо, що параметри запиту зберігаються
curl -IL "http://old.example.com/page?ref=email"
# Перевіряємо редирект очима пошукового робота
curl -A "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)" -IL http://old.example.com/
Якщо в усіх трьох випадках видно один перехід з кодом 301 на правильний цільовий URL і без втрати параметрів — налаштування коректне. Додатково перевірте домен у Google Search Console: розділ «Перевірка URL» покаже, яка адреса індексується після редиректу.