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

Готовы? Тогда мы начинаем (барабанная дробь…). Сбегайте на кухню и сделайте для себя вкусную чашечку кофе или латтэ 🙂

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

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

Существует несколько типов переадресации: 301 redirect, 302 redirect, 307 redirect и т.д.

Однако я обещал, что буду предельно краток и понятен, поэтому не буду вдаваться во все нюансы и расскажу лишь о 301 редиректе, т.к. именно он является самым важным и необходимым.

В каких случаях необходим 301 редирект WordPress?

В основном 301 редирект используется тогда, когда ваш сайт или страничка переехали на другой адрес (как в пределах одного домена, так и на другой), и вы хотите автоматически перенаправлять пользователей на актуальный адрес.

Кстати, к написанию данной статьи меня вдохновил вопрос одного из моих подписчиков: он интересовался, как перенаправить пользователей со старого поста на новый.

Итак, 301 редирект нужен:

  • когда вы планируете удалить старый пост или страницу и разместить новый контент;
  • когда вы планируете изменить вечные ссылки своего поста или страницы.

Если вы не сделаете переадресацию, то пользователи увидят страничку 404 (т.е. такой страницы не существует). Это не только сформирует негативное впечатление у пользователей, но и может пагубно повлиять на рейтинг вашего сайта в поисковой выдаче. Вот почему так важно своевременно делать редирект 301.

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

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

Как создать редирект в WordPress (используя плагины)

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

  • Перенаправление (Redirections )
  • Легче всего добавлять и управлять переадресациями в водпрессе с помощью плагина «Redirection ». Для этого его надо установить и активировать. Как только вы это сделаете, зайдите в Инструменты → Redirection и произведите необходимые настройки переадресаций.

    Для этого нужно всего лишь заполнить строки, показав новое расположение урла.

  • Page Links to
  • После его установки под областью редактирования записи появится мета-блок, куда можно прописать адрес, на который вы хотите перенаправить пользователей.

  • Simple 301 Redirects
  • Еще одним полезным, а главное понятным даже новичку плагином является «Simple 301 Redirects ». Само его название уже говорит, что он предельно прост и не надо бояться его использовать. Просто установите и активируйте плагин, затем зайдите в Настройки → 301 Redirects и добавьте необходимые урлы.

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

    Если вы все-таки гонитесь за скоростью, то устанавливайте переадресацию с помощью прописывания кода в файле htaccess.

    Настройка 301 редирект.htaccess

    Htaccess – это служебный файл конфигурации с помощью которого можно настроить быстрый 301 редирект.

    Однако помните, что даже небольшая ошибка в коде.htaccess может привести к тому, что сайт будет не просматриваться, и пользователям будет отображаться внутренняя ошибка сервера.

    Вот почему так важно, перед тем как вносить хоть какие-то изменения в файл.htaccess, делать резервную копию данного файла.

    Чтобы изменить файл.htaccess необходимо зайти на сайт через FTP-клиент. Файл должен находиться в корневой папке WP, если его там не будет, то попробуйте просмотреть скрытые файлы, т.к. htaccess может быть присвоен скрытый атрибут

    Файл.htaccess можно редактировать в любом текстовом редакторе, например в Блокноте.

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

    Что такое 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\.(.*)
    RewriteRule ^(.*)$ http://www.%1/$1

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

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.domain\.com$
    RewriteRule ^(.*)$ http://domain.com/$1

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


    RewriteEngine off

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

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

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule (.*) http://www.newdomain.com/$1

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

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

    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*)\.htm$ $1.html

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

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

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

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

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

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

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


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


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

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

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

    Здравствуйте, уважаемые друзья. Сегодня речь пойдёт о технических настройках редиректа (переадресации). Эта техническая возможность позволяет решить очень много задач. От простого перенаправления с одной страницы на другую, до переезда с домена на домен. А также редирект получил широкое распространение в .

    Итак, что такое редирект – это переадресация, перенаправление с одного источника на другой. По сути, если вы настраивали переадресацию на своём сотовом телефоне, то знаете этот простой принцип работы. Когда абонент недоступен, звонок переадресовывается на другой номер.

    В этом примере и кроется основной принцип редиркета. То есть редирект – это очень хороший инструмент в умелых руках, но злоупотреблять им не стоит. Вот, что по этому поводу думает Яндекс.

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

    Сайт переехал на новый домен.

    Скажем, если по каким-то причинам вы решили перенести свой сайт с одного домена на другой и при этом вы не хотите терять трафик, то следует настроить редирект на старом домене и всё будет хорошо.

    Сайт имеет одинаковый домен в разных доменных зонах.

    Допустим, ваш сайт имеет доменной имя vashsite.ru и vashsite.com. Так вот можно настроить редирект с одного домена на другой и наоборот.

    Смена движка сайта (CMS).

    У каждой CMS есть свои слабые и сильные стороны. А также каждая платформа по-своему формирует . И раз так, то при переезде, старые адреса страниц будут недоступны. И если ваш посетитель сохранил ссылку, то не сможет перейти на сайт, так как старые адреса страниц будут недоступны. И в этом случае на помощь приходит редирект.

    Необходимость отслеживания переходов по ссылкам.

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

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

    Коды 3хх редиректа

    300 – множественный выбор – вид редиректа, когда затребованный адрес страницы имеет более одного варианта. Такой вид редиректа может быть реализован, когда на выбор представлена страница с разной кодировкой или разным языком.

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

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

    303 – смотри дугой ресурс – заращиваемый ресурс не найден, но это следует заращивать с использованием метода GET. То есть это редирект используется, если нужно менять метод запроса (GET, POST, HEAD).

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

    305 – используй прокси – то есть доступ к ресурсу может быть организован только через прокси-сервер.

    306 – на данный момент не используется.

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

    По большому счёту наиболее часто можно встретить 301 и 307 редирект. Остальные используются постольку-поскольку.

    Методы создания редиректа

    Разберём основные методики создания редиректа.

    На основе PHP

    И загружаете это файл на сервер к вашему сайту. Можно сделать отдельную папку для таких файлов.

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

    Ещё несколько примеров:

    Временная переадресация на главную страницу сайта.

    Переадресация с задержкой в 5 секунд на главную страницу Яндекса.

    На основе HTML

    Принцип создания тот же, но файл должен быть с расширением html. В это файл добавьте вот это код:

    Где, content – время задержки перед переадресацией.

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

    Уважаемый ….!
    Сейчас Вы будете перенаправлены на страницу деталей вашего заказа. Если этого не произошло автоматически, пожалуйста, нажмите перейти.

    На основе JavaScript

    Создаёте файл с расширением html и вставляете вот это код:

    location="http://ВАША ССЫЛКА ";

    Через файл.htaccess

    Этот файл содержит инструкции к веб-серверу Apache. Как правило, этот файл будет находиться в корневой папке вашего сайта. Хотя может находиться и в некоторых других папках.

    Так вот если вы укажите в этом файле вот такой код,

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

    А теперь видеоурок

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

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

  • при склеивании зеркал сайта с www и без www;
  • при переезде сайта на новый домен;
  • при переносе сайта на новую CMS;
  • при изменении URL-адресов страниц;
  • при устранении дублей страниц сайта.
  • Как ни странно, последний случай рассматривают крайне редко, хотя при устранении дублей 301 редирект помогает как никто другой, если, конечно, у вас нет желания ковырять код самой CMS. А если вы занимаетесь поисковой оптимизацией сайтов, то вопрос наличия или отсутствия дублей у страниц сайта обязательно должен вас волновать.

    301 редирект замечателен тем, что он передает pr-страниц и сайта, а соответственно и ссылочный вес новому URL. Но зато он не передает наложенные на старый домен санкции со стороны поисковых систем, что вдвойне приятно.

    Итак, с тем, что такое 301 редирект, разобрались. Перейдем непосредственно к тому, как его сделать.

    Как настроить 301 редирект

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

    • ^ — ограничение слева;
    • $ — ограничение справа;
    • * — 0 и более символов;
    • + — 1 и более символов;
    • . — любой символ;
    • \ — экранирование;
    • () — переменная;
    • — диапазон значений.

    Существуют различные способы того, как сделать 301 редирект. Лично я, как и многие другие вебмастера, настраиваю его через файл.htaccess. Данный файл есть практически у каждой популярной CMS, и находится он в корне вашего сайта. Скачать.htaccess можно через при помощи клиента FileZila:

    Файл.htaccess следует открыть текстовым редактором, к примеру, Notepad++. Поверх всех кодов редиректов вам следует прописать следующую строку:

    RewriteEngine On

    В противном случае редиректы работать не будут.

    Многие ошибочно полагают, что можно обойтись и без 301 редиректа. Я могу вам сказать, что он необходим при оптимизации практически каждого сайта. К примеру, абсолютно каждый сайт изначально доступен по двум адресам — с www и без www. Беда в том, что это приводит к размыванию ссылочной массы. Объясню почему. Другим сайтам абсолютно все равно, какой из двух вариантов написания вашего домена является основным. Если они будут ставить на вас ссылки, то в адресе могут прописывать как вариант с www, так и без www. Ссылочная масса в итоге будет размыта, а поисковики в любом случае будут индексировать только один вариант. Когда-то так они вообще воспринимали их как совершенно разные сайты.

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

    С www на без www:

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

    С без www на www:

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

    Если приведенные выше коды редиректа не сработают, то воспользуйтесь следующей записью для редиректа с www на без www:

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

    Помните, что вместо site.ru нужно прописывать домен вашего сайта. После проделанных действий сохраните файл.htaccess и закачайте его на сервер, заменив им старый файл.

    301 редирект очень часто выручает меня, когда я борюсь с дублями страниц сайта. А это я делаю практически каждый раз, когда выполняю внутреннюю оптимизацию очередного сайта. Лично я еще не встречал CMS, которая бы не генерировала дубли. Хотя если речь идет о небольшом сайте, то бывают исключения. Понятия не имеете, о чем я сейчас говорю? Тогда подписывайтесь на , вскоре я напишу о дублях целую статью.

    Бывает такое, что страница сайта доступна сразу по двум URL-адресам вида: http://site.ru/category/page.html и http://site.ru/page.html. В данном случае идет речь о дублях. К примеру, мы хотим, чтобы страница была доступна только по адресу второго вида. В таком случае для избавления от дубля необходимо прописать следующий редирект:

    RewriteRule ^(.*)category/page.html$ http://site.ru/page.html

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

    RewriteRule ^(.*)old-page.html$ http://site.ru/new-page.html

    Если приведенный выше код редиректа не сработает, попробуйте следующий:

    RewriteRule ^old-page.html$ http://site.ru/new-page.html

    Или такой:

    RewriteRule ^old-page.html$ /new-page.html

    Если требуется сделать редирект со старого URL-адреса на кириллице на новый URL-адрес (хоть на кириллице, хоть на латинице), то запись будет иметь вид:

    RewriteRule ^старый-урл.html /new-page.html

    Как вы понимаете, выше мы рассматривали редиректы с одного URL на другой в пределах одного сайта . Для этого мы использовали mod_rewrite и директиву RewriteRule. Но можно обойтись и более простым вариантом записи редиректа при помощи директивы Redirect:

    Redirect 301 /old-page.html http://site.ru/new-page.html

    Оба варианта записи редиректа корректны и передают ссылочный вес и другие показатели. Они отличаются лишь тем, что используют директивы разных модулей, и поэтому имеют различный синтаксис. При использовании директивы Redirect сначала прописывается старый адрес страницы без http://site.ru, а затем новый адрес полностью.

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

    RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1 RewriteCond %{HTTP_HOST} ^old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1

    Аналогичный редирект с использованием директивы Redirect:

    Redirect 301 / http://new-domen.ru

    Можно прописать 301 редирект URL с параметром на любую другую страницу сайта , к примеру, главную:

    RewriteCond %{QUERY_STRING} ^cPath=373_703 RewriteRule ^index\.php$ http://site.ru/?

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

    Редирект с site.ru/index.php на site.ru (избавляемся от дубля главной страницы):

    RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site.ru/

    В результате наличия у главной страницы сайта дубля вида site.ru/index.php аналогичные дубли могут появляться и у внутренних страниц сайта, к примеру, site.ru/index.php/page.html является дублем страницы site.ru/page.html. В данном случае все дубли такого вида разом можно устранить при помощи редиректа:

    RewriteRule ^index\.php/(.*)$ /$1

    Если у главной страницы вашего сайта есть дубль вида site.ru/main.html , то следует прописать следующий редирект:

    RewriteEngine On RewriteCond %{THE_REQUEST} ^{3,9}\ /main\.html\ HTTP/ RewriteRule ^main\.html$ http://vash-sait.ru/

    или же такой вариант:

    Redirect 301 /main.html http://site.ru/

    Теперь представим ситуацию, что вы хотите, чтобы все внутренние страницы сайта были доступны только по адресу с.html на конце . Тогда следует прописать следующий редирект:

    RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?) RewriteRule .* %1.html RewriteRule ^(.*)/$ /$1.html

    Если же наоборот вы хотите, чтобы все внутренние страницы сайта имели адрес без.html на конце , то есть адрес вида site.ru/page, то следует прописать редирект:

    RewriteCond %{REQUEST_URI} \.html$ RewriteRule ^(.*)\.html$ /$1

    Если стоит задача редиректа с URL-адресов с.htm на конце на адреса с.html на конце , то в.htaccess следует добавить следующую запись:

    RewriteBase / RewriteRule ^(.*)\.htm$ $1.html

    Возможно, вам потребуется сделать редиректы с URL-адресов без суффиксов на адреса со слэшем на конце . Тогда в файле.htaccess следует прописать следующее:

    RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\..+$ RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) http://www.site.ru/$1/

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

    RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1

    Чтобы прописать редирект с URL-адреса с параметром вида http://site.ru/?page_id=111, добавьте в.htaccess следующее:

    RewriteCond %{QUERY_STRING} page_id=111 RewriteRule ^ http://site.ru/new-page/

    Также совсем недавно столкнулся с сайтом, для которого был получен сертификат о его безопасности, и было необходимо прописать редирект с http на https :

    RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

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

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

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

    Чтобы окончательно убедиться в том, что 301 редирект настроен верно, рекомендую также проверить ответ сервера при помощи специальных сервисов, к примеру, 2ip.ru , а еще лучше воспользуйтесь программой Netpeak Spider, при помощи которой можно узнать еще и много другой информации о сайте. Ответ сервера должен быть «301 » или же «301 MovedPermanently -> 200 OK».

    Надеюсь, теперь Вы поняли, как правильно настраивать 301 редирект. Выше я привел достаточное количество различных примеров. Если не сработает один тип записи редиректа, скорее всего сработает другой. Пробуйте. От чего зависит, какая именно запись редиректа сработает, точно сказать не могу, так как не являюсь программистом. Возможно, от CMS или настроек сервера. Также иногда влияет расположение кода редиректа в файле.htaccess. Если редирект не срабатывает, попробуйте перенести его код чуть выше по файлу. На этом у меня все. Успехов в оптимизации сайтов!

    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.

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

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

    Редирект с помощью директивы 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.(.*)
    RewriteRule ^(.*)$ http://%1/$1

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

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.domain.com$
    RewriteRule ^(.*)$ http://domain.com/$1

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

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain.com$
    RewriteRule ^(.*)$ http://www.domain.com/$1

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

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

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

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

    PHP редирект

    ASP редирект


    ASP .NET редирект


    private void Page_Load(object sender, System.EventArgs e)
    {
    Response.Status = “301 Moved Permanently”;
    Response.AddHeader(“Location”,“http://www.new-url.com”);
    }

    ColdFusion редирект


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

    CGI PERL

    $q = new CGI ;
    print $q->redirect(“http://www.new-url.com/”);

    Ruby on Rails

    def old_action
    headers[“Status”] = “301 Moved Permanently”
    redirect_to “http://www.new-url.com/”
    end