Первоклассные услуги по продвижению и раскрутке сайтов

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

Опубликовано: 2014/06/23Рубрика:
Полезные материалы
Комментариев: 0
Просмотров: 3734

редирект-301

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

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

Все примеры настроек, приведены для хостинга под управлением операционной системы Linux с установленным веб-сервером Apache и с активированными модулями mod_alias или mod_rewrite, которые включены по умолчанию у 90% хостинг провайдеров. Используете другой веб-сервер или что-то не получается с текущими настройками?  Напишите нам в комментарии!

Редирект домена без WWW на домен с WWW или наоборот

Если ваш сайт открывается по адресу www.domain.com и domain.com и при это не меняется URL в строке браузера – это проблема.
В таком случае, роботы поисковых систем не всегда правильно смогут определить основную версию сайта и будут добавлять страницы вашего сайта в индекс как с префиксом www так и без, что и приводит к дублированию контента вашего сайта.
Особой роли не играет, как ваш домен будет выглядеть в результатах поиска Google, Yandex или других – www.domain.com или domain.com, но в избежание дублирования контента сайта лучше выбрать один вид и сразу настроить правильный редирект. Определить основную версию сайта, можно так же и через GoogleWebmasterTools – но это мы расскажем в следующих выпусках.

 

Как настроить?
Выбранный вами код нужно добавить в файл .htaccess, который находится в корне вашего сайта. Если файла .htaccess не существует – создайте его.

Редирект всего сайта на версию с www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

Редирект всего сайта на версию без www:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com
RewriteRule (.*) http://domain.com/$1 [R=301,L]

Результат
Если настройки будут внесены корректно, то у сайта уже будет определенна основная версия и если кто-то будет пробовать открыть сайт например с префиксом www, то он будет перемещен на  версию без – автоматически.

 

Редирект со страниц дублей, которыми грешат многие CMS

Некоторые CMS создают несколько URL для одной и той же страницы.
Например, domain.com/index.php?contact и http://domain.com/contact могут вести на одну и ту же страницы и с помощью 301-го редиректа мы определим основную версию страницы, избавимся от дублей. В этой ситуации можно воспользоваться и другим решением – тэгом rel=»canonical», о котором я вам расскажу в следующих выпусках.

 

Как настроить?
Выбранный вами код нужно добавить в файл .htaccess, который находится в корне вашего сайта. Если файла .htaccess не существует – создайте его.
Redirect 301 /page1 http://www.site.ua/page2 или Redirect permanent /page1 http://www.site.ua/page2Где “/page1” дублирующий адрес, а “http://www.site.ua/page2” полный URLосновной страницы

 

Результат
Теперь при запросе дублирующего URL, посетитель будет перемещен на основную версию страницы.

При изменении структуры URL адреса страниц

Часто бывают такие ситуации, когда какая-то страница на сайте уже не нужна, но на неё все еще переходят роботы поисковых систем, посетители и при этом им показывается ошибка 404 – страница не найдена. В таком случае и нужен 301 редирект со старой страницы на новую или на главную страницу.

Как настроить?
Выбранный вами код нужно добавить в файл .htaccess, который находится в корне вашего сайта. Если файла .htaccess не существует – создайте его.
Redirect 301 /page1 http://www.site.ua/page2 или Redirect permanent /page1 http://www.site.ua/page2 Где “/page1” адрес старой страницы, а “http://www.site.ua/page2” полный URL новой страницы

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

 

При полном переезде сайта со старого домена на новый

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

 

Как настроить?
Выбранный вами код нужно добавить в файл .htaccess, который находится в корне вашего старого сайта. Если файла .htaccess не существует – создайте его.
RewriteEngineonRewriteRule (.*) http://newdomain.com/$1 [R=301,L]
Где “(.*)” регулярное выражение, которое обозначает любую страницу старого сайта, а “http:// newdomain.com/” новый домен, куда перенаправлять посетителей.

 

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

 

Примеры редиректов реализованных другими способами:

PHP редирект
Это код перенаправит посетителя со страницы, где этот код вставлен, на страницу, которая указана в разделе Location.
Код должен быть вставлен в начало страницы.

header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.New-Website.com");

META (HTML) редирект

Это код перенаправит посетителя со страницы, где код вставлен, на страницу, которая указана в параметре url.
Код вставляется в самом начале страницы, в блоке <head> </head>

1. <meta http-equiv=»refresh» content=»0; URL=http://www.yoursite.com/»>

JSP (Java) редирект


<%
response.setStatus(301);
response.setHeader( "Location", "http://www.newlocation.com");
response.setHeader( "Connection", "close" );
%>

ASP редирект


<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.yourdomain.com/new-page.asp"
Response.End
%>

После настройки редиректов всегда проверяйте их на корректность работы в браузере или специализированными программами или сервисами, такие как Xenu или get-sniffer.com, где и показывается какой код ответа поступил от сервера и правильно ли работает редирект. Нарушение последовательность правил приведет к неработоспособности всего сайта.

Рейтинг статьи:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4,70 из 5 на основе 20 оценок)