Хостинг SpaceWeb
Серверы Дизайн Сайты Безопасность Домены PHP Кейсы клиентов

Редиректы: что это такое и какие виды перенаправлений бывают

Иногда возникают ситуации, в которых нужно сменить доменное имя. Это может произойти после ребрендинга или смены тематики сайта. Но как сохранить прежний трафик и не потерять позиции в поисковых системах? Для этого можно настроить переадресацию со старого домена на новый.

В этой статье мы расскажем о наиболее популярных вариантах перенаправления.

Что такое редирект

Редирект (redirect) — это автоматическое перенаправление пользователя с одного URL-адреса на другой. Как это выглядит на практике?

Предположим, вы ввели https://www.sweb.ru в адресной строке браузера. Однако после нажатия клавиши Enter вы оказались на странице с URL https://sweb.ru, так как браузер перенаправил вас с поддомена www на основной домен. Это и есть редирект. Он срабатывает по следующему алгоритму:

  1. Браузер запрашивает файл стартовой страницы index-1.php с сервера.
  2. Сервер сообщает, что файл index-1.php больше недоступен и браузеру нужно искать новый файл index-2.php.
  3. Браузер перенаправляет запрос к серверу, на котором находится index-2.php.
  4. Браузер отображает страницу index-2.php.

Существуют разные способы настройки редиректа. Чаще всего перенаправление настраивают:

Зачем нужны редиректы

Главное назначение редиректа — направить пользователя на действующий ресурс. В каких случаях это может понадобиться:

⚙️ Замена движка сайта. Пока вы работаете над архитектурой сайта, можно скопировать рабочую версию на другой домен и направлять на него пользователей до окончания технических работ.

⚙️ Смена доменного имени. Если вы недавно перенесли файлы на новый домен, сайт некоторое время может отображаться в поисковиках под прежним именем. С помощью редиректа вы можете перенаправить пользовательский трафик на новый домен.

⚙️ Настройка авторизации. Если вы владелец крупного сайта, возможно, пользователи ресурса разделяются на группы: например администратор и посетитель. Пользователи в разных группах имеют разные привилегии и доступы, поэтому вы можете сделать редирект из соображений безопасности: так каждая группа пользователей будет перенаправляться на нужную версию сайта.

⚙️ Переключение между десктопной и мобильной версией сайта. Если ваш ресурс адаптирован для любых устройств, с помощью редиректа вы можете направлять посетителей на нужные версии сайта.

⚙️ Перенос разделов на поддомены. Предположим, на вашем сайте была страница domain.ru/catalog с каталогом товаров. По мере развития бизнеса ассортимент расширился, и со временем понадобилось перенести этот раздел на поддомен catalog.domain.ru. В этом случае редирект настраивается с domain.ru/catalog на catalog.domain.ru.

⚙️ Несколько доменов-близнецов в разных доменных зонах. Домены-близнецы — это домены с полным совпадением имен и разными доменными зонами. Например, domain.ru и domain.com — это домены-близнецы, так как имена идентичны и отличаются друг от друга только доменными зонами. Предположим, вы разместили сайт на домене domain.ru. При этом у вас есть ещё несколько доменов: domain.com, domain.org и domain.info. Чтобы направить весь трафик на один сайт, можно настроить редирект с доменов в зонах .COM, .ORG и .INFO на domain.ru.

Помимо этого, редирект имеет важное значение с точки зрения SEO: он помогает сохранить пользовательский трафик в прежнем объеме и перенаправить его со страницы-донора — той, с которой настроен редирект, — на страницу-акцептор — ту, на которую настроен редирект.

Популярные коды перенаправления

Все редиректы сопровождаются кодами ответа 3хх. Их существует большое количество: 301, 302, 305, 307, 308 и др. Однако чаще всего используются перенаправления с двумя кодами: 301 и 302. Чем они отличаются друг от друга?

➡️ 301 редирект — это самый распространенный вариант перенаправления. Код ответа 301 Moved Permanently означает, что страница перемещена на новый адрес навсегда.

Такой редирект можно использовать, когда вы перенесли всё содержимое сайта на другой URL и не планируете возвращаться к прежнему адресу.

➡️ 302 редирект — это тип перенаправления, при котором страница временно перемещена на другой адрес. Такой редирект можно использовать, если вы перенесли содержимое страницы на другой URL, но планируете вернуть его “на место”: например, пока ведутся глобальные работы на сайте.

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

Существует большое количество вариантов, как сделать редирект на другой сайт. Чаще всего используются:

Подробнее о каждом способе настройки редиректа мы расскажем ниже.

Переадресация на аккаунте

Для настойки такой переадресации перейдите в раздел Мои домены. Справа от домена, с которого нужно настроить перенаправление, нажмите на три точки. После этого кликните Переадресация:

Укажите URL страницы, на которую должен вести редирект. Затем нажмите Сохранить:

.htaccess-редирект

Из заголовка понятно, что такой редирект нужно настраивать в .htaccess — конфигурационном файле веб-сервера Apache. Его можно найти в корневой директории сайта или страницы, с которой нужно настроить перенаправление.

Чтобы настроить редирект с одного сайта на другой, откройте файл .htaccess в директории страницы, откуда нужно перенаправлять пользователей. Затем добавьте строки:

RewriteEngine On
RewriteCond %{HTTP_HOST} old-domain.ru
RewriteRule (.*) http://new-domain.ru/$1 [R=301,L]

Где:

Если вы хотите сгенерировать правила для других типов редиректа, используйте один из этих сервисов:

PHP-редирект

PHP-редирект — это тип перенаправления, который нужно настраивать с помощью программного скрипта на языке PHP. Скрипт необходимо добавить в индексный файл страницы, с которой должен срабатывать редирект.

PHP — серверный язык программирования. Поэтому перенаправление с помощью PHP-скрипта срабатывает не в браузере, а на сервере. Это будет полезно, когда редирект должен быть малочувствителен к фильтрам поисковых систем.

Чтобы настроить PHP-редирект, откройте индексный файл страницы, с которой нужно перенаправлять пользователей. Затем добавьте строки:

<?php
// index.php
header(“Location: http://domain.ru/index.php”);
exit( );
?>

Вместо http://domain.ru/index.php укажите URL страницы, на которую должен вести редирект.

JavaScript-редирект

JavaScript-редирект — это тип перенаправления, которое нужно настраивать с помощью скрипта на языке JavaScript. Код перенаправления необходимо добавлять в индексный файл страницы, с которой должен срабатывать редирект.

Чтобы настроить JavaScript-редирект, откройте индексный файл страницы, с которой нужно перенаправлять пользователей. Затем добавьте строки:

<script>
window.location.href = "http://domain.ru"
</script>

Вместо http://domain.ru укажите адрес страницы, на которую дожен вести редирект.

HTML-редирект

HTML-редирект — это тип перенаправления, который нужно настраивать с помощью метатега на языке HTML. Его необходимо добавить в индексный файл страницы, с которой должен срабатывать редирект.

HTML — язык гипертекстовой разметки страниц, поэтому HTML-редирект будет срабатывать на стороне браузера. Это может быть полезно:

Чтобы настроить HTML-редирект, откройте индексный файл страницы, с которой нужно перенаправлять пользователей. Затем добавьте строки:

<head>
<meta http-equiv="refresh" content="0;URL=http://domain.ru" />
</head>

Где:

Как проверить редирект

Если при настройке редиректа что-то пошло не так, на сайте может возникать ошибка “Сайт выполнил переадресацию слишком много раз”. Это негативно скажется на посещаемости и продвижении сайта в поисковых системах: клиенты не смогут зайти на сайт, а поисковые роботы не смогут просканировать его содержимое.

Чтобы избежать проблем с перенаправлением на целевой сайт, нужна проверка редиректа. Протестировать работу перенаправления можно с помощью онлайн-сервисов, например Redirect Checker.

Для проверки редиректа перейдите на сайт сервиса Redirect Checker и укажите URL, с которого должно работать перенаправление. После этого нажмите analyse:

На экране появится результат проверки с типом редиректа и кодом ответа от конечной страницы, а также HTTP-заголовки:

Подведем итоги. Существует несколько типов редиректа и способов его создать. Однако выбор стоит делать, исходя из ваших потребностей: например, на какое время вы переместили страницу на новый URL, как следует перенаправлять и распределять пользовательский трафик и др. От корректной настройки редиректа зависят позиции вашего сайта в поисковиках и, как следствие, посещаемость ресурса.

Перейти на оригинал