⬆️ Победители в номинации Search Innovation
Google Partner
Информация в этой статье может быть неактуальной из-за того, что со времени ее публикации прошло много времени.

301 Редирект, как реализовать серверный редирект

Автор: Олег Гаврилюк
Руководитель оптимизаторов
5,00 5 оценок

301 редирект (301 Permanent Redirect) – серверное перенаправление пользователей на другой URL адрес при смене адреса сайта, или адреса страницы. Таким образом, при вводе старого адреса домена пользователь автоматически перенаправляется на новый адрес сайт. 301 серверный редирект используется для передачи веса сайта и страниц со старого сайта на новый, или для перенаправления пользователей и веса с адреса сайта с www в начале адреса на адрес домена без www, или наоборот, в зависимости от того, какой адрес является более предпочитаемый поисковой системой.

301 редирект — наилучший метод сохранения позиций и результатов продвижения сайта в поисковых система при переезде сайта на новый адрес.

Способы реализации 301 серверного редиректа:

Простой редирект (задается в файле .htaccess, или httpd.conf для Apache):

Redirect 301 / http://www.new-site.com/

где:
Redirect 301 — это инструкция, указывающая, что страница перемещена. / — означает, что все с верхнего уровня сайта, включая все подкаталоги, будет переадресовано http://www.new-site.com/ — новая страница или сайт (не забывайте поставить последний «/», если переадресация идет на сайт).

Чтобы переадресовать только конкретную страницу, сохранив PR старой страницы:

Redirect 301 /old/old.htm http://www.new-site.com/new.htm

где: /old/old.htm — путь и имя старой страницы

Аналогичный синтаксис для переадресации сайта:

RedirectPermanent / http://www.new-site.com/

Пример переадресации каталога:

RedirectPermanent /old-directory http://www.new-site.com/new-directory/

Например, зашедших в test переадресуем на www.test.com, остальных на enter.test.com (порядок следования записей важен):

Redirect permanent /test    http://www.test.com/
Redirect permanent /        http://enter.test.com/

Использование mod_rewrite (прописывается в файле .htaccess):

Ставшая классической задача слияния имена сайта с www и без него, решается так:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^site\.com
RewriteRule ^(.*)$ http://www.site.com/$1 [R=permanent,L] .

или альтернативный синтаксис:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]

Обозначение [R=301,L] означает: перенаправить клиента и отправить ему код статуса 301 (R=301) и сделать это правило последним (L).
Редирект старого домена на новый домен:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.new-site.com/$1 [R=301,L]

Например, если необходимо чтобы вместо rewrite.htm загружался файл rewrite.html, добавьте в .htaccess:

RewriteEngine   on
RewriteBase     /
RewriteRule     ^rewrite\.htm$  rewrite.html [R=permanent]

Для замены всех .htm файлов .html файлами:

RewriteEngine  on
RewriteBase     /
RewriteRule     ^(.*)\.htm$  $1.html [R=permanent]

Некоторые особенности редиректов:

  • Методы редиректа с .htaccess работают только на серверах c операционной системой Linux, с установленным сервером Apache с включенным модулем Mod-Rewrite.
  • Использование .htaccess создает дополнительную нагрузку на сервер Apache, более эффективно прописывать те же команды в его конфигурационном файле hpptd.conf, но, как правило, к нему нет доступа у вебмастера.
  • 301 редирект, позволяет сберечь трафик и передать PR страницы для поисковых систем.
  • процесс склейки и передачи PR занимает длительное времени — до нескольких месяцев и также зависит от поисковой системы, поэтому не удаляйте старую страницу или сайт, пока не произойдет окончательный перенос.
  • некоторые поисковые системы требуют для склейки сайтов дополнительных настроек, например, нужно дополнительно прописывать в robots.txt дериктиву host.

Интересное в интернете

Хотите подобрать отличный подарок — Блог о подарках, обзор подарков, советы, идеи.

Do something to stop this war! Russians are killing our children and civilians!