Адреса www.example.ru и example.ru технически являются разными хостами. Если DNS, виртуальные хосты или CDN направляют их в разные каталоги, пользователи и поисковые системы видят две версии, разные сертификаты или вообще чужой сайт.
Выберите один основной хост, настройте оба имени на одну инфраструктуру и выполните один постоянный редирект на канонический вариант. До включения HSTS убедитесь, что сертификат и HTTPS работают для обоих имен.
Что проверить в первую очередь
Сначала зафиксируйте наблюдаемое поведение и не меняйте сразу несколько настроек. Важны точное время сбоя, адрес или сценарий, ожидаемый результат и последнее известное рабочее состояние. Так можно отличить причину от случайного совпадения и сохранить возможность быстрого отката.
- Сравните A, AAAA и CNAME для корневого домена и www у нескольких DNS-резолверов.
- Получите HTTP-заголовки обоих адресов по HTTP и HTTPS без автоматического перехода.
- Проверьте, какой server block/vhost принимает каждый Host и какой document root использует.
- Убедитесь, что сертификат содержит оба имени и отдается правильным SNI-хостом.
Почему возникает проблема
У подобных сбоев редко бывает одна универсальная причина. На итог одновременно влияют конфигурация приложения, окружение, данные, кеш, права и внешние сервисы. Проверка должна идти от внешнего симптома к конкретному уровню, на котором впервые появляется неверное состояние.
- www остался CNAME на старый хостинг, а корневой домен уже направлен на новый сервер.
- Default virtual host обслуживает один из адресов чужим или системным каталогом.
- Редиректы настроены одновременно в CDN, Nginx и приложении, образуя цепочку или цикл.
- Сертификат выпущен только на каноническое имя, поэтому HTTPS редирект не успевает выполниться.
- Приложение генерирует canonical и абсолютные URL на основе непроверенного Host.
Пошаговая диагностика
Диагностику проводите на копии или в контролируемое время. Перед изменениями сохраните конфигурацию, данные и журналы. Каждый шаг должен отвечать на один вопрос и оставлять измеримый результат: код ответа, запись в логе, состояние процесса, значение поля или воспроизводимый тест.
- Проверьте DNS с учетом IPv4 и IPv6: старый AAAA часто остается незамеченным.
- Сравните IP, сертификат, Server, Location и конечный URL для четырех комбинаций HTTP/HTTPS и www/без www.
- Посмотрите access log с полем Host, чтобы увидеть фактический виртуальный хост.
- Отключите кеш браузера и проверьте через curl, так как 301 и HSTS запоминаются.
- Проверьте настройки CDN, proxy и панели хостинга, если DNS ведет не прямо на сервер.
Как выбрать и закрепить канонический хост
С точки зрения SEO оба варианта допустимы. Важно выбрать один, последовательно использовать его во всех сигналах и не создавать цепочек.
- Основной хост должен совпадать в 301, canonical, sitemap, hreflang и внутренних ссылках.
- Альтернативный хост обязан поддерживать HTTPS, чтобы безопасно выполнить редирект.
- Редирект сохраняет путь и query string, если параметры действительно нужны странице.
- Переход должен происходить за один шаг, например HTTP www сразу на HTTPS без www.
- Приложение принимает только разрешенные Host, чтобы исключить подмену ссылок и кеша.
Как исправить проблему
Исправление лучше разбить на небольшие обратимые изменения. После каждого шага повторяйте исходный сценарий и проверяйте соседние функции. Если правка касается данных, сначала выполните ее на ограниченной выборке и сохраните журнал затронутых записей.
- Исправьте DNS обоих имен и дождитесь обновления TTL, не удаляя рабочую запись раньше времени.
- Добавьте оба server_name в контролируемую конфигурацию и отдельное правило канонизации.
- Выпустите сертификат с SAN для корня и www.
- Оставьте одно место, ответственное за редирект, и уберите конфликтующие правила.
- Обновите canonical, sitemap и внутренние абсолютные ссылки на выбранный адрес.
Безопасный порядок внедрения
- Сохраните резервную копию затрагиваемых файлов, базы и конфигурации, а также заранее опишите способ отката.
- Воспроизведите сбой на тестовой записи, учетной записи или отдельном окружении без реальных платежей и рассылок.
- Вносите по одному логическому изменению, фиксируя его в системе контроля версий или журнале работ.
- Не отключайте права, проверку входных данных и защитные механизмы только ради исчезновения сообщения об ошибке.
- После выкладки контролируйте логи, метрики и ключевой пользовательский сценарий, а не только открытие одной страницы.
Как проверить результат
Успешный разовый тест еще не доказывает исправление. Нужны повторный запуск, крайние случаи и проверка после очистки кеша, перезапуска процесса или новой сессии. Для критичных сценариев полезно сохранить автоматический тест или хотя бы короткий регрессионный чек-лист.
- Все четыре входных адреса завершаются на одном каноническом URL за один редирект.
- Оба HTTPS-имени отдают валидный сертификат без предупреждения браузера.
- Путь, безопасные параметры и метод GET сохраняются корректно.
- В sitemap и HTML нет смешения www/без www, а сервер не отдает чужой vhost.
Типичные ошибки при исправлении
- Удалять DNS альтернативного хоста вместо настройки редиректа.
- Включать HSTS includeSubDomains до проверки сертификатов и всех поддоменов.
- Создавать цикл между CDN и Nginx из-за разных представлений о каноническом хосте.
- Использовать JavaScript-редирект вместо серверного 301.
Как предотвратить повторение
Профилактика строится вокруг наблюдаемости и воспроизводимости: понятных конфигураций, контролируемых релизов, журналов без секретов и тестов на реальные сценарии. Важно не просто убрать текущий симптом, а сделать следующий похожий сбой заметным раньше пользователя.
- Проверяйте корень и www в мониторинге DNS, TLS и HTTP.
- Храните vhost и правила редиректов в системе контроля версий.
- Добавьте тест конечного URL и количества переходов после каждого изменения CDN.
- Ограничьте список разрешенных Host на уровне приложения и proxy.
Что подготовить для разбора
- Краткое описание ожидаемого и фактического поведения без паролей, токенов и персональных данных.
- Точное время и последовательность действий, после которых появляется проблема.
- Версии приложения, окружения и зависимостей, а также перечень последних изменений.
- Фрагменты журналов с контекстом до и после ошибки; секреты в них необходимо скрыть.
- Описание уже выполненных проверок и способ безопасно повторить проблему.
Частые вопросы
Что лучше для SEO: www или без www?
Оба варианта равнозначны при последовательной настройке. Выбирайте удобный и закрепляйте 301, canonical, sitemap и внутренними ссылками.
Нужно ли выпускать SSL на адрес, который сразу редиректит?
Да. TLS устанавливается до HTTP-редиректа, поэтому альтернативное имя тоже должно иметь валидный сертификат.
Когда нужна помощь специалиста
Если www и корневой домен ведут на разные версии или образуют циклы, я могу проверить DNS, IPv6, vhost, CDN и сертификаты, настроить один безопасный редирект и привести SEO-сигналы к выбранному адресу.