Тарифы Услуги Сим-карты

Код редиректа на пустой странице html. Редирект с помощью директивы Redirect или RedirectPermanent модуля mod_alias. Примеры редиректов в самых распространенных случаях

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

Что такое 301 редирект? Это специальный код, который возвращает сервер при обращении к определенному URL.

Что это значит? Это значит, что если вы набрали в адресной строке браузера определенный URL, то Вас перенаправят на новый адрес.

Для чего это все нужно? Возьмем пример из реальной жизни. Заходите вы по определенному адресу, а вам говорят — «А здесь теперь такие не живут! Они совсем своим имуществом переехали на другую улицу и вот Вам их новый адрес…» Согласитесь полезная информация? Я не зря сказал — «…со все своим имуществом» т.е они не чего не оставили на старом адресе. Это важно!

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

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

Чтобы выполнить сие действие надо в файле.htaccess прописать следующее:

  • Redirect 301 / http://новый сайт.ru
  • Где «/» означает, что все начиная с «головы» сайта включая все подкаталоги будет переадресовано на новый адрес.

    Не забудьте сделать резервную копию сайта если вдруг что-то пойдет не так!

    Теперь рассмотрим другую ситуацию. У меня есть 2 квартиры, а живу я лишь в одной. Ко мне приходят письма по другому адресу, звонит телефон, заходят разные люди и т.д. А я забыл повесить объявления, что нахожусь я вообще в другом месте. Забавная история! Получается я теряю собственные авторитет в глазах окружающих из-за своей забывчивости.

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

    Как это осуществить смотрите на этом примере:

    Перенаправление с www на без www

  • Options +FollowSymLinks
  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} ^www.сайт\.com$
  • RewriteRule ^(.*)$ http://сайт.com/$1
  • Перенаправление с без www на с www

  • Options +FollowSymLinks
  • RewriteEngine On
  • RewriteCond %{HTTP_HOST} ^сайт\.com$
  • RewriteRule ^(.*)$ http://www.сайт.com/$1
  • Надо заметить, что если в файле.htaccess уже прописана строчка RewriteEngine On, то ее повторять уже не надо и не забудьте вписать свой домен.

    Существует мнение, что с защищенного протокола https:// также надо перенапралять пользователей на основной протокол http:// Я даже обратился в службу поддержки своего хостинг провайдера с этим вопросом. На что мне ответили, что возможность перенаправления есть и для этого в файле.htaccess необходимо прописать следующее:

  • RewriteEngine On
  • RewriteCond %{SERVER_PORT} ^443$
  • RewriteCond %{HTTPS} =on
  • RewriteRule ^(.*)$ http://ваш сайт.com/$1
  • Бывает такие случаи, что необходимо перенести только одну страницу при этом сохранить ее вес. Для этого в файле.htaccess прописываем:

  • Redirect 301 /путь/пост.html http://новый сайт.com/пост.html
  • В этой статье я постарался описать самые распространенные случаи использования 301 редиректа, которые необходимо знать каждому веб-мастеру. На самом деле возможности 301 редиректа на этом не ограничиваются и в будущем я еще не раз буду возвращаться к этой теме, так что советую подписаться на обновления блога .

    До встречи!

    С уважением, Виталий Кириллов

    Если вы хотите изменить 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 и без него.
  • Статья по теме: Корректный переезд сайта на протокол https

    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 редирект?

    301 редирект или 301 redirect (от англ. перенаправление) — это принудительная переадресация пользователя с одного URL на другой. Причем оба адреса могут принадлежать как одному, так и разным доменным именам .

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

    Что происходит в данный момент?

    Происходит переадресация при помощи 301 редиректа. Действует это следующим образом.

    Человек вводит в адресной строке URL адрес (или нажимает на гиперссылку);

    Сервер получает запрос с URL адресом и начинает его обрабатывать;

    В процессе обработки запроса «сталкивается» с инструкцией redirect и следует ее указаниям;

    Отправляет пользователю новый URL адрес, который указан в инструкции и ответ 301.

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

    Для чего нужен 301 редирект?

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

      Адрес страницы навсегда изменился, поэтому нужно перенаправить пользователей на актуальный URL;

      Поменялся домен сайта, поэтому нужно переадресовать людей на новый домен;

      Один и тот же материал имеет несколько URL адресов, то есть, дублей;

      При работе online сервисов, форм, модулей и прочих интерактивных элементов сайта необходимо перенаправление.

    Конечно, это неполный список того, как можно использовать 301 redirect, однако это основное.

    Нужно понимать, что сделать 301 redirect со страницы возможно только при наличии доступа к этой самой странице. То есть, взять и прописать переадресацию для любого ресурса не получится. Именно поэтому, 301 редирект считается «официальным» перенаправлением, которое сделал владелец сайта.

    Как сделать 301 редирект?

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

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

    301 редирект в.htaccess (Apache)

    Создание 301 редиректа в файле.htaccess является самым популярным способом сделать переадресацию. Он достаточно прост и доступен всем пользователям, которые используют в качестве сервера Apache.

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

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

    Мы не будем подробно разбирать все инструкции файла.htaccess, рассмотрим только те, что касаются redirect 301.

    Для начала необходимо убедиться, что у Вас установлен модуль mod_rewrite, так как именно он отвечает за переадресацию URL адресов. По этому поводу Вы можете обратиться к своему хост провайдеру или самостоятельно найти и проверить файл конфигурации Apache (httpd.conf)

    Подготавливаем.htaccess к работе

    Создаем или открываем уже существующий файл.htaccess. Прописываем в нем следующие строки:

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

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

    RewriteEngine on

    Данная запись позволит активировать модуль mod_rewrite.

    Следующей строкой прописываем:

    RewriteBase /

    Подобная команда устанавливает базовый URL. Обычно это сам домен, примеру http://example.ru. Именно от установленного адреса мы и будем отталкиваться при дальнейшей работе.

    Если Вы все верно прописали, то итогом будет вот такой файл:

    Вот и все, наш.htaccess подготовлен для добавления перенаправлений.

    Добавляем в.htaccess редирект

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

    Redirect 301 — самый простой вид редиректа, предназначен для переадресации со страницы на страницу как внутри одного домена, так и в рамках нескольких доменных адресов. Работает с URL без параметров.

    RewriteCond / RewriteRule — более гибкие и сложные правила переадресации. Обычно используются для массовых редиректов.

    Теперь о каждом подробнее.

    Redirect 301

    Самая простая во всех смыслах инструкция. Ее синтаксис умещается в одну строку:

    Redirect 301

    Между адресами всего один пробел. Никаких точек, дефисов и других сторонних символов.

    Пример использования редиректа:

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

    В файле это выглядит следующим образом:

    Это все, что нужно знать о данной инструкции.

    RewriteRule (RewriteCond)

    Это составная инструкция, которая делится на 2 основные команды.

    RewriteCond — Задает условие для следующей за ней директивы RewriteRule. Отдельно не применяется.

    RewriteRule — Описывает правило изменения URL адреса.

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

    Будем разбирать по строчкам.

    # BEGIN WordPress RewriteEngine On RewriteCond %{HTTP_HOST} ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1

    1 строка . Закомментированный текст. Комментарии в файле.htaccess начинаются с «#». На исполнение файла никак не влияет.

    2 строка . Проверка наличия модуля mod_rewrite.

    3 строка . Активация модуля mod_rewrite.

    4 строка . Директива RewriteCond. Проверяет, есть ли «www» в начале адреса. Если нет, то срабатывает ниже расположенная RewriteRule.

    5 строка . Директива RewriteRule. Переадресовывает на «www».

    6 строка . Окончание контейнера проверки наличия модуля mod_rewrite.

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

    301 редирект при помощи PHP

    Помимо файла.htaccess, 301 redirect возможно сделать посредством php. Суть метода очень проста и задействует заголовки отправляемые сервером на запрос клиента.

    Чтобы сделать редирект, в документе необходимо прописать php код следующего содержания:

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

    Обратите внимание, что до вызова header, выводится ничего не должно, в противном случае Вы получите ошибку. Речь идет об «echo» или «print». Лучше всего размещать этот код в самом начале скрипта.

    А вот вариант с сохранением всех параметров запроса и адреса страницы (то есть, домен будет изменен, а оставшаяся часть URL останется прежней) :

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

    301 редирект в Nginx

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

    301 редирект с http на https для Nginx

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

    Только 301 редирект способен склеивать доменные имена.

    Функция 4. Приводим URL адреса к единому виду

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

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


    301 редирект или rel=»canonical»

    Как минимум в ряде случаев, атрибут rel=»canonical» считают альтернативной 301-у редиректу. Давайте разберемся, так ли это.

    Напомним, что rel=»canonical» позволяет указать поисковой системе основной URL адрес страницы. Подробнее о данном атрибуте мы писали ранее .

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

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

    Одна из основных функций 301 редиректа, без которой нельзя обойтись в SEO, это склейка зеркал .

    Зеркалами для поисковой системы являются сайты с одинаковым контентом (или частичной копией контента) доступные по разным URL адресам. Как ни странно, практически у каждого сайта в Интернете есть зеркала. Все дело в том, что для поисковой системы домен с www и без www это разные адреса.

    То есть, www..ru для поисковика это различные URL, по которым доступен один и тот же контент. Этот случай настолько популярен, что в Яндекс Вебмастере есть раздел «Переезд сайта», где предоставляется возможность выбора основного зеркала, которое будет в поиске. Переадресация при этом, конечно, не появляется. Эта инструкция предназначена только для робота поисковой системы.

    В случае с www, 301 редирект часто не ставится, так как домены признаются зеркалами автоматически. Хотя такая возможность есть, а иногда даже необходима. Про переадресацию с www на БЕЗ www мы .

    Во всех остальных случаях для склейки понадобится переадресация.

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

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

    Стоит сказать, что после данной процедуры ТИЦ, «ссылочный вес » и другие «пузомерки» будут перенесены на новый домен.

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

    Разница между 301 и 302 редиректом

    С точки зрения SEO 301 редирект кардинально отличается от 302. Даже несмотря на то, что их синтаксис очень схож, для поисковой системы они несут совершенно разный смысл. Вот их основное отличие:

    301 редирект (Permanent Redirect) — постоянное перемещение страницы;

    302 редирект (Temporary redirect) — временное перемещение страницы;

    Из это вытекают все их различия и принципы использования.

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

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

    *Стоит сказать, что 301 и 302 редирект имеют различные степени риска попадания под фильтры поисковых систем за мошенничество. Безусловно, не нарушая никаких правил к Вам вряд ли будут применены санкции, однако мы все равно оценим риски. Так как 302 редирект часто используется в черном SEO , то риск при его использовании на порядок выше, нежели у 301 редиректа.

    Когда оправдано использование 302 редиректа?

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

  • Плагин Simple 301 Redirects

    Принцип установки точно такой же, как и у Redirection. В поиске плагинов необходимо найти:

    После активации плагина, в левом меню WordPress в пункте «Настройки » появится ссылка «301 redirects «. Переходим по ней и попадаем на страницу с двумя полями.

    Первое поле — откуда ставим редирект, второе — куда . Тут нет сложных настроек, все максимально просто.

    301 редирект в Joomla!

    Для создания 301 редиректа, в Joomla! 3 уже имеется стандартный компонент. Найти его можно развернув меню «Компоненты » — > «Перенаправление «.

    После перехода Вы увидите все имеющиеся редиректы, если они есть.

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

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

    Что делать, если 301 редирект в Joomla! не работает?

    Если при использовании стандартного компонента перенаправлений в Joomla! 3, редирект так и не заработал, необходимо:

    Открыть файл configuration.php находящийся в корневой папке Вашего сайта;

    Найти переменную public $live_site;

    Присвоить ей в качестве значения домен своего сайта.

    Сохраняем изменения и проверяем редирект.

    301 редирект в Opencart 2

    Для Opencart 2 существует готовый модуль, позволяющий создавать постоянную переадресацию. Его название «Менеджер 301 редиректов «.

    Он поддерживает всевозможные варианты 301-го редиректа и совместим со всеми версиями Opencart 2.x.

    Данный модуль может конфликтовать с ранее установленными SEO расширениями, поэтому, ознакомьтесь с инструкцией перед покупкой и установкой.

    Не забывайте, что любая CMS система, в том числе и Opencart, поддерживает редиректы созданные вручную в или посредством .

    301 редирект в Modx

    Для Modx Revo существует множество готовых решений реализации 301-го редиректа. Одно из них Redirector. Установка и использование данного расширения не составляет никаких сложностей. Если, все же, у Вас возникли трудности, Вы можете подробно изучить любой вопрос на официальной странице https://docs.modx.com/extras/revo/redirector.

    301 редирект для Wix

    В Wix существует стандартная функция, позволяющая сделать 301 редирект. Ничего придумывать не придется, просто следуйте нижеуказанной инструкции.

    Переходим в режим управления сайта;

    Находим раздел SEO и переходим в него;

    Пролистываем страницу вниз до блока «Переадресация: 301 редирект»;

    Нажимаем «Настроить переадресацию»;

    В соответствующие поля вводим старый и новый URL;

    Проверяем работоспособность переадресации.

    Распространенные редиректы

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

    301 редирект с http на https

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

    RewriteCond %{HTTPS} !=on RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1

    Итогом данного редиректа будет являться добавление ко всем URL сайта протокола https.

    301 редирект с www на БЕЗ www

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

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

    Итогом данного редиректа будет являться «удаление» из всех URL адресов префикса «WWW».

    301 редирект с БЕЗ www на www

    Если в качестве основного зеркала был выбран домен с WWW, то Вам необходимо добавить ко всем URL соответствующий префикс «WWW». В этом Вам поможет указанный ниже редирект.

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

    Итогом данного редиректа будет являться добавление ко всем URL адресам префикса «WWW».

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

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

    Redirect 301 /page-1/ http://mysite.com/new-page-1/

    Итогом исполнения вышеуказанной инструкции будет являться постоянная переадресация со страницы /page-1/ на страницу /new-page-1/. При этом раздел /page-1/ будет исключен из поиска, а /new-page-1/ получит весь имеющийся «вес».

    Обратите внимание, подобным образом возможно сделать переадресацию только для URL адресов без параметров. То есть, для страницы /page-1/?productID=7389 эта команда работать не будет.

    301 редирект с домена на домен

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

    RewriteEngine On RewriteCond %{HTTP_HOST} domain1.ru RewriteRule (.*) http://domain2.ru/$1

    Итогом вышеуказанного редиректа станет перенаправление всех обращений к domain1.ru на domain2.ru.

    301 редирект для слеша (Удаляем слеш на конце)

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

    RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1

    Итогом будет являться «удаление» слэша в конце URL адреса.

    301 редирект для слеша (Добавляем слеш на конце)

    Обратный от ранее упомянутого редирект. Добавляет слэш в конце строки URL адреса.

    RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/

    Итогом будет являться «добавление» слэша в конце URL адреса.

    301 редирект с index.php (html)

    Во многих CMS системах, в том числе и популярных, при некорректной настройке URL, главная страница становится доступна как по доменному имени, так и по доменному имени + index.php (html). То есть, сайт и сайт/index.php ведут на одну и ту же страницу — главную. Для поисковой системы это дубли, поэтому от них нужно избавляться.

    Пример 1, для index.php RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://сайт/ Пример 2, для index.html RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://сайт/

    Итогом обоих примеров будет редирект с /index.php (html) на «корень сайта», то есть, просто на домен.

    Массовый 301 редирект

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

    В некоторых CMS системах по умолчанию используется генерация 301-х редиректов для создания единого адреса с ЧПУ.

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

    Редирект со страницы 404 Not Found

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

    Пример 1. Редирект с 404 страницы на главную

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

    ErrorDocument 404 http://www.site.com/301.html

    Итогом данного редиректа будет являться перенаправление всех обращений к страницам 404 на главную страницу сайта.

    Пример 2. Редирект с 404 страницы на главную через 301 редирект

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

    ErrorDocument 404 http://www.site.com/301.html RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule 301.html http://www.site.com/

    Пример 3. редирект с 404 страницы на заранее подготовленную

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

    ErrorDocument 404 /404.html

    Проверяем 301 редирект

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

    Для того, чтобы удостовериться, что сработал именно 301 редирект, необходимо перейти в Яндекс Вебмастер в раздел «Инструменты » — > «Проверка ответа сервера «.

    В поле «Опрашиваемый URL » необходимо ввести адрес страницы, с которой Вы делали перенаправление. Итогом проверки должен быть код статуса HTTP «301 Moved Permanently «

    В случае, если при обращении к старой странице перенаправление не происходит или код статуса HTTP не «301 Moved Permanently» — проверьте корректность настройки редиректа.

    Что делать, если 301 редирект не работает?

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

    Какой он - правильный 301 редирект?

    Правильный 301 редирект отвечает всем нижеперечисленным требованиям:

    Ведет на страницу без последующих перенаправлений . То есть, если Вы сделали редирект со страницы А на страницу Б , то с последней (Б ) уже не должно быть никаких переадресаций. Она должна быть конечной точкой, куда попадет пользователь;

    Переадресовывает на страницу, код ответа которой 200 ОК . То есть, проще говоря, на существующий и доступный раздел. Неприемлемо делать перенаправление на несуществующую или ограниченную в доступе страницу;

    Сделан без синтаксических и логических ошибок;

    301 redirect выбран осознанно. Убедитесь, что Вам нужен именно он, а не 302-ой или 307-ой. Выбор типа переадресации очень важен, ведь с точки зрения SEO, разница между ними глобальна;

    Был сделан сознательный выбор между атрибутом rel=»canonical» и перманентным редиректом. Не стоит делать переадресации когда попало;

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

    Как убрать 301 редирект?

    Если Вам необходимо убрать 301 редирект, происхождение которого неизвестно, то придется сделать несколько достаточно простых шагов. Что бы их выполнить потребуется доступ к CMS, корневому каталогу сайта и поверхностные знания php/html.

  • Часто в веб разработке требуется делать переадресации с одной страницы (например, устаревшей) на другую. При этом переадресация может выполняться разными методами - как с потерей веса страницы, так и без нее. Но об этом подробнее.

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

    Переадресацию страниц можно делать разными методами. Рассмотрим основные.

    301 редирект через.htaccess

    В корне вашего сайта есть файл (если его нет - создайте) под названием.htaccess. Откройте его на редактирование и используйте один из следующих способов.

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

    Примеры:
    Redirect permanent /staraya-stranica.php http://newsait.ru/novaya-stranica.php
    (здесь просто переадресуем с устаревшей страницы на новую)

    Redirect 301 / http://newsait.ru/
    (здесь / означает, что все начиная с главной страницы сайта и всех его подстраниц (поддиректорий) будет переадресовываться на новый домен; т.е. фактически переадресация с оного домена на другой.)

    RewriteRule редирект - более сложный редирект, чем предыдущие варианты. Требует для правильной работы подключение модуля mod_rewrite на хостинге (обычно всегда включен). Часто этот метод используют для переадресации страниц с www на такие же без www и обратно. Рассмотрим их:

    Редирект домена с www на не-www
    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www\.(.*)
    RewriteRule ^(.*)$ http://%1/$1

    Редирект с не-www на домен с www
    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www\.(.*)
    RewriteRule ^(.*)$ http://www.%1/$1

    301 редирект с домена на домен и исключением для ссылки /market/vm2_market.xml. Т.е. все запросы (кроме /market/vm2_market.xml), со старого домена на новый будут выполняться.

    RewriteEngine on

    301 Все запросы (кроме /market/vm2_market.xml и ссылки /texts (и всеми ее "подссылками")), со старого домена на новый будут выполняться. Также здесь работает правило переадресации определенной подссылки (RedirectMatch 301)

    RewriteEngine on
    RedirectMatch 301 ^/texts/data/msg/(.*)\.png$ http://olddomen.ru/texts/data/rimage/msg.php?id=$1
    RewriteCond %{REQUEST_URI} !^/texts*
    RewriteCond %{REQUEST_URI} !^/market/vm2_market.xml$
    RewriteRule ^(.*)$ http://newdomen.ru/$1

    RedirectMatch 301 - еще один хороший метод редиректа, он похож на Redirect 301, но имеет больший функционал. А именно, с его помощью можно делать редиректы на основе регулярных выражений.

    Примеры:
    RedirectMatch 301 ^/olddirectory/ http://сайт/newdirectory/
    (Здесь переадресует всю директорию на новую)

    RedirectMatch 301 ^(.*)$ http://сайт
    (Переадресует все страницы со старого домена на новый с помощью 301 редиректа (вес также передается на новый сайт))

    RedirectMatch 301 (.*)\..php
    (Смена страниц с html расширения на php расширение)

    RedirectMatch 301 /dirA/(.*)\..php
    (Запускает перенаправление из директории dirA в директорию dirB только при обращении к PHP скриптам.
    .php -> http://сайт/dirB/page.php - сработает
    http://сайт/dirB/page.html - не сработает)

    Синтаксис для регулярных выражений
    . - Точка заменяет произвольный символ.
    - обозначает перечень символов, совпадающих с буквами a, b, или с.
    [^abc] - перечень символов, которые не входят в указанных диапазон. Совпадёт с любым символом, кроме a, b, или с.
    * - означает, что предшествующий символ может повторяться (0 или более раз).
    * - команда найдёт идущие подряд символы из заданного набора.
    [^abc]* - с точностью до наоборот.

    .* - заменяет абсолютно любой набор символов. ".*" - найдёт все подстроки между кавычками.
    ^ - начало строки (в том случае, если используется в начале выражения).
    $ - обозначает конец строки.

    \w - буква, цифра или подчёркивание _.
    \d - заменяет любую цифру.
    \D - заменяет любой символ, но не цифру.
    - заменяет любую цифру.
    - любая буква от a до z (весь латинский набор символов) в нижнем регистре.
    - любая буква от A до Z в ВЕРХНЕМ регистре.
    - любая буква от a до Z в любом регистре.
    - то же самое.

    Спецсимволы, используемые в правилах и их значения.
    ^ - спецсимвол начала строки;
    $ - спецсимвол конца строки;
    ! - спецсимвол отрицания;
    . - точка, заменяет любой символ, но только один;
    () - группировка;
    \ - «экранирующий» слеш, следующий символ после него считается обычным, а не спецсимволом.

    Модификаторы используются после обычных, спецсимволов или их групп и позволяют расширить возможности шаблонов для срабатывания правил.
    ? - символ повторяется 0 или 1 раз.
    + - повторяется от 1 до 65536 раз.
    * - повторяется от 0 до 65536 раз.

    Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем или .
    NC - флаг NoCase, отключающий проверку регистра символов при срабатывании правила.
    R - флаг Redirect, производит процесс остановки изменения URL-адреса и возвращает результат. Чаще всего используется значение R=301, но возможны и другие для временных перенаправлений (302, MOVED TEMPORARY).
    L - флаг Last, останавливает формирования URL-адреса и строка считается окончательной.

    Редирект через php. Если у вас обычная php страница, которую надо переадресовать на новый адрес, то можно обойтись без.htaccess

    Пример:

    Редирект через javascript. Также переадресацию можно сделать и на обычном javascript (правда без передачи веса страницы).

    Пример:
    window.location="http://сайт/category/";
    (обычная переадресация на страницу сайта)
    alert("Сейчас вы будете переадресованы!"); window.location="http://сайт/category/";
    (обычная переадресация на страницу сайта перед которой пользователю выводится сообщение)

    Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».

    Подписаться

    (с англ. redirect) - процесс переориентировки определенных страниц или всего сайта целиком на новый URL-адрес.

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

    К некоторым редиректам поисковики относятся насторожено. Из-за этого показатели сайта могут существенно упасть, но подобная тенденция не касается переадресации под кодом «301».

    Виды редиректов страниц и их назначение

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

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

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

    Также существуют следующие виды редиректов:

    • 307 (Temporary Redirect) - временная смена URL страницы, с сохранением начального адреса в индексе поисковиков;
    • 306 - зарезервирован под использование, но пока не применяется;
    • 305 (Use Proxy) обозначает переадресацию сначала на , а затем по повторному автоматическому запросу на искомую страницу;
    • 304 (Not Modified) - ответ сервера браузеру в случае, если с момента последнего запроса просмотренный браузером документ не изменился. Тогда браузер открывает пользователю этот документ из кеша;
    • 303 (See Other) - в переводе означает «смотри другое». Этот редирект информирует о найденном документе и перенаправляет пользователя на искомую страницу, используя метод GET (передает данные серверу через URL);
    • 300 (Multiple Choices) обозначает многовариантный выбор страницы, на которую перенаправить пользователя. Например, в зависимости от настроек браузера пользователя, поисковик перенаправит его на страницу с подходящими языковыми настройками или .
    Возможности редиректа 301

    301 редирект страницы используется при осуществлении целого ряда операций с сайтом и его содержимым.

    Он поможет:

    • «склеить» два сайта в один;
    • перенести показатели ТИЦ старого сайта и PR его страниц на новый адрес;
    • сфокусировать выдачу определенного сайта в результатах поиска, без учета в URL-адресе наличия или отсутствия «www»;
    • добавить или удалить слеши в ссылке;
    • перенаправить с одного файла на другой при смене его расширения и т.д.

    Процесс «склейки» двух доменов осуществляется путем создания кода редиректа 301. Для этого в корневой папке сайта необходимо найти файл с расширением и прописать в нем специальный код. Также потребуется настроить зеркала сайта - указать в файле robots.txt, какой из сайтов главный. Это делается при помощи команды host.

    С www на без www RewriteCond %{HTTP_HOST} ^www.site\.com$ RewriteRule ^(.*)$ http://site.com/$1 с без www на с www RewriteCond %{HTTP_HOST} ^site\.com$ RewriteRule ^(.*)$ http://www.site.com/$1

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

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

    Наличие или отсутствие в адресе сайта символа «слеша» в конце, так же, как и «www» в его начале, имеет значение для индексации поисковиками.

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

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

    Удаление слеша RewriteCond %{HTTP_HOST} (.*) RewriteCond %{REQUEST_URI} /$ RewriteRule ^(.*)(/)$ $1 Добавление слэша RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/

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

    Склеить слеши RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2 Склеить дефисы RewriteCond %{REQUEST_URI} ^(.*)--(.*)$ RewriteRule . %1-%2

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

    Redirect 301 /page.html http://www..html

    Для временного перенаправления (например, страницы с новинками интернет-магазинов или каждодневное меню на сайте ресторана) лучше использовать временный редирект 302.

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

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

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

    Иногда возникает необходимость на новый домен. Чтобы сделать это не потеряв показатели ТИЦ и PR, а также сохранив ссылочную массу и объем страниц, следует прописать редирект 301 для каждой из страниц старого сайта. В корневой папке старого сайта в файле robots.txt проставляется директива host, которая указывает на адрес нового домена.

    Как сделать редирект

    Для генерации редирект-кодов существуют специальные онлайн-сервисы. При недостаточном количестве знаний или опыта каждый веб-программист сможет воспользоваться такой помощью. Также посредством использования онлайн-генератора можно выявить ошибку в коде, созданном самостоятельно.
    Наиболее популярными площадками, предлагающими услуги генерации редиректов, являются:
    http://www.rapidtables.com/web/tools/redirect-generator.htm

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

    Целесообразность использования 301-ого редиректа

    Помимо редиректа 301 для взаимодействия сайта с поисковиками разработан также тег rel=canonical. Он несколько созвучен с редиректом 301, но подразумевает под собой не окончательное перемещение страницы на новый адрес, а доминирование данного адреса страницы над остальными возможными его копиями на сайте. При этом страницы-клоны остаются доступными для просмотра, но не подлежащими индексации. «301» же подает сигнал поисковикам удалить все старые и неверные адреса полностью.

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

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