Зачем нужен 301 редирект со страницы. Примечания и ошибки

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

Руководство по 301-му редиректу состоит из двух частей:

— Наглядная детальная инфографика

— Статья с примерами кода и само руководство (если вам сразу нужен пример кода, то лучше сразу пролистать инфографику)

Что такое редирект?

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

301 Moved Permanently

301 редирект является постоянным редиректом, который передает около 90-99% ссылочного веса. Данный редирект указывает, что страница перемещена по новому адресу и старый url следует считать устаревшим.

302 Found (HTTP 1.1) / Moved Temporarily (HTTP 1.0)

302 редирект – временный редирект. Данный редирект передает 0% от ссылочного веса и, в большинстве случаев, не должен использоваться. На данный момент интернет работает по протоколу HTTP, который и определяет, как обрабатывать URL-адреса. В двух версиях этого протокола этот ответ сервера имеет разный статус ответа:

— HTTP 1.0: 302 ответ сервера это «Moved Temporarily » – текущий документ временно перемещен на другой URL.

— HTTP 1.1: произошло изменение ответа сервера на «Found» – текущий документ найден.

307 Moved Temporarily (HTTP 1.1 Only)

307 редирект в протоколе HTTP 1.1 стал приемником 302 редиректа. В то время, как основные поисковые боты, начнут рассматривать его как аналог 302, для почти всех случаев лучше всего использовать 301. Исключением из этого правила является, когда контент действительно переехал только временно (например, во время технического обслуживания) и поисковые системы уже понимают, что ваш сервер совместим с HTTP 1.1. Но, так как это практически невозможно определить, действительно ли поисковые системы поняли, что ваш сервер совместим с этим новым протоколом, то лучше использовать 302 редирект для контента, который был временно перемещен.

Другие виды редиректов

Существуют также и другие виды редиректов: Meta Refresh или с помощью JavaScript – которые выполняются на уровне страницы, а не на уровне сервера. Вот как выглядит типичный редирект Meta Refresh:

RewriteCond %{HTTP_HOST} ^www.site\.com$ RewriteRule ^(.*)$ http://site.com/$1

Для склейки с без www на с www:

RewriteCond %{HTTP_HOST} ^site\.com$ RewriteRule ^(.*)$ http://www.site.com/$1

RewriteCond %{HTTP_HOST} ^site\.com$ RewriteRule ^(.*)$ http://www.site.com/$1

Для того чтобы правильно выбрать на какой из вариантов склеивать, желательно посмотреть:

— как из этих вариантов больше находиться в топе
— для какого из вариантов больше страниц в индексе

Канонизация слеша в конце урла

При проектирование сайта важно определиться с одним форматом использование слеша в конце урла, так как для поисковых систем 2 урла вида:

— http://www.site.com/cat1/

— http://www.site.com/cat1

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

Для того чтобы удалить слэш в конце:

RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/

Редирект одной страницы на другую страницу:

RewriteCond %{THE_REQUEST} ^{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.site.com/$1

Редирект каталога

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

RewriteRule old-catalog /(.*) / old-catalog /$1

Редирект при смене расширение файлов

Если вы вдруг переехали на другую платформу или CMS и при этом у url-ов изменились только расширение, то в этой случае вам поможет вот такой редирект

RewriteCond %{HTTP_HOST} !^www\.site\.com RewriteRule ^(.*)$ http://www.site.com/$1

Таким, образом все домены типа www.site.ru, www.site.net, test.site.com будут переадресовываться на сайт www.site.com.

Как удалить несколько слешей/тире в урле

Иногда «по случайности» в урле могут появится по несколько слешей, например, www.site.com/catalog////page-1.html. В таких необходимо делать 301 редирект на страницу с одним слешер www.site.com/catalog/page-1.html:

RewriteCond %{REQUEST_URI} ^(.*)--(.*)$ RewriteRule . %1-%2

Как сделать редирект с любого урла на url только в нижнем регистре

Поскольку, поисковыми системами регистр букв учитывается, то при проектировании сайта желательно, чтобы все урлы были в нижнем регистре. Однако, если вы изначально упустили данный момент, то лучше всего воспользоваться следующим кодом для редиректа на уровне php-скрипта:

$lowerURI=strtolower($_SERVER["REQUEST_URI" ]); if($_SERVER["REQUEST_URI" ]!=$lowerURI) { header ("HTTP/1.1 301 Moved Permanently" ); header ("Location: http://" . $_SERVER["HTTP_HOST" ] . $lowerURI); exit(); }

$lowerURI=strtolower($_SERVER["REQUEST_URI"]); if($_SERVER["REQUEST_URI"]!=$lowerURI) { header("HTTP/1.1 301 Moved Permanently"); header("Location: http://" . $_SERVER["HTTP_HOST"] . $lowerURI); exit(); }

Как переехать на новый домен? Оптимальная стратегия 301 редиректа

Оптимальной стратегией переезда на новый домен учитывая пожелания 2-ух основных поисковых систем рунета Yandex и Google это:

— постраничный 301 редирект со старого сайта на новый.
— при этом для файла редирект не делаем, а прописываем в нем директиву Host на новый домен.

Тогда код для настройки редиректа на старом сайте может иметь следующий вид:

RewriteCond %{REQUEST_FILENAME} robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} !^www\.site\.com RewriteRule ^(.*)$ http://www.site.com/$1 а файл robots.txt для старого сайта: User-agent: Yandex Disallow: Host: newsite.com

Генерация 301 редиректов

Если вы не очень технически подкованы, то можно воспользоваться сервисами генерации базовых редиректов:

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

Как проверить 301 редирект

После каждого изменение логики работы 301 редиректа необходимо проверять работоспособность сайта:

— вообще ли работает сайт: зайти на главную страницу)

— походить по основным разделам и страницам сайта

Также для более тщательной проверки отработки редиректов можно использовать следующие сервисы:

Как и когда лучше использовать 301 редирект vs Canonical

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

301 — Эй, Поисковики: моя страница уже не здесь и она навсегда переехала на новую страницу. Пожалуйста, удалите старую страницу из индекса и передайте её вес на новую страницу.

Canonical - Эй, Поисковики (так для большинства поисковых систем): у меня есть несколько версий этой страницы (или содержания), пожалуйста, индексируйте только ту версию страницы, на которую стоит canonical. Я буду держать другие страницы доступными для людей, чтобы они могли их видеть, но, Поисковик, не включай их в свой индекс и пожалуйста, передайте вес на мою предпочтительную страницу.

Когда лучше использовать 301 редирект

— По умолчанию - это предпочтительный метод

— Для страниц: если страница навсегда переехала или была заменена на новый адрес

— Для доменов: если сайт переехал на новый домен (продажа сайта, ребрендинг и т.д.)

— Для 404 страниц и контентом, который потерял свою актуальность (при условии соответствующего содержания). Например, если удален товар из определенного каталога, то можно сделать редирект на похожий товар, или на url-категории к которой пренадлежал данный товар.

Когда лучше использовать rel= «canonical»?

— Когда 301 редиректы не могут быть реализованы, или их внедрение займет слишком много времени

— Страницы с несколькими разными url по сути одной страницы (например, сортировки каталога, отслеживания партнерских ссылок, …)

— Кросс-доменов, когда оба сайта похожи, но похожий контент нужно оставить на каждом из доменов.

Итого

Ошибки при использовании редиректов

— Любой многошаговый редирект. Если есть возможность, то желательно не допускать многошаговых редиректов, чтобы он и быстрее сработал, и передалось максимум ссылочного веса.

— Использование не правильного типа редиректов. При выборе типа редиректа необходимо учитывать нюансы каждого из них.

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

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

— Не правильный выбор использования rel=canonical vs 301 редирект. Смотри выше.

Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

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

301 Permanent Redirect / 301 редирект…

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

Есть мифы, связанные с : например, что при редиректе не передаётся PR страницы, но этот миф был развенчан одним из вебмастеров Google Джоном Мюллером в своем блоге . Или что вместо редиректа можно использовать 302 Temporary Redirect.

Существует целый класс 3хх редиректов. Наиболее часто используются коды 301 и 302 - они как двойняшки, которые вроде бы и похожи, но всё-таки различаются. А для поискового робота это два совершенно разных человека, и трактуются такие ответы сервера по-разному:

  1. 301 Moved Permanently : постоянный редирект. Этот код уведомляет о том, что ресурс перемещен на новый адрес на постоянной основе с удалением прошлого домена. Нужен для окончательного переезда на новый ресурс, новую CMS или для склейки страниц.
  2. 302 Temporary Redirect: временный редирект. Уведомляет о временном переезде сайта или его страницы. Используется при технических работах на сайте.

Как эти коды отразятся на выдаче:

  • При 301 редиректе в поисковой выдаче начинает отображаться новый URL, но это может занять некоторое время. Google советует сохранять статус страницы в течение года.
  • При в поиске сохраняется старый URL страницы, но через 6 месяцев использования 302 редиректа поисковая система начинает считать его за постоянный 301, т.к. временное перенаправление не зря названо «временным», а полгода - достаточно большой срок.

Из-за подобных ошибок вебмастеров и злоупотребления 302 редиректом в неэтичных целях SEO-специалисты очень не советуют использовать его на своём сайте, ведь даже за небольшое подозрение в черном SEO вы можете схлопотать серьезный штраф. Давайте лучше разберемся как можно настроить легальный 3 01 редирект в

Файл.htaccess - это файл конфигурации HTTP-сервера, наподобие Apache. С его помощью задается большое количество дополнительный параметров и разрешений веб-сервера, распространяет свои права только на каталог, в котором располагается, и его дочерние подкаталоги.

Самый простой пример редиректа: с сайта на сайт

Redirect / www.example.com

www.example.com - сайт, на который мы перенаправляем запрос пользователя.

Чуть более сложный пример - если мы хотим сделать редирект со страниц нашего сайта на другой сайт. Или, например, сделать редирект на главную страницу.

Redirect /semantica сайт/

Redirect /semantica/blog сайт/blog

Redirect 301 /kernel сайт/

Что всё это значит:

1 строка - при обращении к странице www.example.com/semantica будет открываться сайт сайт/

2 строка - при обращении к http://www.example.com/semantica/blog будет открываться сайт/blog

3 строка - веб-сервер будет отдавать код 301 о постоянном переезде на новый URL

Теперь, когда вы примерно понимаете, как это работает, можно переходить на задачи посложнее.

Сложные редиректы

Для сложных редиректов существует модуль mod_rewrite - это средство преобразования URL-адресов, использующее . Для редиректа используются три важные директивы: RewriteCond, RewriteRule и RewriteEngine.

  1. RewriteEngine включает или выключает работу механизма преобразования:

RewriteEngine on | off

Положение on-off включает и выключает работу модуля.

2. RewriteCond - определяет условие какого-либо правила, при котором происходит преобразование. Сразу после директивы чаще всего идут переменные %{HTTP_HOST} и %{REQUEST_URI}, которые означают адрес сервера (например, example.ru) и ресурс, запрошенный в строке HTTP-запроса, соответственно.

3. RewriteRule - идёт после одного или нескольких RewriteCond. Это правило преобразования URI, которое применяется только при условии выполнения RewriteCond.

Синтаксис директивы RewriteRule выглядит следующим образом:

RewriteRule Шаблон Подстановка

Здесь стоит дать пояснение к используемым символам регулярного выражения, которое задает шаблоны строк:

Метасимволы используются для задания групп символов и меток в шаблоне:

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

Флаги определяют дополнительные опции для данного правила и перечисляются в квадратных скобках через запятую:

  • NC - (nocase) отключает проверку регистра символов.
  • R - (redirect) останавливает процесс преобразования и возвращает результат браузеру клиента как редирект на данную страницу (302, MOVED TEMPORARY). С данным флагом можно указать другой код результата, например R=301 возвратит редирект с кодом 301 (MOVED PERMANENTLY).
  • L - (last) останавливает процесс преобразования, и текущая ссылка считается окончательной.

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

Теперь, зная эти правила, мы можем попытаться самостоятельно сделать редирект с помощью htaccess .

  1. Редирект.htaccess на другую страницу
Redirect 301 /old-post.html http://new-site.ru/new-post.html
  1. Редирект.htaccess с www на без www
RewriteEngine on RewriteCond %{HTTP_HOST} !^site.ru$ RewriteRule ^(.*)$ site.ru/$1
  1. Редирект.htaccess с без www на www
RewriteEngine on RewriteCond %{HTTP_HOST} !^www.site.ru$ RewriteRule ^(.*)$ www.site.ru/$1

где site.ru - ваше доменное имя.

  1. Редирект с index .php (html) на главную страницу
RewriteEngine on RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.(php|html|htm)\ HTTP/ RewriteRule ^(.*)index\.(php|html|htm)$ $1
  1. Редирект со слешем на без слеша
RewriteCond %{REQUEST_URI} !\? RewriteCond %{REQUEST_URI} !\& RewriteCond %{REQUEST_URI} !\= RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_URI} ![^\/]$ RewriteRule ^(.*)\/$ /$1
  1. Редирект со страниц без слеша на слеш
RewriteCond %{REQUEST_URI} !\? RewriteCond %{REQUEST_URI} !\& RewriteCond %{REQUEST_URI} !\= RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_URI} !\/$ RewriteRule ^(.*[^\/])$ /$1/
  1. Редирект всех страниц одного домена на главную другого домена
RewriteCond %{REQUEST_URI} (.*) RewriteRule ^(.*)$ http://site.ru/
  1. Редирект с http на https через. htaccess
RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1
  1. Редирект с https на http
RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1
  1. Избавление от дублей страниц

Если вы заметили, что к адресу основной страницы приклеивается что-то вроде &sa=123 456 или &crw=123 456 и подобное, просто замените буквенную часть в следующем коде

RewriteCond %{REQUEST_URI} ^(.*)\&sa= RewriteRule ^(.*)\&sa=(.*)$ $1

Пример: объясняем на пальцах

Как с помощью 301 редиректа сделать так, чтобы по запросу site.ru/category/art1/zapis/ в строке адреса было site.ru/zapis/, то есть /category/art1 вырезалась бы из строки, но после вырезания строки показывалось содержимое site.ru/category/art1/zapis/?

RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^category/art1/zapis/$ http://%{HTTP_HOST}/zapis/ RewriteRule ^zapis/$ /category/art1/zapis/ [L]

А теперь давайте подробнее разберем, что же тут написано и что вообще происходит.

Как известно mod_rewrit на apache постоянно просматривает список правил, пока URL можно хоть как-то изменить.
И не редко получаются бесконечные циклы.

Чтобы ограничить цикл выполнения правил одной итерацией, можно использовать конструкцию из первой строки. Она предает apache статус был ли выполнен редирект или нет и если да, то пропустить следующие правила. К слову, на nginx эта строка не нужна.

Вторая строка делает 301 редирект с www.site.ru/category/art1/zapis/ на www.site.ru/zapis/
Третья же строка говорит серверу, что если адрес вида www.site.ru/zapis/, то надо показывать то, что находится по адресу www.site.ru/category/art1/zapis/

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

  1. Принцип «от меньшему к большему»: располагайте редиректы от частных к более глобальны. Т. е. переадресация со страницы на страницу будет выше, чем переадресация с без www на www .
  2. Избегайте последовательных - двойных, тройных - редиректов. Один редирект перенаправляет пользователя только один раз.
  3. Проверьте HTTP заголовки и статусы ответа сервера, чтобы убедиться в правильности работы редиректа.

В заключении хотелось бы по пунктам огласить условиях при которых стоит и не стоит использовать .htaccess переадресацию .

Когда редирект необходим

  1. Вы переехали на другой домен: и вам логично не хочется потерять своих клиентов - настоящих и потенциальных, а также есть необходимость передать вес прошлого сайта на новый.
  2. Хотите склеить зеркала: у вас несколько доменных имён с разным написанием бренда и вы перенаправляете всех посетителей на основной сайт.
  3. Страница сменила свой адрес: структура вашего сайта была реорганизована и вы пытаетесь предотвратить возможный беспорядок.
  4. Хотите избавиться от дублей страниц или копии сайта: не стоит относится к дублям как чему-то безвредному и незначительному. С дублями вы теряете в весе и сдаете позиции конкурентам, а так же дублирование контента может привести к штрафам от поисковых систем.

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

  1. Вы временно переезжаете на новую страницу: для этого есть 302 и 307 код, это гарантия того, что не произойдёт склейки страниц и оригинальная страница не выпадет из поисковой выдачи.
  2. Вы переезжаете из-за проблем со старым доменом: если у вас есть баны, фильтры и штрафы, то при склейке к вам перейдет не только ТИЦ и PR, но и все беды, от которых вы бежали.

Редирект, или переадресация, — это способ перемещения пользователей, а также поисковых систем на веб-страницы, местоположение которых изменилось. Существует несколько разновидностей редиректов, основные их типы — временный и постоянный.

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

301 редирект своими руками

К переадресации 301 обычно прибегают в таких случаях:

  • Смена домена. Редирект позволяет сделать ее незаметной для пользователей, обеспечивая их перемещение на новый адрес при введении в адресную строку старого.
  • Необходимость сохранить поисковый трафик , Page Rank и ТИЦ, передав их новому домену.
  • Существование нескольких сайтов-зеркал с разными URL-адресами и необходимость перенаправлять трафик на основной домен при введении пользователем любого URL.
  • Объединение двух сайтов и необходимость корректной работы ссылок на устаревшие страницы.
  • Перенос страницы в новое место .
  • Необходимость склейки имени сайта .

Как настраивать 301 редирект — полная инструкция, пример кода

Чтоб принять решение относительно того, какой сайт канонизировать — с «www» или без, со слешем в конце или без, — нужно проанализировать положение в топе и индексацию каждого варианта.

Для склейки домена, содержащего «www»,с доменом без него используется код:

RewriteCond %{HTTP_HOST} ^www.site\.com$

RewriteRule ^(.*)$ http://site.com/$1

Для обратной процедуры:

RewriteCond %{HTTP_HOST} ^site\.com$

Для удаления слеша:

RewriteCond %{HTTP_HOST} (.*)

RewriteCond %{REQUEST_URI} /$

RewriteRule ^(.*)(/)$ $1

Для его добавления:

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

RewriteRule ^(.*[^/])$ $1/

Для редиректа страницы:

Redirect 301 /oldpage.html http://www.site.com/newpage.html

Для перенаправления с дублей главной страницы на каноническую версию:

RewriteCond %{THE_REQUEST} ^{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/

RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.site.com/$1

Для редиректа каталога, структура которого вписана в URL:

RewriteRule ^(.*)/old-catalog/(.*)$ $1/new-catalog/$2

Для редиректа каталога, URL которого начинается сразу после домена:

RewriteRule old-catalog /(.*) / old-catalog /$1

Для случаев, когда изменяется только расширение URL (перенос сайта на другую платформу или CMS):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Как переехать на новый домен? Оптимальный вариант 301 редиректа

Смена домена — одна из самых распространенных причин выполнения постоянного редиректа. Встал вопрос, как переехать на новый домен? Разработанный с учетом алгоритмов работы основных поисковых систем Рунета, Google и Яндекс, оптимальный вариант 301 редиректа осуществляется по такой схеме:

  • постоянная переадресация каждой страницы старого сайта на новый;
  • редиректу не подлежит только файл robots.txt, вместо этого в нем прописывается директива Host с указанием нового домена.

На старом сайте прописывается такой код настройки 301 редиректа:

RewriteCond %{REQUEST_FILENAME} robots.txt$

RewriteRule ^([^/]+) $1 [L]

RewriteCond %{HTTP_HOST} !^www\.site\.com

RewriteRule ^(.*)$ http://www.site.com/$1

Файл robots.txt применительно к старому сайту должен приобрести такой вид:

User-agent: Yandex

Disallow:

Host: newsite.com

Как настроить главное зеркало сайта

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

  • применяется директива Host, в качестве ее значения указывается имя главного зеркала. Выбор главного зеркала в соответствии с указанием этой директивы не гарантирован, но вероятность высока;
  • осуществляется серверный редирект со станиц старого ресурса, который теперь будет являться неглавным зеркалом, на новый.

Чтоб ускорить вступление изменений в силу, нужно выбрать сайт через Яндекс.Вебмастер, в разделе «Помощь» раскрыть пункт «Настройка индексирования» и перейти по ссылке «Главное зеркало». Здесь можно поставить отметку напротив домена, который при индексировании должен восприниматься роботом как главный.

Как и когда лучше использовать 301 редирект vs Canonical

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

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

По умолчанию предпочтительным является постоянный редирект, но есть несколько нюансов и правил, как и когда лучше использовать 301 редирект vs Canonical.

301 редирект применяется, если:

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

Canonical предпочтительней в случаях, когда:

  • постоянный редирект неосуществим или процедура требует значительных временных затрат;
  • существуют некоторые отличия на двух страницах с дублирующимся контентом, в силу которых обе версии должны быть доступны пользователям;
  • необходимо по определенным критериям отличать страницы с одинаковым контентом и разными URL (отслеживать партнерские ссылки, сортировать товары в каталоге по разным фильтрам);
  • существуют кросс-домены с похожими сайтами и на каждом должен быть доступен сходный контент.

Как правильно сделать 301 редирект страницы

Очень важно после окончания прописывания кодов переадресации проверить работоспособность ресурса :

  • зайти на главную страницу, чтоб убедиться, что сайт вообще работает;
  • проверить загрузку основных разделов, наиболее важных страниц;
  • воспользоваться для тестирования сервисами http://bertal.ru и http://www.internetmarketingninjas.com/header-checker/.

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

Ошибки при использовании

Не все знают, как настраивать 301 редирект правильно. Наиболее распространенные ошибки при использовании постоянного редиректа:

  • выполняется многошаговый редирект — медленно работает, возможны потери ссылочного веса;
  • выбран неправильный тип переадресации, не соответствующий цели;
  • на сайте внедряется внутренний редирект, но адреса ссылок не меняются на новые;
  • редирект осуществляется на страницы, недостаточно релевантные исходным;
  • сделан неправильный выбор между редиректом и Canonical;
  • редирект не ведет на правильно работающую (с ответом 200) страницу;
  • осуществляется редирект файла robots.txt вместо прописывания в нем директивы Host.

Здравствуйте, дорогие мои друзья! Сегодня я решил написать статью о «страшном» понятии как 301 редирект . Да, не пугайтесь так, на самом деле всё очень и очень просто:). В данной статье я Вам расскажу, что это такое, зачем он нужен, как его сделать и много другой не менее полезной информации по этой теме!

Новость №1

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

  1. Статья про ;
  2. Статья про инвестирование в .

В этих статьях я рассказал куда и сколько я инвестировал. Скоро узнаете ещё об одной не менее прибыльной брокерской компании, поэтому не пропустите выхода этой статьи! Доход в месяц от инвестирования в этой компании, а вернее в данной программе доверительного управления от 7-40%.

А теперь, давайте разберёмся, что такое redirect.

Редирект (redirect) — это переброс (перенаправление или переадресация) c одного доменного имени на другого (с одного сайта на другой), с одной страницы сайта на другую. Т.е. пользователь набирает в строке своего браузера одно название страницы или сайта, а попадает совсем на другое название страницы или сайта.

Зачем нужен 301 редирект вебмастерам?

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

1. Для склейки .

Помните, в прошлой статье я рассказывал о нежелательности иметь сайт с доменом www, так как это приводит перераспределению ссылочной массы на два домена и, как следствие, негативно влияет на ранжирование сайта в поисковиках;

2. При переходе сайта на новый домен. Бывает так, что сайт попадает под различные фильтры поисковых систем, поисковый трафик снижается (или вообще исчезает), поэтому возникает необходимость на новый домен. А как быть с постоянными читателями блога? Как быть с теми, кто сохранил ваш блог в закладках или подписался на ? Вот для этого и пригодится 301 редирект ;

3. Для повышения тИЦ и PR сайта, сохранения поискового трафика. Например, вы хотите повысить и ПР определённому сайту (основному). Для этого нужно купить с уже имеющимися хорошими пузомерками и сделать редирект на основной сайт, тогда тИЦ, ПР и поисковой трафик будет передаваться ему.

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

5. При переходе бесплатного хостинга на платный .

Также есть ещё ряд применений редиректу 301, но пока остановимся на вышесказанном.

Классификация redirect

Как я уже сказал, для общего развития, начинающему вебмастеру нужно знать, что кроме 301 редиректа существуют и другие:

Но наиболее часто используют 301 редирект.

Как сделать 301 redirect через файл.htaccess?

Возникает вопрос: а что же такое файл .htaccess ? Это файл, в котором будут хранится различные команды 301 редиректа (о переадресации страницы, домена и т.д.).

Дело в том, что обычным способом на компьютере его не переименовать, выдаётся ошибка (у меня так), а при помощи вышеперечисленных программ точно можно.

А теперь открываем файл (с помощью текстового редактора) и вписываем необходимый код редиректа.

Если вы хотите переправить посетителей одного сайта на другой

Redirect 301 / http://www.домен.com

Redirect 301 — указывает, на то, что сайт перемещён;

«/» — указывает, что всё с верхнего уровня блога будет перемещено (переадресовано) на новый домен.

Например, если вы хотите с одной страницы сайта сделать перенаправление на другую страницу сайта, то в файл.htaccess нужно вставить следующий код:

Redirect 301 /старая-страница.html http://новый-домен.ru/новая-страница.html
или
Redirect permanent /старая-страница.html http://новый-домен.ru/новая-страница.html

RedirectPermanent /старая-страница.html http://новый-домен.ru/новая-страница.html

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

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

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

Редирект 301 с домена с www на домен без www

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site.ru$
RewriteRule ^(.*)$ http://site.ru/$1

Редирект 301 с домена без www на домен с www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site\ .ru$
RewriteRule (.*) http://www.site.ru/$1

RewriteEngine on|off - это специальная директива, которая служит для отключения или включения доступа к коду файла.htaccess, доступ осуществляется через модуль хостинга mod_rewrite;

RewriteCond - это специальная директива, которая определяет условия для правил преобразований. Является директивой модуля хостинга mod_rewrite;

RewriteRule - это директива, которая отвечает за различные преобразования. В данном случае редирект 301.

Сначала информация о странице поступает в директиву RewriteCond, после чего эта информация преобразовывается в директиву RewriteRule. Вот так работает вышеприведённый код, если вкратце.

Да, информация сложная для понимания (поначалу), но если Вы её освоите, то в дальнейшем будет намного проще.

А на этом статью буду заканчивать, всем пока!

P.S.

С уважением,Александр Сергиенко

Здравствуйте, уважаемые друзья и гости блога сайт! Сейчас Вы узнаете как правильно делается на сайте 301 редирект htaccess и вообще, что такое редирект и зачем он нужен на ресурсе? Поехали …

301 редирект — это код статуса ресурса, который возникает на нем при переадресации на другой сайт и отправляется клиенту, т.е. браузеру.

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

Например при переходе сайта с http на https . Об этом я писал ранее! Вот как раз для перевода сайта на https необходимо прописать в файле htaccess код редиректа, который будет указывать поисковым машинам, что ваш сайт находится теперь по адресу начинающегося с HTTPS. Вот этот код:

  • RewriteCond %{SERVER_PORT} !^443$
    RewriteRule ^(.*)$ https://site.ru/$1

или можно вот так:

  • RewriteCond %{HTTPS} =on
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1

А вообще-то видов редиректов существует масса, вот некоторые из них, которые считаются наиболее важными и востребованными среди вебмастеров …

Виды 301 редиректов для вебмастера!

301 редирект с www на без www (главное зеркало – домен без www)

RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1

301 редирект с без www на www (главное зеркало – домен с www)

RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://www.%1/$1

301 редирект с одной страницы сайта на другую

RewriteCond %{REQUEST_URI} ^/test/$
RewriteRule ^.*$ http://site.ru/new-test/?

Важно!

Для устранения ошибки на сайте (возникновение дублей главной страницы!), необходимо в файл htaccess вашего сайта установить следующий код:

RewriteCond %{THE_REQUEST} ^{3,9}\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/
RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.site.com/$1

Тогда главная страница вашего сайта не будет доступна по нескольким адресам, так например: home.php,index.php, default.php и др. Соответственно злополучные дубли вашей главной страницы исчезнут и сайт поднимется в поисковой выдаче из-за исчезновения данной ошибки.

Вот еще полезный сервис, который поможет Вам при создании анонимных редирект-ссылок для Вашего сайта: Katvin.com

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