info@agentstvo-seo.ru

+7 (499) 112-06-62

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 редиректа поможет перенести сайт на другой домен, изменит адреса ссылок и склеит зеркала. Есть много способов прописать необходимые команды. Выбирать нужно исходя из навыков в программировании и знаний особенностей движка, на котором вы работаете.

Кейсы

Стоимость работ

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

Продвижение молодого сайта

Анализ проекта, разработка стратегии, контент-плана, представление услуг или товаров клиента в лучшем виде.

от 25 000 руб.

Продвижение по позициям

Раскрутка сайта в Яндекс и Google. Вывод ресурса в топовые позиции. Техническая оптимизация. Разработка семантики.

от 20 000 руб.

Продвижение интернет-магазина

Анализ конкурентов, разработка структуры витрины, наполнение сайта, подключение аналитики.

от 30 000 руб.

Комплексное продвижение

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

от 45 000 руб.

Онлайн заявка

Имя

Телефон

E-mail

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

Бюджет

15000 руб.

200000 руб.

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

Подписаться на рассылку
Агентство SEO продвижения сайтов
info@agentstvo-seo.ru
ул. Каховка дом 24
Москва, Москва, 117461 Россия
+7 (499) 112-06-62
Продвижение сайтов