Что такое 301 редирект его настройка и файл .htaccess.

Что такое 301 редирект его настройка и файл .htaccess. Создание сайта

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

Чтобы правильно сделать такое перенаправление вам поможет постоянный редирект или 301 редирект. Что это такое и как его правильно настроить для вашего сайта расскажем в этой статье. 

Что такое 301 редирект

Permanent Redirect 301 — это процесс, при котором пользователь не замечая самого процесса перенаправляется с одного сайта на другой или же с устаревшей страницы на новую. 

Редиректов бывает всего 5 видов, которые рекомендуется применять в тех или иных ситуациях на основе рекомендации от поисковых систем. 

Самые распространенные случаи для применения редиректов — переезд с http на https.

Зачастую SEO специалисты рекомендуют разработчикам настроить правильно редиректы, если сайт открывается параллельно по www и без, так как это фактически 2 разных сайта и они могут дублировать друг другу. 

Пример 301 редиректа
Источник https://yandex.ru/images/

Давайте рассмотрим все редиректы и как они работают:

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

Temporary Redirect 302 — это временный редирект для адреса или страницы сайта, второй из наиболее часто используемых редиректов, предназначен для временной переадресации пользователя с одной страницы на другую. Наиболее часто можно встретить такие редиректы где используется временный материал, но автор или вебмастер ожидает поступление нужного материала. Особенно это можно заметить на ресурса тематики медиа, музыки и фильмов. 

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

Пример для чего нужен 301 и 302 редирект
Источник — https://timeweb.com/

307 Temporary Redirect — данный редирект рекомендуется применять в крайних или же экстренных случаях. Например, если упал сайт и на нём проводятся технические работы и  будет какое-то время недоступен.

Обновления Meta Refresh — данный метод редиректа выполнятся не на стороне сервера, а на самом сайте, зачастую с большой задержкой для пользователя, до 10 секунд. Такой метод редиректа не рекомендуется применять для своих сайтов, так как падает поведенческая составляющая для сайта, потому что не все пользователи готовы ждать когда страница откроется. Такой метод редиректа применяется в основном хостингами при активной атаке на ресурс и он позволяет более эффективно фильтровать трафик и снизить нагрузку на сервер. 

Редирект rel=«canonical» — данный редирект предназначен для поисковых роботов, чтобы сохранить дублирующие страницы для пользователя, при этом указав для роботов какую страницу необходимо вносить в индекс, а какую нет. 

Дополнительно, полезно знать как настроить правильно редирект и при каких обстоятельствах он необходим:

  1. Полный переезд сайта на новый адрес. Если необходимо перенаправление всех запросов с 1site.ru на 2site.ru. 
  2. При установке SSL-сертификата. Не забывайте что сайт -http://1site.ru и https://1site.ru — это 2 разных ресурса, поэтому нам нужен редирект. 
  3. Битые страницы сайта. Если исправляете или же создаете новые страницы для старых, которые уже недоступны. 
  4. Перенос разделов на субдомены. Если использовался раздел, но вам нужно перенести его полностью на субдомен, например — с 1site.ru/razdel1 на 1site.razdel1.ru.
  5. Аккумулирование трафика с разных доменных зон. Например у вас брендовый магазин и вы покупаете домены site.ru, site.com, site.org, site.biz, и настраиваете редиректы со всех на site.ru.
  6. При использовании быстрого перехода пользователя на мобильную версию сайта. 
  7. При склеивание зеркал (да как пункт 5, но с разными доменами), допустим вы приобрели хороший домен, имеющий сильный ссылочный профиль, то вы можете с помощью редиректа склеить его с основным доменом. 
  8. При дублирование страниц. Редирект применяется для избавления от дублирования страниц, когда может быть на сайте ряд малоинформативных и очень похожих страниц, Яндекс может такие страницы исключать часть и оставлять несколько, в этом случае можно воспользоваться редиректом. 
  9. При удалении несуществующих страниц. Если у вас есть страницы, которые были удалены, но они находились в индексе и на них закупались ссылки, то можно сделать новую такую же страницу, а со старой направить 301 редирект. 
Пример работы 301 редиректа
Источник — https://yandex.ru/images

Способы настройки редиректа 301

  • Плагины для вашей CMS. Данный способ в основном часто используется в CMS WordPress и считается более удобным и быстрым;
  • Обработка PHP. Редирект настраивается через создание задания дополнительного условия в PHP- скрипте при котором обращение пользователя переадресовывается на другой файл;
  • Через тег в HTML. Редирект настраивается через добавление метки в заголовок html документа. Данный способ используется на статичных сайтах без CMS;
  • Редирект через JavaScript. Данный способ не рекомендуем к использованию, так как сначала браузер должен обработать сам скрип, после скрипт выполняет операцию по переадресации. Используется если необходима задержка между редиректом и обращением. Настраивается путем добавления скрипта в <head> страницы. 
  • Настройка редиректа через файл .htaccess. Данный файл необходим для хранения и передачи дополнительных конфигураций в серверах Apache. Удобнее всего с ним работать через главную панель хостинга. 

Как настроить постоянный 301 редирект в CMS

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

  1. Redirection – WordPress plugin | WordPress.org Данный плагин один из популярных по настройке редиректа, он собирает статистику по переадресации, отслеживает 404 страницы, что позволяет быстро среагировать.
  2. Safe Redirect Manager – WordPress plugin | WordPress.org Этот плагин попроще чем предыдущий, но также поддерживает регулярные выражения, настройка и установка редиректа никак не влияет на производительность сайта. 
  3. Quick Page/Post Redirect Plugin – WordPress plugin | WordPress.org Данный плагин менее функционален и пользуется меньшим спросом из-за отсутствия поддержки регулярных выражений, но у него к ссылкам можно добавлять атрибут “noffolow”.
  4. Simple 301 Redirects by BetterLinks — Плагин для WordPress | WordPress.org Русский Данный плагин не является полностью автоматизированным, так как URL адрес при переадресации необходимо прописывать вручную, что не всем подходит. 
  5. Clearfy Pro — этот плагин платный, поддерживает целый ряд инструментов, начиная от безопасности сайта и оптимизации сайта с точки зрения сео, но и настройку редиректов. 

Я лишь привел ряд инструментов, которыми вы можете воспользоваться для автоматизации настройки редиректа, на самом деле их великое множество и какой подойдет вам — решать вам. Смотрите на рейтинг, отзывы других людей, функционал, ну и конечно же все зависит какой CMS вы пользуетесь.

Настройка 301 редиректа через файл .htaccess

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

Что такое файл .htaccess

.htaccess — это конфигурационный файл для сервера Apache. Его используют для настройки хостинга или веб-сервера и для правильной обработки URL адресов сайта. 

Для настройки 301 редиректа через файл .htaccess применяют, как правило, одну из 3 основных директив: Redirect, RedirectMatch или RewriteRule.

Так как файл располагается как правило в основной папке сайта (public_html), то и директивы распространяются на главную и дочерние файлы сайта (страницы). 

Соответственно найти его можно в той же папке — public_html. Для редактирования его можно скачать и после залить с заменой или же воспользоваться файловым менеджером на хостинге и редактировать его из него напрямую.

301 редирект через файл .htaccess
Источник — https://soltyk.ru/

Подготовка к настройке редиректа

Чтобы приступить к началу настройки редиректа, необходимо выполнить несколько шагов:

  1. Чтобы изначально был настроен 301 редирект и не пришлось после вносить изменения, так как хостинг по умолчанию может поставить вам 302 или же другой 3хх редирект, необходимо прописывать в инструкциях [R=301,L];
  2. Рекомендуем производить настройку через панель управления хостинга, поэтому необходимо авторизоваться и перейти в файловый менеджер;
  3. Перейдите в корневой каталог сайта и найдите файл, обычно папка с сайтом называется также как и домен, находится в папке public_html; 
  4. Найдите файл .htaccess в корневой папке сайта, если его нет, то необходимо его создать, вы можете сделать это сразу, не выходя из панели управления;
  5. Чтобы избежать ошибок при настройке редиректа, рекомендуем все инструкции прописывать в блоке IfModule:
<IfModule mod_rewrite.c>
</IfModule>

Чтобы начать прописывать правила для редиректа, необходимо для начала активировать перенаправления при помощи команды: 

RewriteEngine On

Теперь давайте разберём самые распространённые варианты настройки 301 редиректа через файл .htaccess.

Склейка зеркал сайта

Как уже говорилось ранее, сайты типа www.1site.ru и 1site.ru — для поисковых систем являются совершенно разными ресурсами, да отличает их только наличие www в адресе, но чтобы не попасть под аффилиат фильтр, необходимо производить склеивание.

Если изначально версия в индекс попала с www в начале адреса сайта, тогда в файл .htaccess прописываем следующие правила:

RewriteCond %{HTTP_HOST} ^www.name\.site$ [NC]
RewriteRule ^(.*)$ http://name.site/$1 [R=301,L]

Если же ситуация другая и изначально версия попала без www в начале адреса сайта, тогда необходимо воспользоваться следующими инструкциями:

RewriteCond %{HTTP_HOST} ^v name\.site$ [NC]
RewriteRule ^(.*)$ http://www.name.site/$1 [R=301,L]

Переезд сайта с http на https

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

Для всего сайта

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

Если вам необходимо перевести полностью весь сайт с http на https, то прописываем следующие инструкции в файл .htaccess:

RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

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

RewriteCond %{HTTPS} =on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

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

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

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

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} =/page.php
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

Если же и в данном случае не сработал редирект, рекомендуем обратиться к хостеру для разъяснения дальнейших действий, но в целом приведенные инструкции для настройки 301 редиректа на защищенный протокол https должен заработать. Обязательно рекомендуем еще проверить сайт постранично, так как редирект может работать не корректно с какими-то страницами, чтобы в дальнейшем не возникло проблем с SEO.

Постраничный редирект

Иногда бывают случаи, когда необходимо сделать переезд не всего сайта на защищенный протокол, а его часть, при этом какие-то страницы, должны быть на старом протоколе, например страница page.php:

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} !^/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Редирект для одной страницы

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

RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

Обратный редирект с https на http

Бывают ситуации, когда необходимо откатить редирект с https на http по разным причинам, самая распространенная — не продлили SSL сертификат, то в таком случе предлагаем воспользоваться следующим способом:

RewriteEngine On
RewriteCond %{SERVER_PORT} ^443$ [OR]
RewriteCond %{HTTP} =on
RewriteRule ^(.*)$ https://name.site/$1 [R=301,L]

Смена доменного имени

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

RewriteCond %{HTTP_HOST} ^www\.old_name\.ru$ [NC]
RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^old_name\.ru$ [NC]
RewriteRule ^(.*)$ http://new_name.ru/$1 [L,R=301]

Он позволит безболезненно произвести переезд сайта с одного домена на другой, при этом всё равно будет небольшая просадка по трафику, но если вы сделали всё верно — трафик восстановиться в следующем месяце или даже раньше. 

Обычный редирект страницы без дополнительных параметров

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

RewriteRule ^(.*)old_page.html$ http://vash-sait.ru/new_page.html [R=301,L]

Редирект страницы с дополнительными параметрами

Если страница имеет дополнительные параметры в URL, можно использовать предыдущий метод или воспользоваться следующим: 

RewriteCond %{QUERY_STRING} section=1
RewriteRule ^index.php http://name.site/articles.php? [R=301,L]

Где section=1 это параметр окончания URL. Пример — http://name.site/articles.php?section=1.

Редирект с index.php на главную

Зачастую такая ситуация возникает как на сайтах с CMS (DLE, MODX, Joomla и т.д.) когда главная сайта выглядит как site.ru/index.php или index.html, для того, чтобы исключить дублирование главной страницы сайта и оставить только нужную в индексе, рекомендуем использовать следующие инструкции: 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://name.site/ [R=301,L]

Редирект со страниц со “/” на без “/” 

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

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Редирект со страниц без “/” на страницы с “/” 

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

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]

301 редирект с несуществующих страниц с 404 ошибкой

Если страница отдает 404 Not Found или страница не найдена, то в индексе она всё равно находится какое-то время. Если же страницы постоянно обновляются и какие-то удаляются и чтобы не терять трафик, а перенаправлять его на главную страницу, тогда рекомендуем использовать следующий метод: 

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

Такой редирект позволит перенаправлять пользователей с несуществующих страниц с 404 страницей на главную страницу сайта, где пользователь сможет дальше перемещаться по сайту. 

Вывод

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

Оцените статью
( Пока оценок нет )
Блог о SEO продвижении сайтов в поисковых системах | StartSEO
Добавить комментарий