Skip links
Редирект www на без www и наоборот

Редирект www на без www и наоборот

Редирект с www на без www (или наоборот) — это важный технический аспект SEO и настройки сайта, который помогает избежать дублирования контента и улучшает пользовательский опыт. В этой статье мы подробно разберем, зачем нужен редирект, как его настроить на разных серверах, и приведем примеры кода.

Зачем нужен редирект www на без www (или наоборот)?

  1. Избежание дублирования контента: Поисковые системы могут рассматривать www.example.com и example.com как два разных сайта, что приводит к проблемам с индексацией.
  2. Улучшение SEO: Редирект помогает сосредоточить весь вес страниц на одной версии сайта.
  3. Удобство для пользователей: Пользователи могут вводить адрес как с www, так и без него, и всегда попадать на нужный сайт.
  4. Единая аналитика: Все данные о трафике будут собираться для одной версии сайта.

Какой вариант выбрать: www или без www?

  • www: Традиционный вариант, который часто используется для крупных сайтов. Преимущество — возможность использования поддоменов (например, blog.example.com).
  • без www: Современный тренд, который делает URL более коротким и запоминающимся.

Выбор зависит от предпочтений и структуры сайта. Главное — настроить редирект на одну версию.

Как настроить редирект?

1. Редирект через файл .htaccess (для серверов Apache)

Файл .htaccess находится в корневой директории вашего сайта. Добавьте в него один из следующих кодов:

Редирект с www на без www:

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

Редирект с без www на www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
  • RewriteEngine On — включает модуль перезаписи URL.
  • RewriteCond — условие для срабатывания правила.
  • RewriteRule — само правило редиректа.
  • [L,R=301] — указывает на постоянный редирект (код 301).

2. Редирект через Nginx

Для серверов Nginx настройка выполняется в конфигурационном файле (обычно находится в /etc/nginx/nginx.conf или /etc/nginx/sites-available/default).

Редирект с www на без www:

server {
    listen 80;
    server_name www.example.com;
    return 301 $scheme://example.com$request_uri;
}

Редирект с без www на www:

server {
    listen 80;
    server_name example.com;
    return 301 $scheme://www.example.com$request_uri;
}
  • server_name — указывает домен, для которого применяется правило.
  • return 301 — выполняет постоянный редирект.

3. Редирект через PHP

Если у вас нет доступа к серверу, можно настроить редирект через PHP. Добавьте следующий код в начало файла index.php:

Редирект с www на без www:

if ($_SERVER['HTTP_HOST'] === 'www.example.com') {
    header('Location: http://example.com' . $_SERVER['REQUEST_URI'], true, 301);
    exit();
}

Редирект с без www на www:

if ($_SERVER['HTTP_HOST'] === 'example.com') {
    header('Location: http://www.example.com' . $_SERVER['REQUEST_URI'], true, 301);
    exit();
}
  • $_SERVER['HTTP_HOST'] — получает текущий домен.
  • header('Location: ...') — выполняет редирект.

4. Редирект через JavaScript

Этот метод не рекомендуется для SEO, но может быть полезен, если другие способы недоступны.

Редирект с www на без www:

if (window.location.hostname === 'www.example.com') {
    window.location.href = 'http://example.com' + window.location.pathname;
}

Редирект с без www на www:

if (window.location.hostname === 'example.com') {
    window.location.href = 'http://www.example.com' + window.location.pathname;
}

Проверка редиректа

После настройки редиректа убедитесь, что он работает корректно:

  1. Откройте браузер и перейдите по адресу http://www.example.com (или http://example.com).
  2. Проверьте, происходит ли перенаправление на нужную версию.
  3. Используйте инструменты для проверки редиректов, такие как:

Дополнительные рекомендации

  1. Используйте код 301: Это постоянный редирект, который передает вес страницы новому URL.
  2. Обновите ссылки: Убедитесь, что все внутренние ссылки ведут на выбранную версию сайта.
  3. Настройте канонические URL: Добавьте <link rel="canonical" href="..."> на все страницы, чтобы указать поисковым системам предпочтительную версию.
  4. Проверьте настройки DNS: Убедитесь, что обе версии домена (www и без www) указывают на ваш сервер.

Пример канонического URL

<link rel="canonical" href="https://example.com/page" />

Заключение

Настройка редиректа с www на без www (или наоборот) — это важный шаг для улучшения SEO и удобства пользователей. Выберите предпочтительную версию домена, настройте редирект с помощью одного из предложенных методов и проверьте его работу.

Добавить комментарий