Гид по технологиям

Канонизация URL: www ↔ non‑www (Apache и nginx)

4 min read SEO Обновлено 21 Nov 2025
Канонизация URL: www и non‑www
Канонизация URL: www и non‑www

Коротко: всегда выбирайте одну каноническую версию домена (www или non‑www) и перенаправляйте остальные на неё через 301 Redirect. Используйте настройки Apache (.htaccess) или конфигурацию nginx, добавьте rel=canonical и проверяйте результат в поисковой консоли.

Иллюстрация концепции канонизации URL и перенаправлений

Что такое канонизация URL

Канонизация URL — это практика выбора единой «канонической» версии страницы и перенаправления или аннотирования всех остальных версий. Цель — избежать дублей контента и сконцентрировать ссылочный вес на одной версии.

Короткое определение: rel=canonical указывает предпочитаемую версию, 301 Redirect перенаправляет на неё посетителей и поисковые роботы.

Почему это важно

  • Поисковые системы лучше индексируют одну версию страницы.
  • Дублирование URL снижает эффективность SEO и может дробить «вес» ссылок.
  • Консистентность URL облегчает кеширование и мониторинг 404/ошибок.

Важно: 301 — постоянное перенаправление. Оно сообщает роботам, что версия страницы перенесена навсегда.

Практический пример: перенаправление www → non‑www (Apache/.htaccess)

Разместите правила в корневом .htaccess сайта. Пример общего правила, которое перекинет любую www‑версию на соответствующую non‑www:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*) http://%1/$1 [R=301,L]

Если хотите жёстко указать домен, подставьте имя домена:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

Apache: перенаправление non‑www → www

RewriteEngine On

RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^ http://www.domain.com%{REQUEST_URI} [L,R=301]

Советы при использовании .htaccess:

  • Правила выполняются по порядку. Размещайте общие правила в начале.
  • Тестируйте в staging-окружении перед выкатом в прод.
  • Следите за циклическими перенаправлениями.

Практический пример: nginx

Для nginx добавьте отдельный server-блок для версии, с которой вы перенаправляете. Пример www → non‑www:

server {
    listen 80;
    server_name www.domain.com;
    rewrite ^/(.*) http://domain.com/$1 permanent;
}

Пример non‑www → www:

server {
    listen 80;
    server_name example.com;
    rewrite ^/(.*) http://www.example.com/$1 permanent;
}

Советы для nginx:

  • Помещайте правило перед основным server {} блоком для целевого имени.
  • Используйте директиву return 301 вместо rewrite для простых перенаправлений (более читаемо и быстрее):
server {
    listen 80;
    server_name www.domain.com;
    return 301 $scheme://domain.com$request_uri;
}

Альтернативные и вспомогательные подходы

  • rel=canonical — указывайте канонический URL в для дублированного контента. Работает как подсказка для роботов.
  • Google Search Console — установите предпочитаемую версию (раньше была опция) и проверяйте индексирование.
  • Hreflang — при мультиязычных сайтах сочетайте hreflang и канонизацию аккуратно, чтобы не помешать локализации.
  • СКХ (Content Delivery Network) и прокси — проверьте, что конфигурация CDN не ломает заголовки Host и редиректы.

Когда канонизация может не сработать

  • Если сервер или CDN кеширует старые заголовки.
  • Если на сайте есть циклические редиректы или правила, конфликтующие между собой.
  • Если используются динамические параметры URL и отсутствует нормализация (utm-, session-параметры и т. п.).

Чек‑лист по ролям

  • Разработчик/DevOps:

    • настроить 301-редиректы на уровне сервера;
    • проверить отсутствие циклов;
    • обеспечить корректный ответ кода (301, а не 302) для постоянного перенаправления.
  • SEO‑специалист:

    • добавить rel=canonical на шаблоны страниц;
    • проверить внутренние ссылки на согласованную версию домена;
    • мониторить индексирование в Search Console.
  • Контент‑менеджер:

    • избегать вставки прямых ссылок на ненужные версии домена;
    • по возможности унифицировать в CMS базовый URL.

Критерии приёмки

  • При заходе на любую альтернативную версию происходит 301‑редирект на выбранную каноническую.
  • Нет циклических редиректов.
  • rel=canonical присутствует на страницах с дублированным контентом и указывает на ту же каноническую версию.
  • В Google Search Console и логах видно снижение обращений к неканонической версии.

Советы по тестированию

  • Используйте curl для проверки заголовков: curl -I http://www.domain.com
  • Проверьте, что ответ — HTTP/1.1 301 Moved Permanently и Location указывает на ожидаемый URL.
  • Тестируйте с параметрами GET и с разными путями, чтобы исключить потерю URI.

Риски и рекомендации

  • Риск: неправильный редирект приведёт к потере трафика и индексации. Рекомендация: тестирование, бэкапы конфигурации и staged deployment.
  • Риск: смешивание rel=canonical и редиректов без согласованности. Рекомендация: унифицировать обе меры на одну и ту же каноническую версию.

Короткое резюме

Выберите одну версию домена и приведите конфигурацию сервера и метаданные в соответствие. Комбинация 301-редиректов и rel=canonical даёт надёжную защиту от дублей и помогает концентрировать SEO‑вес.

Если хотите, я могу подготовить готовые сниппеты для вашей конкретной конфигурации (пример домена, HTTPS, порты, прокси).

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Claude 2 AI — доступ и возможности
ИИ

Claude 2 AI — доступ и возможности

Добавление костей в модель Blender
Blender 3D

Добавление костей в модель Blender

Как разблокировать настройку сложности в Minecraft
Minecraft

Как разблокировать настройку сложности в Minecraft

Печать с телефона через Google Cloud Print
Руководство

Печать с телефона через Google Cloud Print

Уведомления о доступе к камере и микрофону на Mac
Безопасность Mac

Уведомления о доступе к камере и микрофону на Mac

Как скачать TurboTax на Windows 10/11
Налоги

Как скачать TurboTax на Windows 10/11