♛ FORTRESS-DESIGN

Как сделать 301 редирект

Если вы хотите изменить URL-адрес страницы, отображаемый в результатах поиска, рекомендуется использовать переадресацию 301 (301 Permanent Redirect), выполняемую сервером. Это самый лучший способ обеспечить переход пользователей и поисковых систем на нужную страницу.

Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение.

На самом деле существует несколько редиректов. О том как сделать 301 редирект можно посмотреть на инфографике.

В каких случаях использовать редирект 301?

Использовать переадресацию 301 особенно удобно в следующих случаях:

  1. При смене домена. Вы переместили свой сайт в другой домен и хотите, чтобы казалось, будто перехода и вовсе не было.
  2. Для передачи новому домену Page Rank и тИЦ.
  3. Для сохранения поискового трафика.
  4. Пользователи могут получить доступ к сайту, используя несколько различных URL-адресов. Например, попасть на страницу можно несколькими способами: //site.ru/sub, //sub.site.ru или //www.site.ru. Бывает удобно выбрать один из этих URL-адресов в качестве канонического (основного) и использовать переадресацию 301 для перенаправления на него трафика с других URL. Для настройки основного домена можно использовать «Инструменты для веб-мастеров».
  5. При объединении двух сайтов требуется, чтобы все ссылки на устаревшие страницы указывали на страницы, действующие в данный момент.
  6. При переносе страницы сайта в новое место.
  7. Для склейки имени сайта с префиксом www и без него.

Пример использования 301 редиректа

Задача: удалить поддомен.

Как это сделать корректно? Ведь его страницы наверняка уже проиндексированы и есть обратные сслыки.

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

Redirect 301 / //www.newsite.ru

где:
Redirect 301 — эта инструкция указывает, что сайт (страница) перемещен;
/ — означает, что всё с верхнего уровня сайта, включая все подкаталоги, будет переадресовано на новый домен.

 

Особенность:

  • исходный адрес указывается без http: и домена
  • файл .htaccess должен быть с точкой в начале
Redirect 301 /old-url/ //ohersite.ru/new-url/

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

После прописывания инструкции, старый сайт будет осуществлять перенаправление на новый и не будет индексироваться до тех пор, пока при обращении к нему робот Яндекса не будет получать ответ HTTP 200. При такой конфигурации будет индексироваться только цель перенаправления — новый сайт.

Google расценивает 301 редирект всех страниц на главную как 404 ошибки. По сути, Google игнорирует эти редиректы, и они не передают PageRank.

Об этом рассказал Джон Мюллер в ходе видеовстречи с вебмастерами:

https://www.youtube.com/watch?v=RVrYfoXH-BM

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

301-ая ошибка (301 Permament Redirect), возвращаемая при обращении к определенному адресу страницы, означает, что сайт был на постоянной основе перенесен на новый адрес, также указанный в HTTP заголовке. Как пользователи, зашедшие через браузер, так и поисковые боты будут перенаправляться по новому адресу, при этом, для поисковиков все свойства старого адреса (страницы) будут переданы новому URL. При 301 редиректе произойдет склейка старого и нового адресов: параметры вроде PageRank и тИЦ, а также вес страницы и ссылочный вес старого адреса будет передан новому URL.

Редирект с номером ошибки 301 (moved permanently) это наилучший способ сохранить рейтинг сайта в поисковых системах при переносе его на новый домен или смене системы управления контентом. Переадресацию можно выполнить несколькими способами, в зависимости от установленного программного обеспечения.

301 редирект в .htaccess

При использовании сервера Apache, переадресацию можно просто выполнить с помощью файла .htaccess, однако, при этом, не забыть включить модули mod_alias (для поддержки директив Redirect, RedirectPermanent и RedirectMatch) и/или mod_rewrite (для использования реврайта) в php.ini.

Для этого поместите в корне папке вашего сайта файл .htaccess.

Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias

Redirect 301 /old-page.html //new-domain.ru/new-page.html

или

Redirect permanent /old-page.html //new-domain.ru/new-page.html

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

RedirectPermanent /old-url.html //new-site.ru/new-url.html

Редирект с помощью директивы RedirectMatch

Этот редирект подобен предыдущему, за исключением того, что можно задавать регулярное выражение для старых URL адресов. Допустим, при смене движка с PHP на ASP, можно старые адреса перенаправить следующим образом:

RedirectMatch /(.*).php$ /$1.aspx

Редирект с помощью директивы RewriteRule модуля mod_rewrite

Для использования директивы RewriteRule необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite, а также влючена опция FollowSymLinks. Использование реврайт модуля дает много возможностей для перенаправления страниц на новые адреса.

Перенаправление домена с www на не-www

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

или альтернативный, более понятный синтаксис

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

Редирект запросов с не-www на домен с www префиксом

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

или же альтернативный вариант

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

Как три домена средиректить на один через htaccess

RewriteCond %{HTTP_HOST} ^domain4.ru [OR]
RewriteCond %{HTTP_HOST} ^www.domain4.ru [OR]
RewriteCond %{HTTP_HOST} ^domain3.ru [OR]
RewriteCond %{HTTP_HOST} ^www.domain3.ru [OR]
RewriteCond %{HTTP_HOST} ^domain2.ru [OR]
RewriteCond %{HTTP_HOST} ^www.domain2.ru [OR]
RewriteCond %{HTTP_HOST} ^www.domain1.ru
RewriteRule ^(.*)$ //domain1.ru/$1

Есть специальный сервис, который поможет сгенерировать код для редиректа: //www.webconfs.com/htaccess-redirect-generator.php

Редирект с помощью скрипта (отправки заголовков)

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

HTTP/1.1 301 Moved Permanently
Location: //www.newdomain.ru/newdir/newpage.htm

PHP редирект

<?php
header(“<span class="caps">HTTP</span>/1.1 301 Moved Permanently”);
header(“Location: //www.newdomain.ru/newdir/newpage.htm”);
exit();
?&gt;

Использованы материалы Переадресация 301 (Центр веб-мастеров Google)

 


Перейти к верхней панели