Всем привет! Как то я упустил эту, достаточно важную тему в самостоятельном продвижении сайтов, поэтому исправляю ситуацию. Редирект (автоматическое перенаправление) используют для многих целей: как то смена домена, перенос страниц сайта, либо склейки доменов. Перенаправление — это процесс пересылки одного URL на другой URL. Существуют три основных вида переадресаций: 301, 302, и Meta Refresh. Бывают еще иные, частные случаи применения редиректа, да еще можно назвать 7 видов кодов редиректа с 300 по 306. Но эти частности отбросим, перейдя к самым распространенным видам редиректа. Редирект 301 — эдакий «шанель номер 5» php-кодинга. Наиболее ценный вид Redirect — а.
Редирект 301. Permanent Redirect — перемещенный навсегда. 301 Redirect указывает браузерам и поисковым ботам, что страница была перемещена на постоянной основе. Поисковые системы интерпретируют это значение, что не только страница изменила местоположение, но содержание и обновленную версию этого, можно найти на новом URL. Сайт посылающий поисковики и посетителей на эти три цифры будет исключен из поиска навсегда. Основным плюсом редиректа 301, является сохранение поискового трафика и таких «важных» показателей, как ТиЦ и Page Rank (PR): как первое (посетители), так и второе (ТиЦ и PR ) будут переданы сайту донору. Имейте в виду, что при перемещении страницы из одного URL на другой, поисковым системам потребуется некоторое время для того, чтобы обнаружить 301, признать эго и перенаправить на новую страницу рейтинг и доверие своего предшественника. Этот процесс зависит от того, как часто роботы поисковых систем посещают данную веб — страницу.
Другие варианты перенаправления, такие, как 302 редирект и Meta Refresh, можно назвать «простыми» или «временными» редиректами, неполными, поскольку они вообще не будут переносить рейтинги и поисковые значения сайта, вроде 301 редиректа. Единственное, когда эти переадресации имеют хорошие альтернативы, если веб-мастер намеренно не хочет передавать ссылке весь «сок» из старой страницы на новую.
Meta Refresh или HTML-редирект
Многие могут спросить, а что же такое Meta Refresh. Это очень удобный редирект, когда вам нужно просто перенаправить посетителя на другую страницу через определенный промежуток времени. Он часто применяется в случае, когда после регистрации пользователя на сайте, ему сообщают об успешной операции, а метатег Refresh перенаправляет его назад, например на главную страницу сайта. Согласитесь, полезная вещь! Выглядит это следующим образом:
<meta http-equiv="refresh" content="5;URL=http:/seo4y.ru">
Таким образом перенаправление происходит без правки файла .htaccess, вам надо после URL= вписать страницу или сайт, на который требуется отослать пользователя. В данном примере я указал свой блог http:/seo4y.ru. Вы же вписываете свои данные.
Полная передача содержимого становится более сложной, когда весь сайт меняет свой домен или когда содержимое перемещается из одного домена в другой. Из-за злоупотреблений со стороны спамеров и подозрений со стороны поисковых систем, 301 редиректы между доменами иногда требует большое количество времени (от недели до месяца), чтобы правильно подсчитать пузомерки и индексации. Для того, чтобы это работало, на веб-сервер должен быть установлен модуль Apache mod_rewrite. У большинства хостер-провайдеров на Apache будет mod_rewrite установлен по умолчанию. Чтобы проверить, установлен ли модуль, нужно добавить следующую строку в конфигурационный файл Apache или в соответствующий файл .htaccess:
RewriteEngine On
301 редирект через файл .htaccess
Наверное самый разумный и простой способ перенаправить со старого сайта на новый. Файл .htaccess находится в корневой директории сайта, а коли его там нет , то можно создать, обозвав простой текстовый файл .htaccess (именно с точкой вначале). Начинка файла проста:
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^старый_сайт.ру RewriteRule ^(.*)$ http://www.новый_сайт.ру$1[R=permanent,L]
Если, по каким-то причинам не заработает, то тогда так:
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.старый_сайт.ру$ [NC] RewriteRule ^(.*)$ http://www.новый_сайт.ру/$1 [R=301,L]
Редирект 301 через PHP
Файл index.php создаем, трансформируем в:
<?php header(“HTTP/1.1 301 Moved Permanently”); header(“Location: http://новый_сайт.ру”); ?>
Редирект с без WWW на с WWW
Это все рассматривалось, как перенаправление старого сайта на новый. Но при помощи этого файла делаются множество различных редиректов. Так, например можно перенаправить сайт с без WWW на сайт с WWW, я делаю это не только потому, что так URL сайтf выглядит лучше, но, чтобы избежать распространенных ошибок канонизации (дублей страниц). Делаем это, применив следующее правило:
RewriteCond% {HTTP_HOST} *! ^ WWW * .promotiger \ .ru [NC] RewriteRule (. *) Http://www.seo4y.ru/$1 [L, R = 301]
Редирект при удалении страниц
Бывают случаи, когда некоторые страницы, существовавшие на старом сервере не должны присутствовать на новом сервере (тупо удаляем ненужные страницы). Такое удаление приведет к появлению 404 ошибки на новом сервере. Чтобы этого избежать, надо, старые файлы переориентировать на корневой URL (или новый URL) нового домена путем добавления следующей директивы:
RedirectMatch 301 /old/oldfile.php http://www.newsite.ru
Это самые распространенные правила редиректа, если кому то надо более подробно рассмотреть все преимущества 301 редиректов, то, добро пожаловать на страницу с официальной документацией Google, на эту тему.