Переменные в адресе 301 редирект. Обратный редирект с домена без www. на домен с www. Постоянная переадресация при изменении URL страниц

  • 28.07.2019

Если вы хотите изменить URL-адрес страницы, отображаемый в результатах поиска, рекомендуется использовать переадресацию 301 (301 Permanent Redirect), выполняемую сервером. Это самый лучший способ обеспечить переход пользователей и поисковых систем на нужную страницу.

Код статуса 301 означает, что запрашиваемая страница окончательно перемещена в новое местоположение.

На самом деле существует несколько редиректов. О том как сделать 301 редирект можно посмотреть на инфографике.

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

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

  • При смене домена. Вы переместили свой сайт в другой домен и хотите, чтобы казалось, будто перехода и вовсе не было.
  • Для передачи новому домену Page Rank и тИЦ.
  • Для сохранения поискового трафика.
  • Пользователи могут получить доступ к сайту, используя несколько различных URL-адресов. Например, попасть на страницу можно несколькими способами: //site.ru/sub , //sub.site.ru или //www.site.ru . Бывает удобно выбрать один из этих URL-адресов в качестве канонического (основного) и использовать переадресацию 301 для перенаправления на него трафика с других URL. Для настройки можно использовать «Инструменты для веб-мастеров».
  • При объединении двух сайтов требуется, чтобы все ссылки на устаревшие страницы указывали на страницы, действующие в данный момент.
  • При переносе страницы сайта в новое место.
  • Для склейки имени сайта с префиксом www и без него.
  • Статья по теме: Яндекс заменяет тИЦ на ИКС - новый показатель качества сайта

    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 .

    Для этого поместите в корне папке вашего сайта файл.htaccess. Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias Redirect 301 /old-page.html //new-domain.ru/new-page.html

    Redirect permanent /old-page.html //new-domain.ru/new-page.html

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

    RedirectPermanent /old-url.html //new-site.ru/new-url.html

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

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

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

    Редирект с помощью директивы RewriteRule модуля mod_rewrite

    Для использования директивы RewriteRule необходимо удостовериться, что в httpd.conf подключен модуль mod_rewrite , а также влючена опция FollowSymLinks . Использование реврайт модуля дает много возможностей для перенаправления страниц на новые адреса.

    Статья

    Код ответа 301 (Moved Permanently) означает, что запрошенный документ теперь доступен по новому адресу на постоянной основе. Редирект 301 может понадобиться в нескольких случаях: переезд на новый домен, изменение адреса страницы или . Цели этих мероприятий вполне прозрачны:

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

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

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

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

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

    Также его можно использовать для борьбы с дублями страниц. В общем нужно писать книгу на тему «99 способов использование Redirect 301». Вот его синтаксис:

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

    Ну или так, результат будет один и тот же:

    Redirect permanent /old-page.html http://new-domain.ru/new-page.html

    Поясняю: /old-page.html - относительный адрес старой страницы. Он может быть вложенным: /old-category/old-page.html, ну или таким: /old-category/old-page/ - тут никаких ограничений нет. Тоже самое относится к http://new-domain.ru/new-page.html (новой странице), с той лишь разницей, что путь тут абсолютный (не обязательно, чтобы это был новый домен - может быть просто новый внутренний адрес страницы).

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

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

    Options +FollowSymLinks
    RewriteEngine on

    RewriteEngine off

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

    В данном примере мы установили редирект всех страниц старого домена на страницы нового (при условии, что их относительные адреса совпадают). При этом мы оставили без редиректа на старом домене файл robots.txt, чтобы процесс переноса был более полноценным. В него мы прописываем:

    User-agent: *
    Disallow:
    Host: newsite.ru
    Sitemap: http://newsite.ru/sitemap.xml

    Ну и ждём пару месяцев, пока переезд домена не будет зачтен, а все характеристики - переданы.

    Склейка зеркал сайта: 301 редирект c www на без www и наоборот

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

    Эти дубли мешают индексации сайта и продвижению в целом, так как, во-первых, это банальные дубли страниц (уж извиняюсь за повторение) и, во-вторых, входящие ссылки будут также укладываться в разные корзины. Тоже самое касается и дублей главной страницы: site.ru, site.ru/index.html, site.ru/index.php и т.д. По этой причине еще на этапе создания сайта желательно позаботиться об этом вопросе и одну из версий сайта (например, c www) переадресовать на другую (например, без www). Если момент был упущен, то тут нет ничего страшного.

    Рассмотрим процесс склейки зеркал с помощью 301 редиректа поэтапно.

    1. Определяем основной домен, выбранный для индексации поисковыми системами.

    Основное зеркало можно легко определить по результатам поисковой выдачи Яндекс и . Вводим название домена и смотрим, какой адрес отобразится: www.site.ru или site.ru. Если же сайт еще не проиндексирован, то выбираем его по своему усмотрению. Если в Google и Yandex основные домены разные, то лучше оставьте Яндексовский.

    2. Прописываем 301 редирект в.htaccess.

    Находим в корне FTP сайта файл.htaccess, скачиваем и открываем в блокноте, а затем вносим в него необходимые изменения. Первый вариант - 301 редирект домена без www на с www:

    Options +FollowSymLinks
    RewriteEngine On

    RewriteEngine off

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

    Обратная ситуация - с www на без www:

    Options +FollowSymLinks
    RewriteEngine On

    RewriteEngine off

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

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

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


    RewriteRule ^index\.html$ http://www.site.ru/

    RewriteRule ^index\.php$ http://www.site.ru/

    Ну и, опять же, если у вас site.ru:

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

    3. Настройка robots.txt

    Увидели знакомую директиву, оставляющей robots.txt нетронутым? Все верно, вносим изменение в robots.txt:

    Host: основное-зеркало.ru

    4. Проверяем работу сайта.

    Вводим тот адрес, который с которого мы проставляли редирект, например www.site.ru или site.ru/index.html и если при заходе на него происходит переход на site.ru, то всё настроено правильно.

    5. Настройка Yandex и Google вебмастер.

    Дополнительно применяем соответствующие настройки в личных . В случае с Yandex:

    Ну и для Google:

    На этом вроде всё. Удачи вам и если появятся вопросы, то пишите в комментариях.

    • Разместил Николай Коротков
    • Дата: 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 и в самом верху файла

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

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

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

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

    Что такое 301 редирект и когда его надо применять?

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

    Технически это не что иное как HTTP ответа сервера, имеющий код 301, который информирует о том, что прежний изменен навсегда (moved permanently). На практике это выглядит так. При вводе старого адреса в поисковую строку браузер автоматически перенаправляет пользователя на новый урл, являющийся после настройки переадресации целевым объектом.

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

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

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

    После правильной настройки redirect 301 на страничку с новым URL со старого документа будет направлен весь накопленный им траст, включая ссылочный вес, передаваемый обратными ссылками, а также трафик посетителей, некоторая часть которого вполне может включать уже приобретенных вами клиентов или постоянных подписчиков.

    Но обращаю ваше внимание на следующее. Редиректы (особенно, в массовом количестве) не всегда благо, потому не следует бездумно их использовать. Конечно, поисковики нормально учитывают permanent redirect (и передача всех характеристик со старого URL на новый тому порукой).

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

    Постоянная переадресация при изменении URL страниц

    В ходе развития проекта могут возникать ситуации, когда необходимо реорганизовать его структуру. Скажем, перенести некоторые статьи в другие разделы (если, конечно, они выводятся через рубрики, например), заменить постоянные ссылки на либо просто добавить в состав URL ключевые слова, которые были упущены ранее. Во всех этих случаях можно применить permanent redirect, но сначала оцените состояние своего ресурса.

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

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

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

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

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

    Дубли страниц (зеркала) сайта со слешем и без на конце, а также с index.php

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

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

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

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

    Возникновение подобных дублей с окончанием index.php и/или index.html, index.htm (в зависимости от настроек сервера), а также со слешем на конце и без него, связано со структурой урлов, по которым осуществляется переход на ту или иную папку на сервере. Если URL оканчивается слешем «/» , то это команда для серверного обработчика отобразить именно содержание директории (папки), которая включает находящиеся в ней файлы:

    Http://site.ru/folder/

    А вот ежели слеш отсутствует , то происходит обращение к файлу:

    Http://site.ru/folder

    В этом случае веб-сервер будет искать именно файлик с названием «folder». Поскольку на серверах в основном используются Unix-подобные операционные системы (чаще Linux), в которых расширение для файлов, идущее после его наименования и точки, не является обязательным (этим они отличаются от Windows), то это вполне логично.

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

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

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

    Http://site.ru/

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

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

    Http://site.ru/index.php

    Кстати, это же справедливо и для других вебстраниц, например, категорий (рубрик):

    Http://site.ru/category/index.php

    А это уже дубли, которые нужно во что бы то ни стало ликвидировать посредством того самого перманентного редиректа в.htaccess. Решение этой задачи не только в отношении урлов с окончанием index.php, но и других вариантов, обязательно предоставлю в последней части статьи.

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

    Причем, это касается всех вебстраниц, включая те же категории:

    Http://site.ru/category http://site.ru/category/

    или статьи (записи):

    Http://site.ru/category/entry http://site.ru/category/entry/

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

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

    Многие вебмастера, например, предпочитают адреса страничек с расширением.html на конце, которые имеют завершающий вид, привычный для пользователей, у подавляющего большинства которых установлена ОС Виндовс (где наличие расширения является обязательным).

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

    Желательно сыграть на опережение и не ждать, пока Яндекс или Гугл сами определят основное зеркало. Ведь вы не будете знать, какому именно поисковики выказали предпочтение. А такая ситуация может сильно замедлить раскрутку веб-ресурса.

    Ведь ПС исключат из индекса страницы неосновного зеркала (совершенно нерентабельно забивать БД кучей бесполезного контента), на которые, возможно, были направлены ваши усилия по продвижению. Это чревато потерями позиций в выдаче, а, следовательно, трафика и траста. Жуть.

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

    Проверка наличия постоянного редиректа для каждого из дублей сайта

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

    //goldbusinessnet..com/optimizatsiya-i-raskrutka-saita/index.php

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

    Но есть и более продвинутые способы проверки склейки доменов и наличия редиректа. К таковым относится, например, возможность спросить у самих поисковых систем, ради которых вебмастера и проводят подобную оптимизацию. Например, чтобы проверить, присутствует ли переадресация от урлов с index.php на URL без этого окончания, для Яндекса необходимо ввести в поисковую строку вот такой запрос:

    Url:сайт | url:сайт/index.php

    После нажатия кнопки «Найти» вы получите ответ. Если присутствует один результат (как на скриншоте ниже), то все «ОК». Иначе говоря, редирект осуществлен:


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

    Но самым надежным методом проверки является, на мой взгляд, получение ответа сервера. В этом случае вы получите код статуса HTTP, по которому сможете оценить корректность установленной переадресации или ее полное отсутствие. Воспользуемся для этого специальным сервисом Яндекса , введя тестируемый урл и нажав кнопку «Проверить»:


    В итоге узнаем, что для URL с окончанием index.php основной робот Яндекса получил ответ «301 Moved Permanently», что и требовалось доказать. Таким же способом можно проверить перманентный редирект для любой группы страничек вашего сайта. Кстати, и поиск Google также можно задействовать (об этом в статье про домены с WWW и без также упомянуто).

    Как сделать 301 редирект через htaccess

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

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

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

    Доступ к этому файлу можно легко получить по , задействовав соответствующий софт в виде того же Файлзилла. Ну а вносить изменения в него желательно не в простом редакторе, а в "золотом", то бишь в , где есть возможность осуществить откат на несколько шагов назад:


    Если вдруг на сервере, где хостится ваш сайт, этого файлика не оказалось, его можно создать самому. Сделать это можно прямо на сервере через ту же программу NotePad++, которая также поддерживает возможность подсоединения по FTP-протоколу.

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

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

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

    Теперь посмотрим, как настроить 301 редирект через.htaccess для каждого конкретного случая. Для этого нам понадобится воспользоваться услугами модуля mod_rewrite , который и предназначен для преобразования URL на серверах Apache.

    По умолчанию обычно от отключен. Чтобы включить этот модуль, требуется прописать в файл.htaccess «RewriteEngine on» :

    RewriteEngine on

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

    Options +FollowSymLinks RewriteEngine on RewriteBase /

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

    Вторая, как я уже сказал, включает сам модуль mod_rewrite. Ну а третья (RewriteBase / ) позволяет обрезать полный путь от корня сервера до корневой директории сайта с тем, чтобы последующие директивы были применены именно к URL-адресам сайта. Если этого не сделать, могут возникнуть проблемы.

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

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

    Redirect 301 /page-name1/ http://site.ru/page-name2/

    В этом случае для представления старого урла страницы применяется относительный путь (/page1-name1/), а нового — абсолютный (начинается с «http://»), поскольку постраничный редирект можно осуществлять и на другой сайт. Здесь следует обратить внимание на то, что между двумя адресами оставляется пробел.

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

    Redirect 301 /category1/page-name1/ http://sait.ru/category2/page-name2/

    Ежели надо сделать постоянное перенаправление для всех страниц ресурса сразу, например, при смене окончания адреса с расширением.php на завершение с.html, то уже используется директива RedirectMatch , позволяющая использовать регулярные выражения:

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

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

    Как настроить permanent redirect для доменов с WWW и без, я . Но все-таки повторю эту информацию для полноты картины. Итак, для того, чтобы сделать постоянную переадресацию с URL, содержащего в адресе WWW, на урл без этого префикса , нужно добавить следующее правило в файл.htaccess:

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

    И наоборот, при желании оставить в урлах страниц рудиментарный отросток в виде трех W, надо оформить перенаправление с адресов без WWW на URL с WWW посредством директивы:

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

    RewriteCond определяет условие, при котором будет выполняться правило RewriteRule (то есть сам редирект). Кстати, детальный разбор применения основных директив mod_rewrite , при желании можете ознакомиться.

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

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

    А обратный redirect (с без WWW на с WWW) вот так:

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

    Чем же конкретно второй метод лучше первого? Дело в том, что в нем проверяется не только отсутствие или наличие трех W в адресе, но и сам домен подвергается проверке на полное соответствие. Только не забудьте вместо «site» и «.ru» вставить свое имя домена и доменную зону.

    Попробуем склеить зеркала, плодящие дубли страниц с index.php (расширения могут быть другими, скажем, .htm или.html). Итак, 301 редирект с урлов, содержащих index.php, на адреса страниц ресурса без этого окончания :

    RewriteCond %{THE_REQUEST} ^.*/index.php RewriteRule ^(.*)index.php$ http://%{HTTP_HOST}/$1

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

    RewriteCond %{REQUEST_URI} !\? RewriteCond %{REQUEST_URI} !\& RewriteCond %{REQUEST_URI} !\= RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_URI} !\/$ RewriteRule ^(.*[^\/])$ /$1/

    А вот как выглядит обратная переадресация, то есть, с URL-ов со слешем на адреса без слеша :

    RewriteCond %{REQUEST_URI} !\? RewriteCond %{REQUEST_URI} !\& RewriteCond %{REQUEST_URI} !\= RewriteCond %{REQUEST_URI} !\. RewriteCond %{REQUEST_URI} ![^\/]$ RewriteRule ^(.*)\/$ /$1

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

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

    Для принятия правильного решения в том или ином случае настоятельно советую ознакомиться с мануалом по данной теме известного в рунете оптимизатора Александра Алаева, где вы можете почерпнуть крайне полезные сведения. Также не лишними будут официальные материалы от Гугла и Яндекса ( и ), из которых вы также получите недостающую информацию.

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

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

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

    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