
Редирект www на без www и наоборот
Редирект с www на без www (или наоборот) — это важный технический аспект SEO и настройки сайта, который помогает избежать дублирования контента и улучшает пользовательский опыт. В этой статье мы подробно разберем, зачем нужен редирект, как его настроить на разных серверах, и приведем примеры кода.
Зачем нужен редирект www на без www (или наоборот)?
- Избежание дублирования контента: Поисковые системы могут рассматривать
www.example.com
иexample.com
как два разных сайта, что приводит к проблемам с индексацией. - Улучшение SEO: Редирект помогает сосредоточить весь вес страниц на одной версии сайта.
- Удобство для пользователей: Пользователи могут вводить адрес как с
www
, так и без него, и всегда попадать на нужный сайт. - Единая аналитика: Все данные о трафике будут собираться для одной версии сайта.
Какой вариант выбрать: 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; }
Проверка редиректа
После настройки редиректа убедитесь, что он работает корректно:
- Откройте браузер и перейдите по адресу
http://www.example.com
(илиhttp://example.com
). - Проверьте, происходит ли перенаправление на нужную версию.
- Используйте инструменты для проверки редиректов, такие как:
Дополнительные рекомендации
- Используйте код 301: Это постоянный редирект, который передает вес страницы новому URL.
- Обновите ссылки: Убедитесь, что все внутренние ссылки ведут на выбранную версию сайта.
- Настройте канонические URL: Добавьте
<link rel="canonical" href="...">
на все страницы, чтобы указать поисковым системам предпочтительную версию. - Проверьте настройки DNS: Убедитесь, что обе версии домена (
www
и безwww
) указывают на ваш сервер.
Пример канонического URL
<link rel="canonical" href="https://example.com/page" />
Заключение
Настройка редиректа с www
на без www
(или наоборот) — это важный шаг для улучшения SEO и удобства пользователей. Выберите предпочтительную версию домена, настройте редирект с помощью одного из предложенных методов и проверьте его работу.