Как настроить 301 редирект в htaccess и в скриптах - более 18 примеров использования
301 редирект (Permament Redirect) или 301 ошибка возвращается при обращении пользователя или поискового робота по определенному URL и указывает на то, что сайт или страница, к которому обращался пользователь, был перенесен на новый адрес и больше не располагается по данному адресу. При этом, поисковой бот или пользователь будут перенаправлены на новый URL-адрес.
В случае настройки 301 редиректа старый и новый адрес склеиваются между собой, такие показатели как ТИЦ и PageRank, страницы и сайта, а также ссылочный вес будут переданы новому URL.
В каких случаях может пригодится 301 редирект (PermamentRedirect)
Можно перечислить огромное множество ситуаций, когда веб-мастеру пригодится использовать перенаправление 301. Среди наиболее распространенных случаев можно выделить следующие:
1. При переносе сайта на другую CMS;
2. При смене доменного имени сайта, при помощи 301 редиректа можно сохранить все имеющиеся показатели старого домена и перенести их на новый. При этом как поисковые системы так и пользователи будут автоматически перенаправляться к новому домену.
3. Если склеиваются домены без www с www. При этом также все показатели этих этих копий сайтов будут совмещаться.
4. В случае переноса страницы внутри сайта на новый URL
В Яндекс и Google редирект 301, как правило, передает:
- Ссылочный вес
- ТИЦ сайта и PR страниц
Однако есть вещи, которые редиректом не передаются на новый URL-адрес, к ним относятся:
- Санкции, которые были наложены на домен сайта
- Возраст(если был изменен домен). Тем не менее, если редирект был настроен в пределах одного доменного имени, с одной страницы на другую, то данный показатель передается.
Когда редирект будет установлен, пользователи будут перенаправляться со старого URL-адреса на новый. При последующем посещении об этом узнают поисковые роботы. Они получают сигнал, в котором указывается новый адрес страницы, теперь является основным. На него «перетекают» все основные показатели.
Темы касающиеся редиректа, являются очень актуальными и часто подымаются на тематических форумах иногда там создаются целые разделы, посвященные им.
Далее мы рассмотрим как настроить 301 редирект и приведем ряд готовых, рабочих решений, которые могут пригодится в том или ином случае.
Настройка 301 редиректа в файле .htaccess при помощи директив
Возможность настройки 301 перенаправления именно через файл htaccess будет зависеть от того какой веб сервер используется на вашем виртуальном хостинге или виртуальном сервере. В большинстве случаев это веб сервер Apache и вот именно он и позволяет производить настройку редиректа через htaccess.
Единственным условием является наличие включенных модулей mod_alias и/или mod_rewrite в файле php.ini. Они включены на большинстве хостингов поэтому можете смело приступать к настройкам.
Файл .htaccess находится в корневой папке вашего сайта. На сегодняшний день он имеется практически у всех современных CMS. Если в вашем случае его нет, то просто создайте текстовый документ и измените его расширение и название на .htaccess (точка впереди обязательна). После этого вы можете прописывать в него приведенные ниже примеры для создания того или иного редиректа. Подробнее о .htaccess читайте в материале - "Файл htaccess - настройка и примеры использования".
При использовании, примеров кода "vash-sait.ru" замените на доменное имя вашего сайта.
Редирект при помощи mod_rewrite и директивы RewriteRule
Чтобы использовать директиву RewriteRule на хостинге должен быть подключен модуль mod_rewrite и включена опция FollowSymLinks включена, а в файле httpd.conf. Многие не подозревают, но с данным модулем приходится сталкиваться чаще, чем можно себе представить, например при использовании ЧПУ ссылок в CMS Joomla или WordPress.
Для настройки перенаправлений в файле htaccess, вам могут пригодится следующие операторы регулярных выражений:
- . — любой символ
- $ — ограничение справа
- ^ — ограничение слева
- — 0 и более символов
- + — 1 и более символов
- [] — диапазон значений
- \ — экранирование
- () — переменная
1. Перенаправление домена с www на без-www
Очень часто 301 редирект используется, для склеивания адресов сайта с www и без них. Раньше поисковые системы воспринимали это как совершенно разные сайты, сейчас они научились определять зеркала сайта, но лучше указать им на правильное зеркало, чтобы не было путаницы ни у вас ни у них.
Несмотря на то, что www все еще встречается в адресах некоторых сайтов, если веб-ресурс создается с самого начала, то лучше не использовать www в адресе сайта и произвести соответствующее перенаправление.
Но если вы работаете со старым сайтом, который уже проиндексирован в поисковой системе, то необходимо смотреть какого вида URL - ы идут на сайт из поисковой выдачи и на таком варианте остановится. Чтобы не делать никаких резких кардинальных движений.
Но мне нравится другой, более понятный синтаксис:
2. Редирект домена без www на домен с www.
Или, по типу первого, альтернативный вариант
3. Перенаправление страницы с ЧПУ URL -ом на другую страницу с ЧПУ URL -ом
Сегодня многие CMS позволяют использовать ЧПУ ссылки и часто в виду определенных обстоятельств приходится менять один адрес страницы на другой. Ниже приведен вариант редиректа страницы http://vash-sait.ru/optimizatsiya-stranitsy.html на страницу http://vash-sait.ru/seo-optimizatsiya-stranitsy.html.
4. Перенаправление старого домена на новый.
В некоторых случаях требуется сменить один домен сайта на другой. В таком случае нужно установить 301 перенаправление со старого домена на новый. Прописать представленный ниже код нужно в файле .htaccess старого сайта.
В приведенном примере старый домен с www и без www будет перенаправлен на новый домен без www.
5. Редирект домена алиаса на основной домен
Иногда для сайта используется не один, а несколько доменов т. е. используются так называемые алиасы или синонимы домена. Для этого домены могут регистрироваться в нескольких зонах vash-sait.ru, vash-sait.com и прилинковываться к одной директории сайта на хостинге. В этом случае будут 2 или более точных копии сайта с одним и тем же фалом .htaccess.
И так как это очень плохо с позиции SEO оптимизации, то необходимо выбрать какой то основной домен и сделать на его редирект. Например если основной домен vash-sait.ru, то сделать, на него редирект с vash-sait.com и www.vash-sait.com можно следующим образом:
6. Редирект страниц с расширением .htm на страницы с раcширением .html
В некоторых случаях это может служить предотвращением появления в индексе дублей страниц с расширением .htm.
7. Редирект страницы vash-sait.ru/index.php на vash-sait.ru
Таким образом можно убрать дубли главной страницы такого типа, которые могут появится в некоторых случаях в индексе.
Если нужно склеить дубли вида vash-sait.ru/home.html на vash-sait.ru
8. Редирект URL -ла с параметром на любую другую страницу сайта.
Если URL -лы страниц вашего сайта содержат параметры, то при необходимости можно произвести редирект страницы с определенным параметром на любую другую страницу. Например страницы http://vash-sait.ru/index.php?section=1 на с страницу http://vash-sait.ru/index.php?section=2 Параметр в URL идет, как правило, после "?" в данном случае это section=1, сам код будет таким:
Кроме этого URL с параметром можно перенаправить на главную страницу сайта следующим образом:
Редирект при помощи директив Redirect или RedirectPermanent модуля mod_alias
Директива Redirect осуществляет простой редирект посетителя и поискового робота на новый URL.
Синтаксис данной директивы следующий: Redirect [status] URL-path URL.
Условные обозначения:
- URL – новый адрес веб-документа или страницы
- URL-path – старый адрес запрашиваемого документа
- Status – код возврата, однако является необязательным полем и может отсутствовать. Допустимыми значениями являются: 301 – постоянный перенос, 302 – временный перенос, 410 или gone – удален, 303 или seeother – смотрите другой.
Прописывается директива все в том же файле .htaccess.
1. Редирект с одной страницы на другую
Очень простой способ недостатком которого является лишь то, что если нужно перенаправить много страниц, для каждой отдельной страницы нужно создавать данную строчку кода.
2. Редирект старого домена на новый
Для этого в файле .htaccess старого домена пропишите следующее:
3. Переадресация каталога
Redirect permanent - это деректива оворящая, что страница перемещена.
Синтаксис:
Redirect permanent URL-path URL
URL-path: локальная часть URL документа с которого должен быть произведен редирект.
URL: URL куда должен быть выполнен редирект.
Записывается все по аналогии с директивой Redirect, но код возврата указывать уже не нужно. Для редиректа одной страницы на другую записывается так:
301 редирект через скрипт путем передачи заголовков
Вся работа 301 перенаправления через скрипты PHP, ASP, JavaScript заключается в передаче клиенту, т. е. браузеру или поисковому роботу определенных заголовков:
Приведем примеры редиректа для разных скриптов
1. 301 редирект на PHP.
Этот код лучше всего помещать в самое начало скрипта PHP файла. Вместо http://vash-sait.ru/novaya-stranitsa.html нужно указать адрес страницы куда должен быть перенаправлен пользователь или поисковый бот.
2. Редирект на ASP
3. Редирект ASP.NET
4. Для Ruby on Rails
5. Для JSP (Java)
6. Для CGI PERL
7. ColdFusion редирект
Несколько полезных советов, связанных с настройкой редиректа
1. Использовать описанные выше методы можно лишь в том случае, если ресурс расположен на Linux-сервере и использует Apache. При этом обязательно должны быть подключены модули mod_rewrite и mod_alias.
2. Вместо файла .htaccess есть еще один способ настройки 301 перенаправления - внесение изменений в файл hpptd.conf, это немного более эффективно так как использование файла .htaccess создает небольшую дополнительную нагрузку на сервер.
3. Если работа редиректа некорректна, необходимо убедиться, что в других файлах нигде не прописан другой редирект, так как их конфликт может стать причиной большого числа непредвиденных проблем.
4. Прежде чем настроить 301 -й редирект рекомендуется ознакомиться с официальной документацией, в которой прописаны синтаксис и основные правила. Но при желании, можно поэкспериментировать, перебрать несколько возможных вариантов и как говорится "методом тыка" добиться нужного результата.
5. Настроив редирект, необходимо проверить, все ли работает. Нужно посетить главную страницу сайта, побегать по разделам, различным страницам, чтобы быть уверенным, что у пользователя не возникнет никаких проблем.
- Подробности
-
Опубликовано: 04 Октябрь 2013
-
Обновлено: 27 Ноябрь 2013
-
Просмотров: 58332