Про 301 редирект слышали многие и не раз. Но по причине отсутствия необходимости в нём, а также из-за страха сделать что-нибудь неверно, не придавали важного значения такой процедуре. В статье будет подробно рассмотрено, как настроить редирект 301.
Про его настройку можно найти не один десяток статей и информационных материалов. Но после просматра многие из них у начинающих пользователей компьютеров и веб-мастеров могут возникнуть трудности с пониманием основ настройки. Многочисленные коды и скрипты, приводящиеся в онлайн-источниках информации, по большей части вызывают непонимание. В действительности же всё намного проще, и данная статья послужит хорошим руководством, как настроить редирект 301.
Что такое перенаправление 301?
Разберёмся во всём по порядку. Прежде всего дадим определение редиректу 301. Под ним понимают самое простое перенаправление гостя ресурса в сети Интернет (сайта) на другую страничку в сети либо доменное имя. Сразу оговоримся, что в данной статье не будут рассматриваться какие-либо хитрые скрипты и слишком сложный код, а будет показано несколько простых вариантов перенаправления, которые являются достаточными базовыми знаниями по этой теме для любого веб-мастера.
Инструмент для 301 редиректа - файл .htaccess
Рассмотрим такой удобный инструмент, как .htaccess. Редирект 301 через него делать весьма удобно и просто. Htaccess по своей сути является особенным служебным файлом в конфигурации, в котором заключён очень большой функционал и множество возможностей. При помощи его можно установить запрет на доступ к любым каталогам на сервере сайта, указывать кодировку страниц, устанавливать защиту для папок и файлов, производить 301 редирект и некоторые другие действия.
Это описание возможностей данного файла в общих чертах. На самом деле его функционал ещё более расширенный. Файл не имеет названия и пишется как .htaccess. Точка в самом начале является обязательной.
Процедура создания файла .htaccess
Если в корневой папке сайта отсутствует данный файл, его можно очень легко создать собственными силами. Один из самых быстрых способов создания – использование FTP-клиента. Наиболее удобный из них - FileZilla.
Для создания нужно перейти в корневой каталог своего интернет-проекта - нажать в пустом месте правую кнопку компьютерной мыши – выбрать пункт "Создать новый файл" – ввести имя .htaccess – нажать кнопку OK. После этих действий созданный файл можно будет отредактировать. Его открытие можно произвести любым редактором текста.
Но бывает и такое, когда FTP-клиенты скрывают некоторые системные файлы, включая .htaccess. Поэтому, если данный файл не был найден в корневой папке, не нужно спешить его создавать. Прежде всего проверьте его присутствие в скрытых файлах. Для этого необходимо перейти на вкладку “Сервер” и установить галочку на принудительном отображении скрытых файлов.
Итак, создан либо найден файл .htaccess, редирект 301 при помощи его создать будет легко. Однако прежде всего нужно определиться, для чего он нужен.
Самый популярный случай, когда может пригодиться 301 редирект
По рекомендациям ведущих веб-мастеров, каждый ресурс в Сети должен обладать 301 редиректом. И самым популярным случаем, когда он очень нужен, является перенаправление с домена, который в своём составе имеет префикс с www, на домен без него и наоборот.
Это объясняется тем, что у любого сайта в сети Интернет только один тип доменного имени с www либо без него может быть главным. Другой вариант же будет являться зеркалом сайта. Главное зеркало интернет-ресурса расписывается в файле robots.txt при помощи директивы Host. Помимо этого файла, главный вариант домена следует указать в "Яндекс.Вебмастере". Многие поисковые системы хорошо относятся к такому инструменту, как 301 редирект. "Яндекс" не является этому исключением.
При указании главного зеркала интернет-ресурса ваш сайт будет проиндексирован верно и не будет создавать ненужных дублей. Многие новички веб-мастера никогда и не слышали о зеркалах сайтов, что является очень большой ошибкой, которая вызовет в дальнейшем крупные неприятности.
Значение настройки зеркал сайта
После всех проделанных действий с зеркалом поисковики будут определять главный домен автоматически. Можно даже с лёгкостью проверить редирект, всё будет работать хорошо. На этих действиях можно было бы остановиться, но лучшим путём для SEO-оптимизации интернет-ресурса будет дополнительная настройка редиректа.
Сам префикс www в обозначении уже давным-давно должен был уйти в небытие. Но тем не менее в сети Интернет всё ещё существует много ресурсов с www в названии. Для поисковиков домены с www и без него – два различных адреса. Да и многие пользователи при поиске конкретного интернет-проекта вбивают в адресную строку вариант с www. Поэтому этот префикс пока что имеет место быть. Исходя из этого факта, настройка зеркал является необходимым действием. Да и руководство, как настроить редирект 301, тоже является обязательным к изучению, чтобы ваш интернет-проект успешно индексировался в поисковых системах.
Последствия неправильной настройки зеркал
Для того чтобы оценить всю значимость 301 редиректа и верной настройки зеркал, выделим пагубные последствия при их неверной работе. Таковых не так много, всего два. Но весомость у каждого пункта очень велика.
Внешние ссылки будут разделяться между доменами с www и без него в прямой зависимости от того, как на ваш ресурс будут ссылаться другие пользователи и сайты. Это говорит о том, что ваш интернет-проект потеряет часть ссылок, что негативно скажется на его посещаемости и месте в поисковой выдаче. Однако это не самая главная проблема.
Многие веб-мастера понимают, что поисковики непрерывно борются за уникальность контента интернет-ресурсов. Они очень негативно относятся к дублированию информации и довольно серьёзно наказывают сайты со схожим содержимым, вплоть до их полной блокировки в поисковой выдаче. Теперь обрисуем следующую ситуацию: ваш ресурс с самого начала был проиндексирован с префиксом www, но со временем домен без www получил большее число посещение и популярность (на него чаще ссылались и чаще упоминали).
Вы об этом ничего не знаете и дальше развиваете свой проект. С течением времени он наполняется уникальным контентом, многими ссылками и комментариями. Поисковики же, мониторя ресурс без префикса www, отправили его в бан за неуникальный контент. Со временем он полностью перестанет индексироваться.
Для того чтобы избежать такой ситуации, существует файл .htaccess. Редирект 301, прописанный в нём, способен решить проблему разделения ресурса по доменам с www и с его отсутствием.
Редирект с домена www на название сайта без префикса и наоборот
Как производится настройка редиректа в таком случае. Тут всё просто. Необходимо открыть файл .htaccess и прописать в него приведённый ниже скрипт.
Редирект с домена www на название сайта без него:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.moydomen.com
RewriteRule ^(.*)$ http://moydomen.com/$1 [R=301,L].
И по-другому:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^moydomen.com
RewriteRule (.*) http://www.moydomen.com/$1 [R=301,L].
Нужно принять во внимание, что вместо moydomen.com необходимо указать адрес своего интернет-ресурса в обоих случаях!
Следует сохранить файл .htaccess и перенести его в корневую папку с последующим замещением прошлого файла. Теперь посетитель при любом вбивании адреса сайта (хоть с http, хоть без него, хоть с www, хоть без него), будет во всех случаях перенаправляться на главную страницу. Мы рассмотрели, как настроить 301 редирект на с www без www. Давайте теперь разберёмся с остальными способами его применения.
Переход с одного домена интернет-проекта на другой
Подобной схемой редиректа, которая приведена выше, следует пользоваться при переходе с одного домена интернет-проекта на другой. Для демонстрации приведём пример. Допустим, следует переехать с домена moysait-1.com на moysait-2.com. В таком случае следует записать в файле .htaccess код:
RewriteEngine On
RewriteCond %{HTTP_HOST} moysait-1.com
RewriteRule (.*) http://moysait-2.com/$1 [R=301,L].
Смена ссылок ЧПУ и редирект при этом
Временами возникает необходимость сменить ссылки ЧПУ. Вполне возможно, сложилась такая ситуация, что было решено поменять весь раздел на своём ресурсе. Либо же владелец сайта ничего не знал о ссылках ЧПУ, а блог уже существовал и наполнялся материалами. В этом случае может помочь перенаправление. Как настроить 301 редирект для такого случая? Важно, что при таком положении дел, все показатели страниц (ссылки, их вес в поисковой выдаче), останутся прежними.
Приведём простой пример. Было решено сменить название страницы с moya_infa.html на obo_mne.html. В таком случае нужно записать в .htaccess код: redirect 301 moya_infa.html http://www.moydomen.com/obo_mne.html.
Подобным образом производится и редирект 301 со страницы на страницу.
Перенаправление при смене расширения файла
Приведём ещё один пример. Веб-мастеру необходимо сменить расширение у файла moya_stranichka.html на moya_stranichka.php. Подобно прошлому пункту, прописываем в .htaccess такой код: redirect 301 moya_stranichka.html http://www.moydomen.com/moya_stranichka.php.
Редирект при партнёрских программах
Например, необходимо перенаправить посетителя сайта на страницу с партнёркой. Сама ссылка партнёрской программы выглядит как www.partner.com/?ref=16011. Заметив такую ссылку, многие посетители ресурса не будут переходить по ней, заранее догадавшись о ваших намерениях.
Для придания ссылке надлежащего вида нужно создать отдельную страничку, как пример dlya_druzei.html, с которой будет производиться редирект на страничку с партнёрской программой. Осталось лишь отредактировать файл .htaccess: redirect 301 dlya_druzei.html http://www.partner.com/?ref=16011.
Далее в статье рассмотрим, как произвести редирект 301 в движке Joomla и с помощью языка PHP.
Как произвести редирект 301 в CMS Joomla
Многие пользователи сети Интернет наверняка наблюдали страницу с ошибкой 404. В движке Joomla уже имеются несколько встроенных способов редиректа со страницы на страницу. Однако они работают не всегда. И являются очень трудными для понимания обычным пользователем. Тут на помощь придёт редирект 301. Joomla имеет в своём стандартном составе файл .htaccess, с которым можно производить все манипуляции, описанные выше.
Давайте произведём настройку для перенаправлений по всем страницам вашего интернет-проекта. Прежде всего, в каталоге нужно отыскать файл htaccess.txt и дать ему правильное название .htaccess. После этого в админке следует выставить в настройках перенаправлений включение ЧПУ (SEF) и поставить галочку на перенаправление URL.
Затем следует открыть файл .htaccess и прописать в нём правила для нужных перенаправлений.
Редирект с помощью PHP
Если по каким-либо причинам доступ к файлу .htaccess не существует либо закрыт, есть способ сделать по-другому редирект 301. PHP в этом поможет.
Для того чтобы произвести перенаправление с домена на домен с сохранением всех параметров, необходимо в любом редакторе текстов создать файл с расширением .php, назвать его index и скопировать туда следующий скрипт:
<?$ref=$_SERVER['QUERY_STRING'];
if ($ref!='') $ref='?'.$ref;header('HTTP/1.1 301 Moved Permanently');
header('Location: http://moydomain.ru/'.$ref);
exit();
?>.
Здесь moydomain.ru является доменом, на который осуществляется редирект. Полученный файл нужно закачать на сервер в главный каталог сайта.
Для того чтобы произвести редирект со страницы на страницу в пределах одного домена либо разных, нужно перед основным кодом переносимой страницы вставить следующее:
<?php;
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.moydomain.ru/moycategory/moypage.htm");
exit();
?>.
В результате www.moydomain.ru/moycategory/moypage.htm является новой страницей, на которую осуществляется перенаправление.
Важно принять во внимание, что страница, в код которой вставляется приведённый выше скрипт, должна иметь в конце названия расширение .php. Иначе придётся воспользоваться редиректом через .htaccess.
Теперь, после изучения статьи, любой вебмастер будет знать, как настроить редирект 301, что это такое и чем он полезен. Здесь показаны наиболее простые варианты использования перенаправлений. Однако о них необходимо иметь представление любым владельцам сайтов и блогов. И стоит принять во внимание, что важно не только настроить верно перенаправление, но и проверить его на предмет правильной работы.
Как видим, перенаправления можно создавать не только с помощью файла .htaccess, но и через стандартные возможности многих CMS, и с помощью скриптов PHP.