Здравствуйте! Делюсь материалом, который мне и моим коллегам очень помогает в работе.


воскресенье

Как настроить 301-й редирект? Виды и коды на все случаи переадресации

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

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

Итак, начнем с определения. Редирект - это скрипт (программа), принудительно перенаправляющий пользователя с выбранной им страницы на другую.

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

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

1. При склеивании зеркал сайта. Любой сайт по умолчанию доступен как http://www.сайт.ru, так и http://сайт.ru. Для продвижения мы советуем выбрать что-то одно. Наличие нескольких зеркал сайта может привести к неправильному распределению ссылочной массы на разные домены и негативно повлиять на продвижение сайта.

2. При переносе сайта на другой домен. Случается, что сайт попадает под какой-либо фильтр поисковиков, тогда трафик начинает снижаться или совсем пропадает. Появляется необходимость перенести сайт на новый домен. Как же тогда быть с вашими клиентами? Или с теми, кто добавил сайт в закладки, подписался на рассылку? Чтобы не потерять таких клиентов и пользователей, и нужно настроить 301-й редирект.

3. Для сохранения трафика из поисковиков, увеличения пузомерок. К примеру, вам надо увеличить тИЦ и PR конкретному сайту (основному зеркалу). Вы покупаете домен с хорошими пузомерками и делаете редирект на ваш основной сайт. Тогда все показатели нового домена будут переданы вашему сайту, в том числе тИЦ, PR и поисковый трафик.

4. Когда необходимо изменить адреса страниц. К примеру, какая-то страница вашего сайта хорошо индексируется и занимает верхние позиции в поисковиках. Вы не хотите, чтобы она выпала из индекса? Тогда 301-й редирект – то, что вам нужно.

5. При переходе с одного хостинга на другой, когда адрес сайта тоже меняется.

Также 301-й редирект используется и в других случаях, но пока остановимся на пяти. Про другие как-нибудь еще напишем.

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

301-й редирект настраивается разными способами и зависит от вашего программного обеспечения.

Теперь давайте посмотрим, какие виды 301-го редиректа существуют, для чего они применяются и как их реализовать.

I. Редирект для файлов .htaccess или httpd.conf для Apache

1. Простой редирект. Этот способ переадресации подойдет, если вам надо:

  • перетащить сайт с одного доменного имени на другое

  • внести изменения в структуру сайта (например, изменились адреса некоторых страниц)

  • сохранить трафик из поисковиков и пузомерки (показатели сайта, например, тИЦ)

Реализуется достаточно просто, добавлением вот такой строчки в файл дополнительной конфигурации веб-сервера:

Redirect 301 / http://www.site.ru/

Смысл здесь в том, что вы говорите системе: всё, что будет в адресной строке после / , перенаправлять вот на этот адрес – и указываете нужный URL. Можно также использовать вот такой код:

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

В целом это одно и то же, просто разные модификации.

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

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

Redirect 301 /site/page.htm http://www.site1.com/pagenew.htm

или

RedirectPermanent /catalog http://www.site2.com/new-catalog/

2. SEO-редирект. Этот вид редиректа применяется, если вам надо сделать переадресацию с сайта без www на сайт с www (или наоборот). Так сказать, для настройки главного зеркала, чтобы не рассеивать усилия по продвижению на несколько доменов.

При переносе с домена с www на домен без www

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

При переносе с домена без www на домен с www

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

Важно! Перед этим кодом обязательно надо прописать правило, по которому мы исключим файл robots.txt для редиректа. Это можно сделать так:

<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>

Это важно, потому что файл robots.txt управляет поисковыми роботами. К примеру, прописывается основное зеркало для робота Яндекса и ответ http-заголовка от данного файла должен быть HTTP/1.1 200 OK. Если правило не указать, то индексация и склейка главного зеркала будет проходить медленнее.

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

Здесь не рекомендуем использовать способ переадресации, который был описан в первом пункте. Корректнее применить вот такой код с правилом:

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

4. Редирект для файлов. К примеру, расширение htm на html.

У вас появилась необходимость изменить имена файлов, но вы не хотите их переименовывать и перезаливать на сервер? В этом случае вам также поможет 301-й редирект. Для это используется такой код:

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

II. Настройка редиректа в nginx

Редирект на nginx можно реализовать, вставив следующий код в файл, где вы указываете правила для переадресации:

if ($host = 'www.domain.com' ) {
rewrite ^(.*)$ http://domain.com$1 permanent;
}

III. Прописание редиректа с помощью скрипта отправки заголовка

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

1. PHP-редирект – самый распространенный вариант. Для прописания 301-го редиректа используем вот такой код, который рекомендуем вставить в самое начало страницы, с которой надо сделать редирект:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.newdomain.ru/newdir/newpage.htm");
exit();
?>

2. ASP-редирект

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.new-url.com/"
response.end
%>

3. ASP.NET-редирект

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.new-url.com/");
}
</script>

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

Если вы не можете самостоятельно справиться с настройкой 301-го редиректа на своем сайте, можете обратиться за помощью к нашим специалистам. А все вопросы пишите в комментарии к статье.

Екатерина Иова

Комментариев нет:

Отправить комментарий