⬆️ Победители в номинации Search Innovation
Google Partner

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

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

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.

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

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

  • Андрей

    «Redirect 301 /old/old.htm http://www.new-site.com/new.htm»
    При использовании данного правила происходит редирект по адресу:
    http://www.new-site.com/new/old.htm
    Ну и естественно получаем 404.
    Не подскажете, в чем проблема?

  • Через админку не могу поставить noindex, т.к. такой страницы в реале нет, а оно просто в категорию кидает с этим адресом (

    Если у меня страница с русскими буквами в URL, как присвоить ей код ответа сервера 404?
    Прописывал редирект на /404 в .htaccess , код ответа 302 ((
    Пробовал добавить в robots.txt ссылку. При проверке файла robots говорит: Возможно, был использован недопустимый символ.
    Как удалить страницу из индекса? 404 ответ необходим для гугла (

  • если Windows Server , то как писать там редирект 301?

  • Дмитрий Павличенко

    Redirect 301 со страницы на страницу не работает

  • как лучше делать редирект с http на tttps?

  • Спасибо за подробный материал. Отличная статья с примерами!

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