Seo-online
# # #
301 редирект

Как прописать 301 редирект

301 редирект - что это за зверь такой и как с ним обращаться? В статье вы узнаете когда без него ну совсем никак. И самое главное - получите подробный гайд, как настроить 301 редирект на своей CMS.

От 21.06.2021

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

Как прописать 301 редирект

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

  1. Сайт будет работать корректно.
  2. Не будет ошибок при открытии отдельных страниц.
  3. Пользователи не будут покидать страницу.

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

301 редирект и его альтернативы

Перенаправление с помощью 301 редиректа используется в следующих случаях:

  1. При склейке зеркал сайтов. Нужно выбрать главный домен и настроить редирект на него.
  2. Для более быстрого перехода с мобильных устройств на адаптивную версию.
  3. Для избежания 404 ошибки. Удаленная или несуществующая страница негативно воспринимается пользователями и поисковиками.
  4. При переносе сайта и смене доменного имени.
  5. При работах над SEO-продвижением ресурса. Например, если нужно сменить url страниц.
  6. При переносе разделов на субдомены.
  7. Для исключения дублирующих страниц.

Кроме 301 редиректа можно использовать и другие способы переноса:

  1. Редирект rel=canonical. Посетители смогут смотреть повторяющиеся страницы, но для поисковиков они будут закрыты от индексации.
Альтернатива 301 редиректа - rel=canonical
  1. Meta Refresh. Перенаправление происходит не на сервере, а на сайте. Это приводит к медленной загрузке разделов, из-за чего посещаемость сайта может упасть. Поэтому, без крайней необходимости не стоит прибегать к этому методу.
Альтернатива 301 редиректа Meta Refresh
  1. 302 редирект. Можно использовать для временной переадресации на другой адрес. Обычно это срок от 1 до 10 дней. Значение 302 редиректа чаще всего подразумевает , что запрашиваемая страница временно находится по другому URL адресу.
Альтернатива 301 переадресации - 302 редирект
  1. 307 Temporary Redirect. Применяется при технических работах, когда сайт недоступен. Для роботов это реплика 302го редиректа, когда все свойства страницы сохраняются, но она временно не доступна и перенесена на другой адрес.
Альтернатива 301 редиректа - 307 Temporary Redirect

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

Настройка 301 редиректа в htaccess

Htaccess – это специальное расширение для файла web-сервера Apache. Он используется для настройки веб-сервера и обработки URL-адресов.

Настроить 301 редирект в htaccess можно с помощью специальных директив (команд):

  • Redirect.
  • RedirectMatch.
  • RewriteRule.

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

Итак, если вы не знаете, как настроить переадресацию домена на другой сайт, воспользуйтесь инструкцией:

  1. Зайдите в корневой каталог и проверите в нем наличие .htaccess файла. Если его нет, то создайте файл самостоятельно.
  2. Включите механизм преобразований (RewriteEngine) при помощи команды RewriteEngine On.
  3. Используйте в правилах флаги. Например: [R=301,L].

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

Давайте рассмотрим несколько популярных настроек редиректа.

  1. Изменение домена. Если нужно не просто перенести ресурс, но и сохранить рейтинг, то придется настроить 301 редирект с домена на домен:
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]
  1. Изменение страниц. Сделать 301 редирект htaccess на другую страницу можно двумя способами:
  • перенаправление на всех страниц, кроме одной. Для этого пропишите постраничный редирект:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} !^/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
  • перенаправление одной страницы. Здесь можно использовать конструкцию:
RewriteEngine On
RewriteCond %{HTTPS} =off
RewriteCond %{REQUEST_URI} =/page.php
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
  1. Склейка зеркал (с www и без www). Иногда необходимо настроить настроить редирект с www на без www или наоборот. Это нужно, в первую очередь, для поисковых систем. Боты воспринимают зеркала как разные сайты. Они могут посчитать их плагиатом и наложить бан. Чтобы этого не случилось, адреса объединяются. Тогда поисковики верно проанализируют полученные данные, проиндексируют нужные страницы и не посчитают информацию дублированной. Ниже показаны основные команды, которые нужно прописать:
  • 301 редирект без www
RewriteCond %{HTTP_HOST} ^v name\.site$ [NC]
RewriteRule ^(.*)$ http://www.name.site/$1 [R=301,L]

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

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

#1 Server Response: http://example.ru
HTTP Status Code: HTTP/1.1 301 Moved Permanently
Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Location: http://www.example.ru/
Connection: close
Content-Type: text/html; charset=iso-8859-1
Redirect Target: http://www.example.ru/

#2 Server Response: http://www.example.ru/
HTTP Status Code: HTTP/1.1 200 OK
Date: Wed, 14 Mar 2007 22:49:28 GMT
Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b
Connection: close
Content-Type: text/html
  • настройка 301 редиректа с www
RewriteCond %{HTTP_HOST} ^www.name\.site$ [NC]
RewriteRule ^(.*)$ http://name.site/$1 [R=301,L]
  1. С http на https для всего сайта. Если вы переходите на работу с защищенным протоколом, не забудьте сделать переадресацию. Для этого в файл добавляется конструкция:
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]

Либо:

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} =/page.php
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
  1. С https на http. Бывают обратные ситуации, когда разработчики уходят от защиты протокола. В этом случае нужно прописать:
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]
  1. Перенаправление на страницу с другим адресом. Чтобы не потерять вес страниц, добавьте:
RewriteRule ^(.*)old_page.html$ http://vash-sait.ru/new_page.html [R=301,L]
  1. С index.php на главную страницу:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://name.site/ [R=301,L]
  1. Со слешем на без слеша:
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]
  1. Без слеша на слеш:
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]
  1. С несуществующей или удаленной страницы (404 ошибка). Сделать постоянную переадресацию особенно важно интернет-магазинам, поскольку ассортимент товаров постоянно обновляется. Команда:
ErrorDocument 404 http://www.site.com/301.html

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

Настройка 301 редиректа для разных CMS

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

Например, у WordPress это плагины. Для их добавления выполните следующие действия:

  • зайдите в административную панель;
  • откройте раздел “плагины” и нажмите кнопку “добавить новый”;
  • в строке поиска введите название;
  • нажмите установить и активировать;
  • после активации в разделе редиректы в блоке “добавить новое перенаправление” в поле исходный url пропишите относительный адрес (без домена). Там, где целевой адрес, введите полную ссылку, если вы хотите сделать 301 редирект на другой сайт, либо относительную - в рамках того же ресурса.
  • добавьте перенаправление.
  1. Redirection. Самый распространенный плагин на Wordpress. С его помощью можно отследить 404 ошибку и собрать статистику.
Плагин для Wordpress Redirection
  1. Quick Page/Post Redirect Plugin.
Плагин для Wordpress Quick Page/Post Redirect Plugin
  1. Simple 301 Redirects. Адрес для переадресации необходимо вводить вручную.
Плагин для Wordpress Simple 301 Redirects

Настройка 301 редиректа в WordPress происходит по общим правилам. Если брать другие cms, например Opencart, то здесь все намного сложнее. Стандартное правило одной строки даст только несуществующую страницу. В конце адреса прикрепляется хвост из-за строки RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]. Это может ввести в заблуждение, так как часть строки никак не убрать.

Поэтому, настройка 301 редиректа в Opencart происходит следующими способами:

  1. Правка оригинального кода.
  2. Три строки кода на каждое условие переадресации.

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

Его преимущества:

  1. Быстрая установка.
  2. Совместимость со всеми версиями.
  3. Нет необходимости в перезаписи и правке файлов.
  4. Условия прописываются в административной панели.

После установки нужно перейти в настройки магазина. В первой вкладке появится поле ввода условий в формате.

old-url==new-url
old2==new2
...

Новый редирект пишется с новой строки и разделяется двойным символом равно

«==»

Если рассматривать систему битрикс и как в ней настроить редирект, то можно использовать общее правило:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.sng-it.ru$ [NC]
RewriteRule ^(.*)$ http://sng-it.ru/$1 [R=301,L]

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

Настройка 301 редиректа в Тильде происходит через административную панель. Для этого нужно зайти в “Настройки сайта” - “SEO” - “Редиректы страниц”. Здесь можно выбрать нужную строчку и нажать кнопку “сохранить”. Удобство заключается в том, что не нужно прописывать все вручную. Команды добавляются автоматически, в зависимости от выбранной функции. Поэтому здесь от вас требуется только верно определить, какая именно переадресация нужна.

Настройка 301 редиректа в Тильде

Как проверить, правильно ли настроен 301 редирект

Есть несколько способов проверить 301 редирект:

  1. Ручной метод. Вставьте в адресную строку любого браузера адрес, с которого настроено перенаправление. Если откроется ресурс, на который поставлен редирект - все сделано правильно.
  2. Автоматический метод. Используются специальные сервисы:
  • Screaming Frog. Сканируется весь сайт на наличие ошибок.
Проверка правильно настроенного редиректа через Screaming Frog
  • Redirect Checker. Тест отдельных страниц.
Проверка правильно настроенного редиректа через Redirect Checker

Самые распространенные ошибки, при которых переадресация не сработает:

  • неправильно выбранный редирект;
  • использование перенаправлений между страницами сайта без изменения их url в ссылках;
  • установка временной переадресации вместо постоянной;
  • перенаправление файла robots.txt;
  • переадресация на нерелевантный контент;
  • перенаправление, которое не приводит к 200-й коду ответа сервера.

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

Кейсы

Оставьте заявку

Имя

Телефон

E-mail

Адрес вашего сайта

Бюджет

35000 руб.

200000 руб.

Ваш комментарий

Подписаться на рассылку

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Агентство SEO продвижения сайтов
ул. Каховка дом 24
Москва, Москва, 117461 Россия
+7 (499) 288-71-53
Продвижение сайтов