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

Что такое 301 редирект и с какой целью он применяется?

301 редирект – это специальная инструкция для сервера и для поисковых роботов, которая указывает на то, что старый URL-адрес изменился (и что это изменение является постоянным). Что существенно, с точки зрения позиционирования ключевых слов для данной страницы, 301 перенаправление позволяет перенести траст (авторитет) конкретной страницы или домена на новый адрес. Благодаря этому при изменении адресов сохраняются позиции ключевых слов в выдаче поисковых систем. С точки зрения пользователя, благодаря переадресации, клиенты, использующие старый URL-адрес автоматически попадут на новый.

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

Одно из основных применений 301 редиректа, сделать так, чтобы весь сайт был доступен только по одному адресу. Часто по умолчанию, сайт доступен сразу по двум адресам, например: www.ex-pl.com и ex-pl.com и хотя это один и тот же сайт, однако поисковые системы могут считать это двумя разными сайтами, что пораждает дубли контента.

Какую версию сайта выбрать с www или без www? Выбирать стоит ту, по которой ваш сайт в данный момент ранжируется лучше и получает большее количество трафика.

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

Какие способы 301 редиректа существуют на Apache?

На сайтах под управлением веб-сервера Apache реализовать 301 редирект можно тремя способами:

  1. С использованием файла .htaccess, который должен находиться в корневой папке домена.
  2. Модифицируя файла httpd.conf (в корне установленного Apache).
  3. Испольхуя php-скрипт (об этом ниже).

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

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

Внимание! Проводник Windows'а не даст создать файл с точкой вначале, поэтому рекомендую использовать FTP-клиент, например, FileZilla или Total Commander.

После открытия файла, прежде чем добавить любой сценарий, вам нужно сделать две вещи:

  1. Включить модуль Apache mod_rewrite
  2. Включить ReWriteEngine в модуле mod_rewrite

Делается это следующим образом:

Options +FollowSymLinks
RewriteEngine on

Обратите внимание, что эту пару строк нужно вписать только единожды в файл .htaccess. Как только эти строки будут добавлены, можно настраивать 301-редиректы.

Не забываем комментировать код

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

# Редирект с этого домена на Яндекс
RedirectMatch 301 ^(.*)$ http://www.yandex.ru

Примеры

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

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

Аналогично, если мы хотим, чтобы наш сайт был доступен по адресу с www, тогда следует прописать следующие правила:

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

Кроме того, мы также можем выполнить 301 редирект с помощью php скрипта. Редирект с версии „с www” на „без www” будет иметь в этом случае следующий вид:

<?php
if(substr($_SERVER['HTTP_HOST'], 0, 3)!='www')
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.mysite.ru".$_SERVER['REQUEST_URI']);
header("Connection: close");
exit;
}
?>

И наоборот

<?php
if(substr($_SERVER['HTTP_HOST'], 0, 3)=='www')
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://mysite.ru".$_SERVER['REQUEST_URI']);
header("Connection: close");
exit;
}
?>

301 редирект со старого домена на новый, при переезде

Также 301 редирект часто используется при переезде со старого домена на новый. Чтобы правильно сделать перенапровление используйте следующий код в .htaccess (в том случае, если структура URL не меняется).

RewriteEngine on
RewriteRule ^(.*)$ http://www.mynewsite.ru/$1 [R=301,L]

301 редирект для одной страницы

В случае, если мы хотим перенаправить конкретную страницу на новый адрес, мы можем использовать следующее правило:

Redirect 301 /old-page.php /new-page.php

Как проверить правильность настройки 301 редиректа?

Чтобы проверить тип переадресации, просто используйте любой инструмент, способный анализировать заголовки отправляемые браузером. Примером такого инструмента является testuri.org.

В поле Page URI/URL, просто введите адрес страницы, которую хотим проверить, а затем нажать на кнопку Check page.

Поле ввода адреса для проверки 301 редиректа

Через некоторое время мы увидим результаты теста вместе с кодом ответа сервера.

Отчет о проверке 301 редиректов

Резюме

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

1000 Осталось символов


Обратная связь

Обратная связь

Ваше сообщение было успешно отправлено