Настройка услуги «Перенаправление домена. Альтернативные способы настройки переадресации. Простой редирект страницы на новый адрес

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

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

301 redirect действует на постоянной основе, передает со старой страницы на новую ссылочный вес, ТИЦ сайта и . Также, если сайт находится в каталоге Яндекс или DMOZ, страниц нового сайта в нем, разумеется, не будет. Помимо этого, используется 301 редирект на другой сайт, и перенаправление с одной версии сайта на другую. В частности так избавляются от проблем при индексации, возникающих из-за дублирования страниц сайта.

Избавление от дублей страниц также называют канонизацией.

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

При использовании некоторых CMS (систем управления контентом, или «движков» сайта) редирект можно настроить при помощи специальных плагинов. Однако более распространена практика настройки 301 редиректа посредством внесения изменений в файл.htaссess.

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

Для поисковой системы site.name и www.site.name – разные сайты. Один из них будет проиндексирован, второй же окажется дублем. Чтобы подобного не произошло, делают так называемое «склеивание» сайта. С сайта с «www» указывается перенаправление на сайт без «www». Это делается в файле.htaccess, с помощью следующей конструкции:

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

Если на начальном этапе этого не было сделано, и в индекс попала версия сайта с «www», стоит сделать обратное перенаправление.

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

Перенаправление на страницу с другим url

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

RewriteEngine On RewriteRule ^(.*)url.html$ http://vash-sait.ru/new-url.html

Перенаправление на другой домен

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

RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1 RewriteCond %{HTTP_HOST} ^staryy-sait\.ru$ RewriteRule ^(.*)$ http://novyy-sait.ru/$1

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

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

RewriteEngine On RewriteCond %{HTTP_HOST} ^vash-sait.com$ RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ RewriteCond %{REQUEST_URI} !^/robots.* RewriteRule ^(.*)$ http://vash-sait.ru/$1

Убираем расширение с помощью 301 редиректа

RewriteEngine on RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]

Перенаправление с index.php на главную

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

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

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

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

Редирект для url с параметрами

Если исходный адрес содержит какой-либо параметр (например, http://vash-sait.ru/articles.php?section=1. Параметр здесь "section=1"), то перенаправляющая конструкция будет иметь следующий вид:

RewriteEngine On RewriteCond %{QUERY_STRING} section=1 RewriteRule ^index.php http://vash-sait.ru/articles.php?

  • Разместил Николай Коротков
  • Дата: 29 ноября 2013 в 09:23

И снова здравствуйте!

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

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

А теперь обо всем по порядку. Что такое 301 редирект? Это обычное перенаправление посетителя на другую страницу или домен (о том, что такое домен и как его зарегистрировать, читайте ). Сразу скажу, в этой статье я не буду рассматривать различные скрипты и сложные коды, я лишь покажу несколько простеньких вариантов перенаправления, которые любому веб-мастеру будет знать более чем достаточно.

Как настроить 301 редирект? Редирект.htaccess

Мы с вами будем рассматривать 301 редирект через.htaccess. Htaccess является служебным файлом конфигурации, который скрывает в себе массу возможностей. С помощью него можно запретить доступ к отдельным каталогам, указать кодировку страниц, установить защиту файлов и папок, сделать 301 редирект и т.д.

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

Если вдруг в корневом каталоге вашего сайта не окажется данного файла, создайте его самостоятельно. Самый простой способ создания файла.htaccess, воспользоваться FTP — клиентом FileZilla (о нем я писал ):

Для этого перейдите в корневой каталог своего блога, нажмите в пустом поле правую кнопку мыши/Создать новый файл/Введите имя файла/.htaccess/ОК. После этого файл будет доступен для редактирования. Открыть его можно любым текстовым редактором, например .

Но бывают случаи, когда ftp — менеджер скрывает системные файлы, в том числе и.htaccess. Поэтому, если вы не обнаружите файл в корневом каталоге, не торопитесь его создавать. Для начала проверьте его наличие в скрытых файлах.

Для этого перейдите во вкладку «Сервер» и установите галочку напротив пункта «Принудительно отображать скрытые файлы». Если и в этом случае вы не найдете файл.htaccess, то тогда создайте его.

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

Начнем с самого главного!

Вообще, каждый ресурс в интернете должен иметь 301 редирект. И самым распространенным случаем, когда он просто необходим, является перенаправление с домена, имеющего приставку WWW на домен без нее или наоборот (www еще называют префиксом). Сейчас вкратце поясню, почему так происходит, чтобы каждый понимал, о чем идет речь.

Дело в том, что у любого ресурса в сети, один из вариантов доменного имени (с www или без www) должен быть главным. Вот простой пример относительно моего блога. Главным его доменом является http://сайт , а www.сайт — является его зеркалом. Главное зеркало блога, прописывается в файле robots.txt для Яндекса в виде директивы Host.

Если у вас нет файла robots.txt, обязательно изучите вот , там я все подробно расписал. Robots.txt в обязательном порядке должен присутствовать на каждом ресурсе. Иначе блог обречен на неудачу! Помимо robots.txt, вам необходимо указать главное зеркало сайта в Яндекс.Вебмастер.

Но так как в robots.txt оно уже указано, то я вам рекомендую оставить все на усмотрение робота. Для этого перейдите во вкладку «Настройки индексирования/Главное зеркало» и поставьте кругляшек напротив пункта «На усмотрение робота»:

Для того, чтобы воспользоваться данной функцией, вы должны быть зарегистрированы в Яндекс.Вебмастер. О том, как это сделать я писал . До недавнего времени в панели инструментов для веб-мастеров Google, была похожая функция, где указывался основной домен, но после внесения последних изменений разработчиками, она исчезла.

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

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

Что касается приставки www, то она давным-давно должна была отмереть. Но так как в сети до сих пор существует множество ресурсов с префиксом www, то она имеет место быть. Для поисковых систем http://сайт и www.сайт это два абсолютно разных адреса! Да и пользователи частенько в строку браузера вбивают адрес ресурса именно с www, поэтому отмирать ей пока рановато. Исходя из этого, настройки зеркала, просто необходимы!

Последствия от неверной настройки зеркала

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

1. Все внешние ссылки будут распределяться между адресами с www и без www, в зависимости от того, как на вас будут ссылаться сторонние ресурсы или пользователи. Получается, что ваш блог будет лишен части ссылок, что отрицательно скажется на его продвижении и посещаемости. Но это не самое страшное!

2. Все прекрасно знают, что поисковые системы постоянно борются за уникальность! Они ненавидят дублированный контент и жестоко наказывают сайты с одинаковым содержимым. А теперь представьте такую ситуацию, что ваш блог изначально был проиндексирован с приставкой www, но по мере развития ресурса, сайт без префикса www, получил большую популярность (о нем чаще упоминают и ссылаются на него).

Естественно, вы об этом даже и не догадываетесь и продолжаете развивать свой ресурс. Со временем он обрастет уникальным контентом, естественными ссылками и комментариями. Дела идут в гору, ну как тут не радоваться? Но вот беда! Поисковые системы, наблюдая за сайтом без приставки www, поставили на нем клеймо, за не уникальность! В итоге он перестанет индексироваться, а со временем полностью выпадет из индекса!

Вот это будет страшно и очень обидно! И чтобы избежать таких печальных ситуаций и был придуман 301 редирект.

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

Как настроить 301 редирект в этом случае? Все очень просто. Открываем файл.htaccess и копируем в него представленный ниже код.

Перенаправление с www на без www:

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

и наоборот:

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

Обратите внимание, что вместо vashdomen, в обоих случаях нужно указать доменное имя своего блога!

Сохраните файл.htaccess и переместите его обратно в корневой каталог с заменой старого файла. Теперь, как бы пользователь не вбивал адрес вашего блога в строку браузера (хоть сайт , хоть www.сайт , хоть http://www.сайт ), его в любом случае перенаправит на главную страницу.

Переезд с одного домена на другой

Аналогичной схемой редиректа 301, приведенной выше, можно воспользоваться при переезде с одного домена на другой. Но все же для наглядности приведу пример. Вы переезжаете с домена sait-1.ru на домен sait-2.com . В этом случае прописываем в файле.htaccess следующее:

RewriteEngine On RewriteCond %{HTTP_HOST} sait-1.ru RewriteRule (.*) http://sait-2.com/$1
Редирект при изменении ЧПУ ссылок

Иногда случается необходимость изменить ЧПУ ссылки (о них читайте ). Возможно, вы решили поменять целый раздел (категорию) на своем блоге. Или же банально ничего не знали о ЧПУ, а блог уже ведется и наполняется контентом. В этом случае, как нельзя кстати поможет 301 редирект. Причем, при таком раскладе, все показатели страницы (ранее проставленные ссылки, вес, PR) останутся на прежнем уровне, т.е. не потеряют свою значимость, авторитетность и позиции!

Приведу простой пример. Вы решили изменить название страницы. Старое имя страницы имело вид obo-mne.html , новое имя ob-avtore.html . В этом случае вам нужно будет прописать в файле.htaccess следующую конструкцию:

Редирект для партнерских программ

Допустим, вы решили перенаправить пользователя на страницу с партнерской программой. Код партнерки выглядит следующим образом: http://www.partnerka.ru/?ref=35677. Увидев такую ссылку, большинство пользователей не будут по ней переходить, заранее зная о ваших намерениях.

Для того, чтобы ссылка приняла привлекательный вид, вам необходимо создать отдельную страницу, например dlya-partnerov.html, с которой и будет идти перенаправление пользователя на страницу с партнерской программой. Теперь останется разместить ссылку на страницу vashdomen.ru/dlya-partnerov.html, а в файле.htaccess прописать следующее:

redirect 301 dlya-partnerov.html http://www.partnerka.ru/?ref=35677

Но лично я для таких целей предпочитаю пользоваться несложным скриптом, о котором рассказывал (способ №3).

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

Как вам статья? А вы используете 301 редирект? Возможно, вам известны более легкие способы перенаправления? Жду ваши комментарии!

Понравилась статья? Поделись с друзьями!

Каждому комментатору книга в подарок!

Книга включает в себя подробное описание самых эффективных методов продвижения вашего ресурса!


60 комментариев

  • 29 ноября 2013 15:20

    Прочитал и нифига не понял...Для таких как я остается только одно, найти человека, сказать, чтобы настроил редирект 301 и довериться, что он все сделал =))))

    Значит все-таки толково не получилось объяснить...

    Нет, нет, всё очень толково и понятно написано — спасибо!

    Просто многие ленятся выполнять рекомендации, многие не придают своим проектам серьёзного значения, вот и не доводят до ума. А по некоторым вопросам есть противоречивые рекомендации. Так, в robots.txt указание о главном зеркале сайта рекомендуют помещать в начало файла, затем идёт пустая строка, затем остальные данные. Насколько это верно не берусь судить, но автор этой рекомендации активно настаивает на таком порядке заполнения robots.txt, и где здесь начинающим разобраться?

    Почему сразу ленятся? Если у Вас мозг заточен, чтобы сидеть и выковыривать коды, то у других этого дара нет и чтобы вообще не завалить все либо не делают, либо, как в моем случае, я обращусь к специалисту и он мне все настроит...Так что...

    Тёзка, не о Вас речь!

    Вы специалист СВОЕГО дела, которым настоятельно рекомендуется рутинно-техническую работу делегировать.

    Так что — творите, и не заморачивайтесь на то, что Вас отвлекает от основного дела.

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

  • 30 ноября 2013 11:12
  • 30 ноября 2013 16:02
  • Анна 30 ноября 2013 19:59

    Наконец-то поняла, что такое редирект, особенно на примерах все хорошо объяснено. И вообще, ценю статьи Николая за то, что в них понятным языком написано что это, для чего это надо и как это самое воплотить в жизнь.

    По теме данной статьи остался один вопросик: если вводим доменное имя с www и без и попадаем на главную страницу сайта, значит редирект настроен и ничего прописывать не надо или же в любом случае нужно прописать указанный в статье код в файл.htaccess, если его там не наблюдаем?

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

    Это получается, кто с www не пишет, все равно попадает на сайт?

    Я просто думал, что это функционал самой CMS, и не думал об этом никогда...

    Александр

    Верно! Для этих целей и настраивается 301 редирект. В самой CMS этого не заложено.

    А как я узнаю, если это перенаправление перестанет работать? Сейчас все отлично!

  • Елена 1 февраля 2014 22:55

    Что-то писала комент, а не отправился — жаль. тот длиннее был.

    В общем я читала, читала и ничего до меня не дошло.

    Подскажите, как сделать редирект каждой страницы?

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

    Покажите пример на своем сайте одной страницы на другой — как тут правильно ставить, а то я делала (инфу нашла в инете) и ничего не вышло.

    Redirect 301 /старая страница.html site.com/новая страница.html

    Redirect permanent /старая страница.html site.com/новая страница.com/

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

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

    redirect 301 vse-stati-bloga.html сайт/moi-kursy

  • Павел 25 марта 2014 23:37

    А у меня в файле.htacces прописан только вот такой код

    # BEGIN WordPress

    RewriteEngine On

    RewriteRule . /index.php [L]

    что мне изменить? Файл составлен не правильно?

  • 29 апреля 2014 10:39

    Николай, добрый день!

    Перевожу на wp самописный сайт визитку в 15 страниц. Сайту 3 месяца, но уже есть тиц 10, небольшая тематическая посещаемость, поэтому сносить все в ноль не хочется. Новый сайт на wp установлен и настроен, стравые странички болтаются на сервере параллельно, но пользователю не видны.

    Насколько я понимаю, мне подойдет редирект для ЧПУ, после настройки которого можно будет либо перенести старый контент, либо написать аналогичный новый и рукописную страницу можно будет с сервера снести или как?

    Подскажите, пожалуйста, тестирование редиректа — это просто переход по старому адресу, и увидеть, что все корректно открывается на новой странице? Значит ли это, что поисковики увидят это в таком же свете?

    Заранее большое спасибо!

    Здравствуйте, Ирина!

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

    Николай, благодарю за скорый ответ!

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

    Проверила код ответа сервера — там меня ждал сюрприз

    Вместо 200ОК — 301 редирект. Открыла htaccess. и чтоб Вы думали? Там стандартный, судя по всему набор:

    # BEGIN WordPress

    RewriteEngine On

    RewriteRule ^index\.php$ — [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule . /index.php [L]

    Подскажите, мне, не обращая внимания на ответ сервера настроить редирект через 301 ?

    Заранее спасибо!

    Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение. Стандартное правило в файле.htaccess как раз таки и отвечает за редирект. Так, что ответ сервера в этом случае показан верно, в дальнейшем редирект можно будет убрать и удалить старые страницы с сервера.

    Да, я поняла, только не совсем ясно, откуда взялся этот редирект, ведь я его не ставила и как он реализовался, если htaccess. его нет... Видимо, как -то автоматически проставился системой, после того, как я создала индексную страницу в wp, а старую рукописную удалила. Сейчас пропишу редирект на остальные страницы в htacess вручную.

    Спасибо Вам за статью.

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

    Простите, ещё забыла уточнить, куда строчку

    redirect 301 obo-mne.html vashdomen/ob-avtore

    пристроить в уже готовой конструкции

    # BEGIN WordPress

    RewriteEngine On

    RewriteRule ^index\.php$ — [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule . /index.php [L]

  • Ирина 29 апреля 2014 20:26
  • Ирина 19 мая 2014 22:34

    Николай добрый вечер!

    Снова нужна Ваша помощь!

    В последний ап яндекс выбрал главным зеркалом сайт.ру с www (а так как было без www, обнулился тиц!)

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

    redirect 301 /файл.html сайт.ru/новое название рубрики/

    # BEGIN WordPress

    RewriteEngine On

    RewriteRule ^index\.php$ - [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule . /index.php [L]

    Пробовала пристроить перенаправление и перед строчкой # END WordPress и в самом верху файла

    — выдает ошибку перенаправления,пишет, что оно никогда не закончится…

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

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

    Что такое редирект в 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-ым редиректом (переадресацией) вы обязательно столкнетесь при склейке зеркал сайта с префиксом WWW и без него, в случае переезда сайта на новый домен, с HTTP на HTTPS, переноса страницы в другой раздел сайта и изменения ее адреса. Во всех этих случаях важно сохранить позиции и трафик, перенаправляя его на новые страницы. Как это сделать? Предлагаем техническую инструкцию.

    Код состояния HTTP 301 (Moved Permanently или 301 редирект) - это стандартный код ответа сервера , который сообщает, что запрашиваемый ресурс перемещен и получил новый URL.

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

    Настроить 301-й редирект можно разными способамипомощью HTML, PHP, плагинов для CMS, скриптов), но самый надежный и простой вариант - с помощью.htaccess (для Apache) или web.config (для IIS).

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

    Htaccess - это файл дополнительной конфигурации веб-сервера Apache, с помощью которого можно задавать настройки на уровне отдельных каталогов. В отличие от главного файла конфигурации httpd.conf , директивы в.htaccess распространяются только на тот каталог, где он размещен, и на дочерние каталоги.

    Если в корневой папке вашего сайта нет файла.htaccess, его нужно создать и загрузить с помощью FTP-клиента. Теперь можно приступать к настройке.

    Когда вам требуется сделать редирект с текущего домена на другой (например, при переезде сайта), можно использовать директивы модуля mod_alias. Пропишите в.htaccess следующую директиву (вместо newsite.ru укажите ваш новый домен):

    Redirect permanent / http://newsite.ru/

    Redirect 301 / http://newsite.ru/

    Приведем еще примеры настройки переадресации 301.

    Редирект со страницы page1.html на страницу page2.html :

    Redirect 301 /page1.html site.ru/page2.html

    Редирект с главной страницы сайта на страницу каталога /cat :

    Redirect 301 / site.ru/cat

    Редирект с каталога /cat на главную :

    Redirect 301 /cat site.ru

    Редирект часто используют для склеивания зеркал. В этом случае применяется модуль mod_rewrite. Например, если вы хотите, чтобы шел редирект , то пропишите такие строки (где yoursite.ru - ваш домен):

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

    И наоборот - редирект с домена без www на домен с www :

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

    Редирект всех страниц сайта при переезде с http на https :

    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}

    Если не сработает, можно попробовать такой вариант:

    RewriteEngine On
    RewriteCond %{HTTPS} =off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    Также 301 редирект используется в борьбе с дублями страниц. Приведем несколько примеров.
    Для поисковых систем URL http://www.yoursite.ru/ и http://www.yoursite.ru являются разными. Поэтому надо решить, какой тип использовать: со слешем в конце или без него. Для того чтобы убрать слеш в конце URL , пропишите правило:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} (.*)
    RewriteCond %{REQUEST_URI} /$
    RewriteRule ^(.*)(/)$ $1

    Добавить слеш можно таким образом:

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

    Для того чтобы заменить все.htm файлы.html файлами , пропишите следующие строки:

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

    Если вы прописываете несколько директив, то строка «RewriteEngine on » указывается один раз - с ее помощью включается модуль mod_rewrite .

    Если вы создаете файл.htaccess с нуля, то все команды указываются внутри таких строк:



    Например, так будет выглядеть файл.htaccess с двумя редиректами: с www на без www и со страниц без слеша на страницы со слешем в конце:

    Настройка редиректа в web.config

    Вариант редиректа с помощью.htaccess работает только для Apache. Для веб-сервера IIS настраивать переадресацию нужно в файле web.config . Например, редирект с одной страницы (yoursite.ru/page.html) на другую (yoursite.ru/page2.html) будет выглядеть так:








    301 редирект с домена с www на домен без www настроить можно таким образом:















    Альтернативные способы настройки переадресации

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

    Синтаксис следующий:

    В этом случае происходит принудительная передача кода HTTP-ответа 301, и пользователь перенаправляется на страницу http://newsite.ru/.

    Если у вас небольшой сайт с парой страниц, то редирект можно сделать с помощью HTML:

    Изменяя цифру 0 , вы задаете количество секунд до переадресации. В этом случае редирект реализуется не на стороне сервера, а на стороне клиента (не передается заголовок 301).

    Также редирект можно сделать с помощью JavaScript:


    window.location.replace("newsite.ru");

    В этом случае также не передается заголовок 301. И если у пользователя в браузере отключена поддержка JavaScript, то редирект не сработает.

    Вариантов редиректов бесчисленное множество. Упростить работу можно с помощью генераторов редиректов. Это онлайн-сервисы, которые выдают готовые коды, - вам нужно лишь указать, откуда и куда перенаправить пользователя. Вот некоторые из этих сервисов: www.webconfs.com , www.rapidtables.com , www.htaccessredirect.net .

    Как настроить редирект, если нет опыта веб-программирования?

    Настройка редиректа - сложная техническая задача, для выполнения которой не обойтись без профильных знаний. Если вы не владеете навыками разработки и программирования, и у вас под рукой нет штатного программиста, можно воспользоваться поддержкой хостинг-провайдеров. Многие из них предлагают услугу web-форвардинга (или «переадресация домена», «URL-форвардинг» и т. п.). Она позволяет настроить переадресацию с одного URL на другой. При этом используется 301 редирект.

    Другой вариант - настройка редиректов с помощью плагинов для популярных CMS. Так, для WordPress есть плагины Redirection, Safe Redirect Manager, Simple 301 Redirects, а в Joomla! и Wix есть встроенные инструменты редиректа.

    Не уверены, что сможете правильно настроить редиректы своими руками? Лучше не рисковать - в системы PromoPult за вас все сделают профессиональные вебмастера.

    Заключение

    Лучший способ настроить 301 редирект - с помощью.htaccess. Но он подходит только для веб-серверов Apache. Для IIS придется настраивать web.config. Если же нужно не просто сделать редирект, а учесть определенные условия, то используйте PHP, но в этом случае без помощи программиста не обойтись.

    Есть и другие способы (в частности, с помощью HTML и JavaScript), но это не 301 редирект, а просто перенаправление без передачи веса. Также можно использовать плагины для популярных CMS или подключить услугу web-форвардинга, если ее оказывает ваш хостинг-провайдер.

    Также стоит понимать, что не всегда есть смысл использовать 301-й редирект. В некоторых случаях лучше подойдет, например, атрибут rel=“canonical”.

    Какой бы вариант вы ни выбрали, главное, чтобы он правильно работал. Проверить корректность редиректов на вашем сайте (как и многие другие аспекты работоспособности сайта) можно посредством от PromoPult.

    Что такое 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-го редиректа на своем сайте, можете обратиться за помощью к нашим специалистам. А все вопросы пишите в комментарии к статье.

    Понравилась статья? Поделиться с друзьями: