Блог Максима Войтика
Публикации о способах
заработка в интернете и SEO

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

01 марта 2015
Комментарии: 4

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

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

Чтобы как-то упростить вам жизнь давайте узнаем, как сделать и настроить 301 редирект в htaccess и php фалах. Но обо всем по порядку.

Слово редирект происходит от английского «redirect», что в переводе обозначает переадресацию.

Если при запросе доступа к какому-либо сайту появляется это сообщение, то, скорее всего содержимое с этого адреса перенесено на другой постоянный ресурс.

Большинство пользователей интернета привыкли к сообщению 404 — адрес не существует или битая ссылка. Во избежание потери постоянных пользователей или новых интересующихся и делается 301 редирект.

Случаи, в которых необходимо настраивать переадресацию:

  • Смена адреса сайта (перенос на другой домен);
  • Отсутствие в домене префикса www;
  • Смена cms движка сайта;
  • Непосредственная смена адреса ресурса;
  • Настройка понадобится тем, кто занимается продажей ссылок через соответствующие биржи, например Sape.

Как сделать 301 редирект — способ классический


Одной из самых простых конструкций создания 301 редиректа является использование файла HTACCESS.

Главным условием срабатывания команды является обязательное его местонахождение в корневой папке сайта. В этом же месте обычно располагается файл index.php.

расположение файла htaccess

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

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

Конструкция будет выглядеть следующим образом: RedirectPermanent 301 old_url new_url.

Расшифровывается данная комбинация так:

  • RedirectPermanent 301 основная команда для редиректа;
  • old_url – это соответственно старый адрес страницы, при обращении к которой должна происходить переадресация;
  • new_url – новый ресурс, где располагается контент, ранее находившийся по старому адресу.

Аналогом такой команды является скрипт RedirectMATCH. Его целесообразно использовать в случае смены cms сайта.

Прописать нужно будет примерно следующее:

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

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

В случае использования модуля apache способ редиректа через HTACCESS является наиболее удобным. Но все равно придется включить дополнительные модули mod_alias/rewrite. Включить их можно все в том же php.ini файле.

Главным недостатком такой команды является узкая направленность редиректа. Он рассчитан на переадресацию с главной страницы сайта.

Но что делать, если в поисковике были проиндексированы почти все страницы и посетитель обращается к другим страницам?

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

Проще говоря, для каждого адреса придется прописывать индивидуальный скрипт.

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

301 редирект php

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

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

Итак, пример скрипта (мета-тега, располагающегося в коде шапки сайта):

<meta http-equiv=”refresh” content=0; url= http://www.newdomain.ru/newdir/newpage.htm">

Значение поля content будет отвечать за продолжительность задержки (в секундах) до переадресации. Соответственно в конец скрипта вписывается ссылка, куда необходимо перебросить пользователя.

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

Настройка редиректа на PHP сайтах


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

Скрипт для внедрения такого типа переадресации следующий:

<?php
Header(«http/1.1 301 moveed permanently»);
Header(«location:http://www.newdomain.ru/newdir/newpage.htm»);
Exit();
?>

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

Как настроить 301 редирект на JavaScript (JSP) и ASP


Это метод IT-профессионалами, как и HTML, причисляется к простецким, и используется крайне редко. В случае с JavaScript негативное отношение связано с высокой вероятностью бана поисковыми машинами.

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

Комбинация JavaScript как раз похожа на эту категорию (для автоматов естественно).

Суть работы директивы сводится в передаче заголовков перед выдачей результатов запроса в поисковике.

Код скрипта для прописывания будет следующий:

<% 
Response.setStatus(301)$ 
Response.setHeader(“Location”,” http://www.newdomain.ru/newdir/newpage.htm”); 
Response.setHeader(“Connection”,”close”); 
%>

Некоторые правила, которыми руководствуются опытные пользователи при написании директив редиректа 301:

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

• Для того чтобы снизить необоснованную нагрузку на хостинг, можно прописать перенаправление не через файл .HTACCESS, а путем редактирования файла hpptd.conf.

• После настройки директив редиректа необходимо убедиться в правильной работе всех прописанных скриптов. Для это проводят тестирование (посещение старого сайта).

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

• В принципе не возбраняется экспериментирование. Всегда можно попробовать путем проб и ошибок добиться необходимого результата.

Главное знать основы работы с сайтом и все эти манипуляции проводить в области демо-версии сайта (на своем жестком диске), а уж потом перезалить содержимое по ftp;

• Логично предположить, что использование нескольких типов переадресаций не совсем корректно. Поэтому перед настройкой именно 301 редиректа нужно вычислить (вспомнить) и удалить старые директивы.

На сегодня это все. Если есть вопросы по созданию 301 редиректа и его настройки, прошу задавать их в комментариях. Пока!

(2 голос., в среднем: 5,00 из 5)
Загрузка...
С уважением, Максим Войтик
Буду рад, если нажмете на любую из кнопок:
Комментарии (4)
  1. Людмила в 13:09

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

    Ответить
    • Максим Войтик в 14:12

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

      Если вы хотите, чтобы страницы старого раздела перенаправлялись на те же страницы только нового раздела, например site.ru/rss/article на site.ru/interesno/article, тогда достаточно использовать такой код:

      RewriteRule ^rss/(.*)$ http: //site.ru/interesno/$1 [R=permanent,L]

      Ответить
  2. Iraida в 01:11

    Максим, у меня проблема посложнее. На сайте более 6 тысяч файлов, все они практически проиндексированы. Сайт сменил движок на вордпресс. Старая версия сайта на html и вся она закачена в отдельную папку. Статьи в ней имеют вид следующий www.situ.ru/situ/txt-6417.html Подскажите как правильно прописать редирект. С тем, чтобы посетитель по старой ссылке мог найти статью уже в новой папке.

    Ответить
    • Максим Войтик в 18:40

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

      Ответить
Оставить свой комментарий
Обязательно ознакомьтесь с правилами комментирования!!! СПАМ будет удален!
:) :-D ;-) :-| [star] [good] [present] [flower] [:-))] [:))] [:--_)] [:-|]

© 2011-2016 seoslim.ru, блог Максима Войтика

Внимание! Копирование материала строго запрещено. Соблюдайте авторские права и уважайте труд других людей!