Редирект

В данной статье разберем, что такое редирект сайта и для чего нужен SEO-специалисту, разработчику да и в принципе любому веб-мастеру.

Редирект (от англ. redirect) – это автоматическое перенаправление посетителей с одного URL-адреса на другой. В каком-то смысле этот процесс схож с переадресацией звонков на телефоне. Редирект можно настроить для отдельных страниц и целых разделов сайта. Для пользователя такой переход практически незаметен.

Для чего нужен редирект

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

что такое редирект сайта

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

  • Удаление с сайта целого раздела или категории.
  • Переезд ресурса на другой домен.
  • Борьба с дублями страниц (чтобы повторяющийся контент не мешал ранжированию, стоит вписать в код redirect, чтобы краулер знал, какой из них главный).
  • Смена движка (если произошла смена URL, старый адрес будет недоступен для пользователей, а все результаты продвижения потеряны).
  • Склейка доменных имен (для поисковых систем наличии или отсутствии «/» или «www» в URL воспринимается как два разных сайта, редирект помогает соединят обе версии).

Как это работает

Пользователь вводит свой запрос в поисковой системе и нажимает на подходящую гиперссылку. При обработке этого действия сервер сталкивается с настройкой redirect и следует ей. Т. е. перенаправляет пользователя на новый URL, прописанный в инструкции, или выдает соответствующий код HTTP (301, 302, 307). Как правило, такой переход занимает всего доли секунд.

Виды редиректов

Видов редиректов много, но в оптимизации и программировании чаще всего используются всего три. Рассмотрим подробнее статус-коды перенаправлений.

301 Moved Permanently (редирект на постоянной основе). Этот вариант считается наиболее популярным и применяется для переноса локации навсегда. Таким образом, старый URL пропадает из выдачи, а поисковые системы индексируют новый адрес, но все показатели прежнего ресурса сохраняются. Редирект на постоянной основе актуален только тогда, когда есть полная уверенность, что текущий адрес больше не будет использоваться. Если появляется ошибка 404, значит редирект не настроен.

301 редирект - Moved Permanently

302 Found (временный редирект). В этом случае перенаправление осуществляется в течение короткого периода времени. Новая страница, на которую попадают пользователи, не индексируется, все параметры остаются на прежней. Этот способ подходит в том случае, когда необходимо сохранить предыдущую версию или ссылки. А также код 302 активно используется интернет-магазинами, например, когда товар закончился. Чтобы сохранить позиции данного раздела в выдаче, стоит настроить временный редирект на аналогичную позицию.

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

302 редирект - временное перенаправление

307 Temporary Redirect (временное перенаправление). Этот код применяется для уточнения 302 Found и означает, что адрес ресурса может меняться. В данном случае исходная версия сайта не меняет своих позиций. Поисковые системы не добавляют новый URL в свой индекс.

Другие виды перенаправлений

Кроме перечисленных выше вариантов редиректов, существуют еще несколько:

  • код 300 – при наличии нескольких локаций, куда может быть перенаправлен пользователь в зависимости от параметров используемого им браузера;
  • код 303 – когда необходимый документ был найден, но для отображения нужно использовать GET;
  • код 304 – информирует, что на сайте не происходили изменения с момента последнего посещения (страница открывается из кэша);
  • код 305 – указывает на перенаправление на прокси-сервер, а после на запрос, заданный в поисковой системе.

Разновидности редиректов

Вышеописанные виды редиректов различаются по своему функционалу. Однако, существует еще один фактор, который отличает их друг от друга — техническое исполнение редиректа. В соответствии с ним можно выделить несколько вариантов.

Редирект .htaccess

Файл .htaccess является системным файлом, расположенным в корневой директории сайта. Для доступа к нему необходимо зайти в панель управления хостингом, на котором размещен веб-ресурс. Чтобы настроить редирект нужно внести соответствующий код в файл .htaccess.

PHP-редирект

Этот редирект отличается от предыдущего варианта тем, что находится на уровне сервера. Однако процесс настройки аналогичен редиректу через .htaccess. Нужно найти корневую директорию сайта, затем PHP-файл и в нем внести строку кода для настройки соответствующего редиректа.

Хотя PHP-редирект работает медленнее, чем через .htaccess, он может стать оптимальным вариантом, если нужно настроить перенаправление для большого количества страниц, и это нужно сделать выборочно, а не для всех страниц сайта.

JavaScript-редирект

Он используется для перенаправления на стороне браузера, что снижает скорость переадресации из-за необходимости загрузки скрипта. Однако, JavaScript-редиректы могут быть использованы для вывода сообщения на экран с задержкой перед перенаправлением. Но это решение не работает, если у посетителя отключен JavaScript в браузере.

Для настройки такого редиректа необходимо изменить исходный код страницы, с которой осуществляется перенаправление, добавив соответствующий код в теги <head>-</head>. В SEO данный вид редиректа не приветствуется.

HTML-редирект

Из всех рассмотренных выше типов редиректов, HTML-редирект является самым медленным, поскольку перенаправление выполняется в браузере, а не на сервере. Для его настройки нужно добавить метатег refresh в исходный код страницы, с которой выполняется перенаправление.

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

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

Способов настроить редирект несколько: есть простые и сложные. Рассмотрим подробнее наиболее популярные из них. Для начала нам понадобится служебный файл .htaccess. Он находится в корне сайта и используется для настроек web-сервера. Cуперпользователи (root) имеют возможность редактировать основной файл httpd.conf конфигурации web-сервера Apache, но для других он недоступен. Поэтому все действия выполняются через .htaccess. Чтобы туда попасть, нужна специальная программа или панель управления хостингом, где находится редактируемый ресурс. Как правило, она имеет такие названия «www», «public_html», «HTDOCS».

В самом начале файла нужно внести следующие записи.

При переезде на новую страницу:

Redirect 301 /oldpage.html http://site.com/newpage.html

При перенаправлении всего сайта:

RewriteCond %{HTTP_HOST} ^old-site.ru$ [NC]
RewriteCond ^(.*)$ http://www.site.ru/$1 [R-301,L]

Если перенос постоянный используется код 301, если временный – 302 или 307.

При удалении префикса «www»:

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

При добавлении префикса «www»:

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

Для исправления ошибки 404:

ErrorDocument 404 /index.html

Для удаления / добавления знака слеша, дефиса:

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

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Для дублированной первой страницы:

RewriteCond #{THE_REQUEST} ^[A-Z]{3,9}/([^/]+/)*(default|index|main).(html|php|htm) HTTP/ [NC]
RewriteRule ^(([^/]+)*) (default|index|main).(html|php|htm)$ http://www.site.com/$1 [L,R=301]

Данный код направляет посетителя на Home Page (вне зависимости от количества ее версий).

При переходе с http на https:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

При переходе на URL в нижнем регистре:

$lowerURI = mb_strtolower($_SERVER['REQUEST_URI']);
if ($_SERVER[‘REQUEST_URI’] != $lowerURI) {
	header("HTTP/1.1 301 Moved Permanently");
	header("Location: http://" . $_SERVER[‘HTTP_HOST’] . $lowerURI);
	exit();
}

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

При смене каталога:

RewriteRule ^catalog /catalog-new/$1 [R=301,L]

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

Тем, у кого нет специальных знаний в этой области, а редирект нужно настроить в самое ближайшее время, можно воспользоваться сервисами онлайн-генерации: rapidtables.com или webconfs.com.

Для получения кода нужно внести данные исходной и новой локации ресурса. Программа сформирует его за пару секунд.

Проверка редиректа страницы

Проверку можно выполнить с помощью специальных сервисов, например bertal.ru или internetmarketingninjas.com, которые определяют исправность настройки и исключают ошибки. При их использовании необходимо ввести URL сайте в поле поиска и несколько секунд подождать. Обязательно нужно убедиться в работоспособности сайта после завершения всех обновлений. Для этого нужно зайти на Home Page и проверить основные разделы. В целом редиректы страниц нужно контролировать после любых работ, проведенных на ресурсе.

проверка 301 редиректа в сервисе bertal.ru

Когда редирект не стоит использовать

Редирект считается полезным SEO-инструментом, но в некоторых случаях автоматическое перенаправление посетителей может негативно отразиться на позициях в поисковой выдаче. Применять редирект нужно с умом.

Для этих категорий переадресацию нельзя создавать:

  • дорвеи;
  • несуществующие ресурсы;
  • страницы с несколькими URL, которые относятся к разным каталогам;
  • схожий контент, но с существенными различиями (например, два товара в интернет-магазине);
  • файл robots.txt.

Последний пункт относится к ПС Яндекс, так как для нее важно, чтобы при переезде на другой домен, старый файл robots.txt был доступен. От этого зависит скорость склейки прежней и новой версий.

Кроме того, есть случаи, когда логичнее прописывать не редирект, а тег rel=canonica, который будет переориентировать пользователей, сохраняя при этом прежние локации для посетителей сайта. Они не будут учитываться в индексе, а измененный URL для ПС будет главным. Также необходимо помнить, что принимающая страница должна быть максимально релевантной. Тогда она передаст большую ссылочную массу, а краулеры быстрее объединят ее с предыдущей.

В качестве итога

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

  • не настраивать переадресацию слишком часто (более 3 раз подряд), иначе есть риск потерять время и показатели, а также создать ненужную нагрузку на сервер;
  • не перенаправлять пользователей на нерелевантые или на несуществующие страницы;
  • создавать код 301 для постоянного обновления исходного ресурса;
  • создавать код 302 для временного ресурса или для часто изменяющейся целевой страницы.