Skip to content

Как сделать редирект www на non-www

Коротко:

Одна каноническая версия домена — SEO-правило №1. Выбираете одну (обычно non-www) и делаете 301-редирект с другой. Настройка: nginx — отдельный server block для www с return 301; Apache — RewriteRule в .htaccess; Cloudflare — Page Rule. Нужен cert для обоих вариантов (обычно wildcard или SAN).

Ниже: пошаговая инструкция, рабочие примеры, типичные ошибки, FAQ.

Пошаговая настройка

  1. Решите: www или non-www как canonical. Большинство выбирает non-www (короче, современнее)
  2. Убедитесь что DNS имеет A-запись для обоих: example.com и www.example.com
  3. SSL-сертификат должен покрывать оба. Let's Encrypt: certbot -d example.com -d www.example.com
  4. В nginx создайте отдельный server block для www с return 301
  5. В Apache — RewriteRule в .htaccess или vhost
  6. Проверьте редирект: curl -I https://www.example.comHTTP/1.1 301 Moved Permanently, Location: https://example.com
  7. Проверьте через Redirects-чекер Enterno.io — должна быть цепочка HTTP→HTTPS→non-www без лупов
  8. Обновите canonical, sitemap.xml, robots.txt на целевом домене

Рабочие примеры

СценарийКонфиг / запись
nginx minimalserver { listen 443 ssl; server_name www.example.com; ssl_certificate /path/fullchain.pem; return 301 https://example.com$request_uri; }
Apache .htaccessRewriteEngine On RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
Cloudflare Page RuleURL: www.example.com/* → Forwarding URL → 301 → https://example.com/$1
Обратный: non-www → wwwserver_name example.com; return 301 https://www.example.com$request_uri;
Проверка curlcurl -ILk https://www.example.com 2>&1 | grep -iE "HTTP|Location"

Типичные ошибки

  • Редирект через 302 вместо 301 — поисковики не переносят link equity
  • Двойной редирект HTTP→HTTPS→www→non-www — теряется 1-5% ранжирования из-за цепочки
  • SSL cert только на один вариант — вторая версия выдаёт ERR_CERT_COMMON_NAME_INVALID
  • DNS нет записи для www — Server not found при попытке зайти
  • Цикл редиректов (A→B→A) из-за неверного условия в RewriteCond
Цепочки редиректовКаждый лишний редирект добавляет 100-300мс задержки и снижает PageRank по цепочке.
HTTP → HTTPSПроверьте, что редирект выполняется корректно и не создаёт промежуточных нешифрованных хопов.
Петли редиректовЦиклические редиректы приводят к ошибке ERR_TOO_MANY_REDIRECTS и полной недоступности страницы.
Коды 301 vs 302301 передаёт PageRank постоянно, 302 — временный редирект без передачи SEO-веса.

Почему нам доверяют

10+
уровней редиректов
HTTPS
проверка редиректа
<2с
результат
301/302
коды редиректов

Как это работает

1

Введите URL

2

Цепочка редиректов прослежена

3

Коды и конечный URL

Проверка редиректов: оптимизация цепочек переадресации

Неправильные или длинные цепочки редиректов замедляют сайт, теряют PageRank и путают поисковых роботов. Инструмент визуализирует полную цепочку редиректов с кодами ответа и временем каждого хопа.

Полная цепочка хопов

Показывает каждый шаг редиректа: URL → код → URL → код, до конечного пункта назначения.

Время каждого хопа

Измеряет задержку на каждом шаге редиректа для точного определения узких мест производительности.

Тип редиректа

Различает 301, 302, 303, 307, 308 — каждый имеет разное поведение для SEO и браузеров.

Обнаружение петель

Автоматически обнаруживает циклические редиректы и предупреждает до возникновения ошибки в браузере.

Кому это нужно

SEO-специалисты

проверка редирект-цепочек

Разработчики

отладка 301/302

DevOps

проверка HTTPS-редиректа

Маркетологи

трекинг UTM-ссылок

Частые ошибки

Цепочки из 3+ редиректовHTTP → HTTPS → non-www → www — это три редиректа вместо одного. Объедините их в один прямой редирект.
Использовать 302 вместо 301302 для постоянно переехавших страниц — это потеря PageRank. Используйте 301 для окончательных переездов.
Редиректить HTTP на HTTP перед HTTPSПромежуточный незашифрованный хоп создаёт уязвимость MITM и добавляет лишний запрос.
Не обновлять внутренние ссылкиРедиректы — не замена актуальным ссылкам. Ссылки на исходные URL нужно обновить напрямую.

Лучшие практики

Используйте один редирект: HTTP+www → HTTPS+non-wwwНастройте в nginx/Apache единое правило, объединяющее оба условия в один 301-редирект.
Проверяйте редиректы после миграцийСмена домена, переход на HTTPS, редизайн структуры URL — всё это создаёт новые цепочки редиректов.
Удаляйте устаревшие редиректыНакопленные за годы редиректы создают скрытые цепочки. Аудируйте .htaccess и конфиги ежеквартально.
Контролируйте редиректы в sitemapSitemap должен содержать только конечные URL без редиректов — иначе краулеры тратят бюджет впустую.

Получите больше с бесплатным аккаунтом

История проверок редиректов и API для автоматического аудита цепочек.

Зарегистрироваться (FREE)

Больше по теме

Часто задаваемые вопросы

www или non-www — что лучше для SEO?

Не имеет значения, главное — выбрать ОДНУ каноническую версию и последовательно её использовать. Google и Yandex давно одинаково хорошо обрабатывают оба варианта.

Нужен ли cert на www если редирект моментальный?

Да. Клиент сначала устанавливает TLS-соединение с www.example.com — cert должен быть валиден. Только после этого сервер возвращает 301.

Разница между 301 и 308?

301 — permanent redirect, разрешает менять метод POST→GET. 308 — то же, но сохраняет метод. Для www→non-www используйте 301 — он совместим со всеми клиентами.

Как протестировать на цикл редиректов?

<a href="/redirects">Redirects-чекер Enterno.io</a> покажет всю цепочку и предупредит о циклах. Или <code>curl -I -L</code> (следует всем редиректам) — если больше 10 hops = проблема.