Бывают ситуации, когда сайту требуется автоматическое перенаправление пользователей с одного адреса на другой. Этот процесс называется редиректом. Необходимость сделать редирект может возникнуть из-за многих причин: переезд сайта на обновленный адрес, изменение URL страниц и т. п.
Чтобы пользователи могли найти сайт по новому адресу, нужно сделать так, чтобы их автоматически «перекидывало» со старого веб-ресурса на новый. Правильно сделать это можно с помощью постоянного редиректа, который называется 301 Redirect. Поговорим о нем подробнее.
Бывают ситуации, когда сайту требуется автоматическое перенаправление пользователей с одного адреса на другой. Этот процесс называется редиректом. Необходимость сделать редирект может возникнуть из-за многих причин: переезд сайта на обновленный адрес, изменение URL страниц и т. п.
Чтобы пользователи могли найти сайт по новому адресу, нужно сделать так, чтобы их автоматически «перекидывало» со старого веб-ресурса на новый. Правильно сделать это можно с помощью постоянного редиректа, который называется 301 Redirect. Поговорим о нем подробнее.
Определение и виды редиректов
Редирект — это механизм автоматического перенаправления пользователя или поискового робота с одного URL-адреса на другой. Он используется в ситуациях, когда запрашиваемая страница больше не существует по указанному адресу: например, при изменении структуры сайта, переезде на новый домен, объединении дублирующихся страниц или переходе с HTTP на HTTPS.
Перенаправление может осуществляться на стороне сервера, например, через настройки .htaccess в Apache, конфигурацию Nginx или PHP-скрипты, или на стороне клиента — с помощью JavaScript или HTML-тега . Однако серверный редирект предпочтительнее: он выполняется до загрузки содержимого страницы, не создает дополнительной нагрузки на браузер и корректно обрабатывается поисковыми системами. В отличие от клиентских методов, серверные редиректы не влияют на скорость загрузки и не нарушают поведенческие метрики.
Наиболее распространенные HTTP-статусы для редиректов:
- 301 Moved Permanently (постоянный редирект). Указывает, что запрашиваемый ресурс навсегда перемещен на новый URL. Поисковые системы интерпретируют код 301 как сигнал к передаче «веса» (SEO-значимости, включая ссылочную массу и поведенческие сигналы) со старого адреса на новый. После настройки 301-редиректа старая страница фактически становится недоступной напрямую, а ее индексация прекращается — поисковик постепенно заменяет старый URL на новый в результатах выдачи.
- 302 Found / 307 Temporary Redirect (временный редирект). Сообщает, что перенаправление временное, и оригинальный URL по-прежнему актуален. Такой редирект не передает SEO-вес и не приводит к замене страницы в поисковой выдаче. Он подходит, например, при временной замене страницы акцией или техническом обслуживании.
Важно правильно выбирать тип редиректа: использование 302 вместо 301 при постоянном переезде страницы может негативно сказаться на SEO-показателях, замедлить индексацию нового адреса и привести к дублированию контента. Поэтому при планировании масштабных изменений структуры сайта рекомендуется проводить аудит редиректов и настраивать цепочки перенаправлений с учетом логики и долгосрочной стратегии продвижения.
Настройка 301-редиректа через файл .htaccess
Наиболее гибкий и часто используемый способ настройки 301 редиректа на хостингах с веб-сервером Apache — редактирование файла .htaccess. Этот скрытый конфигурационный файл позволяет задавать правила перенаправления на уровне сервера без изменения исходного кода сайта.
Склейка зеркал сайта
Сайты http://названиесайта и http://www.названиесайта поисковики считают разными, хотя это адреса одного и того же ресурса.
Поисковики один сайт проиндексируют, а другой будет расцениваться как дубль, что может повлиять на его продвижение. Чтобы этого не случилось, нужно «склеить» сайты — прописать 301 редирект в .htaccess.
Если поисковые системы сначала проиндексировали версию с www, то главным зеркалом будет адрес вида www.site.ru, соответственно, в файл .htaccess нужно добавить редирект с адреса без www на www.
Выглядит это так:
RewriteCond %{HTTP_HOST} !^www.name.site.ru$
RewriteRule ^(.*)$ http://www.name.site.ru/$1 [L,R=301]
Напротив, если поисковики проиндексировали первой версию без www, нужна переадресация с адреса вида www.site.ru на site.ru, и главным зеркалом будет адрес вида site.ru. В файл нужно прописать:
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule .* http://%1/$0 [L,R=301]
Редирект постранично
Иногда редирект на https нужен на всех страницах, кроме одной. В такой ситуации логично использовать постраничный редирект:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} !^/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Если нужно сделать редирект с http на https только одной страницы, например, page.php, вставьте в файл следующую конструкцию:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
Изменение домена
Если вам нужно перейти на другой домен и сохранить все позиции SEO, внесите в файл .htaccess:
RewriteCond %{HTTP_HOST} ^www.old_name.ru$ [NC]
RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^old_name.ru$ [NC]
RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]
Переадресация для URL с параметрами и без них
Как сделать редирект для URL без параметров? Если нужно изменить URL страницы, т. е. перенести информацию с одной страницы на другую без потери значений SEO, пропишите в файл .htaccess следующее:
RewriteRule ^(.*)old_page.html$ http://vash-sait.ru/new_page.html [R=301,L]
Рассмотрим, как выполнить редирект с параметрами. Для примера возьмем URL http://name.site/articles.php?section=1, где параметр — это section=1. Чтобы сделать редирект, пропишите такую конструкцию:
RewriteCond %{QUERY_STRING} section=1
RewriteRule ^index.php http://name.site/articles.php? [R=301,L]
Переадресация с index.php на главную
В случае, если главная страница недоступна по нескольким адресам одновременно, используйте следующую конструкцию:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.php HTTP/
RewriteRule ^index.php$ http://name.site/ [R=301,L]
Редирект со страниц со слешем на без слеша (для всего сайта)
Чтобы в файле .htaccess не было дублей, используйте конструкцию:
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^/]$
RewriteRule ^(.*)/$ /$1 [R=301,L]
Можно также применить более короткий вариант:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]
Редирект со страниц без слеша на слеш (для всего сайта)
Если нужны адреса со слешем, используйте такой вариант:
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*[^/])$ /$1/ [R=301,L]
Постоянный редирект для Nginx
Обычно этот сервер используется на VPS-хостинге совместно с Apache. В нем для настройки 301 редиректа добавляют строки в конфигурационный файл nginx.config в секции server.
C www на без www
server {#...
if($host~ * www.(.*)) {
set $host_without_www $1;
rewrite ^ (.*) $ http: //$host_without_www$1 permanent;
}#...
}
Без www на www
server {#...
if($host~ * ^ [ ^ .] + .[ ^ .] + $) {
rewrite ^ (.*) $ $scheme: //www.$host$1 permanent;
}#...
}
Сохраните внесенные в файл изменения и перезапустите сервер.
301 редирект для разных панелей управления хостингом
Cpanel
Перейдите в блок «Домены», найдите «Перенаправления».
В появившемся окне выполните следующее:
- В строке «Тип» выберите «Постоянный 301».
- В блоке «Перенаправление www» выберите «Перенаправлять только с www».
- Сохраните изменения, нажав на «Добавить».
ISPmanager
В этой панели можно вносить изменения в файлы nginx.config или .htaccess. При этом панель имеет встроенный механизм редиректа. Так, чтобы настроить переадресацию на https/http, снимите галочку с соответствующего пункта в разделе «WWW-домены».
Beget
Настроить 301 редирект инструментами панели управления нельзя. Хостинг управляется с сервера Apache, поэтому редирект можно настроить с помощью файла .htaccess.
Особенности редиректа для популярных CMS
1С-Битрикс
Чтобы «перебросить» пользователя на новую страницу сайта на «1С-Битрикс», отредактируйте файл .htaccess и внесите такой редирект:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sng-it.ru$ [NC]
RewriteRule ^(.*)$ http://sng-it.ru/$1 [R=301,L]
WordPress
WordPress — одна из самых популярных CMS. Она имеет десятки плагинов для настройки постоянного редиректа, например:
- Redirection;
- Simple 301 Redirects;
- Quick Page;
- SEO Redirection;
- Safe Redirect Manager.
В качестве примера разберем редирект через плагин Redirection. Он настраивается через консоль сайта во вкладке «Инструменты» или через раздел плагинов. Для переадресации нужно заполнить два поля: Source URL и Target URL. В первой графе внесите старый адрес, а во второй — новый с www или без него.
Редирект можно выполнить посредством внесения правок в файл .htaccess в разделе управления хостингом. Чтобы подключиться к нему, используйте FTP-клиента. Процесс совпадает с общей инструкцией для .htaccess.
Автоматическое создание кода
Если вы по какой-то причине не можете самостоятельно создать код, воспользуйтесь помощью специалистов техподдержки или автоматическими онлайн-генераторами.
Заключение
Для корректного восприятия сайта поисковыми системами, особенно в случаях наличия дублирующих URL (например, с www и без, HTTP и HTTPS, с конечным слешем и без), необходимо обеспечить постоянную и однозначную переадресацию на канонический адрес. В этом контексте 301 редирект является наиболее надежным и рекомендуемым инструментом: он не только устраняет дубли, но и передает накопленный SEO-вес новому URL, способствует сохранению позиций в выдаче и улучшению индексации.
Вместе с тем, его настройка требует внимательности и тестирования: ошибки в правилах, например, зацикливание, множественные перенаправления, использование 301 вместо 302 при временных изменениях, могут привести к недоступности страниц, снижению скорости загрузки и, как следствие, к падению трафика и позиций. Поэтому перед внедрением редиректов рекомендуется проводить аудит текущей структуры URL и проверять работу правил в инструментах вроде Google Search Console, «Яндекс Вебмастер» или специализированных SEO-анализаторов.
Подпишитесь на нас в Telegram
Получайте свежие статьи об интернет-маркетинге и актуальные новости о наших готовых решениях