Как настроить 301-й редирект - Новости о поисковых системах, SEO и интернет-маркетинге
PPC

Как настроить 301-й редирект

Реклама. ООО «Клик.ру», ИНН:7743771327, ERID: 2Vtzqx8GEkN

С 301-м редиректом (переадресацией) вы обязательно столкнетесь при склейке зеркал сайта с префиксом WWW и без него, в случае переезда сайта на новый домен, с HTTP на HTTPS, переноса страницы в другой раздел сайта и изменения ее адреса. Во всех этих случаях важно сохранить позиции и трафик, перенаправляя его на новые страницы. Как это сделать? Читайте нашу инструкцию.

Код состояния HTTP 301 (Moved Permanently или 301 редирект) – это стандартный код ответа сервера, который сообщает, что запрашиваемый ресурс перемещен и получил новый URL.

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

Настроить 301-й редирект можно разными способами:

  • с помощью HTML и PHP;

  • средствами специальных плагинов для CMS,

  • при помощи скриптов;

  • с помощью файлов .htaccess для сервера Apache или web.config – для IIS.

Последний вариант – самый надежный и простой, поэтому о нем и расскажем подробнее.

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

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

Если в корневой папке вашего сайта нет файла .htaccess, его нужно создать и загрузить с помощью FTP-клиента. Теперь можно приступать к настройке редиректов.

Подробнее о возможностях файла .htaccess – в этой статье.

Редирект с одного домена на другой

Когда вам требуется сделать редирект с текущего домена на другой (например, при переезде сайта), можно использовать директивы модуля mod_alias. Пропишите в .htaccess следующую директиву (вместо newsite.ru укажите ваш новый домен):

Redirect permanent / https://newsite.ru/

или

Redirect 301 / https://newsite.ru/

301 редирект – не единственный возможный. Есть 302, 307 и другие редиректы. О том, в каких ситуациях их использовать и в чем их польза для SEO, рассказано в этой статье.

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

Приведем еще примеры настройки переадресации 301.

  • Редирект со страницы page1.html на страницу page2.html:

Redirect 301 /page1.html https://site.ru/page2.html

  • Редирект с главной страницы сайта на страницу каталога /cat:

Redirect 301 / https://site.ru/cat

  • Редирект с каталога /cat на главную:

Redirect 301 /cat https://site.ru

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

Редирект часто используют для склеивания зеркал сайта – так называются варианты сайта с одинаковым контентом, доступные по разным адресам. Например, site.com и www.site.com. Поисковики не любят зеркала и считают их дублями, поэтому рекомендуется выбрать один основной адрес (главное зеркало), а с остальных настроить переадресацию на него.
Для склейки зеркал применяется модуль mod_rewrite.

Например, если вы хотите, чтобы шел редирект с домена с www на домен без www, то пропишите такие строки (где yoursite.ru – ваш домен):

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.yoursite.ru$ [NC]

RewriteRule ^(.*)$ http://yoursite.ru/$1 [R=301,L]

И наоборот – редирект с домена без www на домен с www:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^ yoursite.ru

RewriteRule (.*) http://www.yoursite.ru/$1 [R=301,L]

Редирект всех страниц сайта при переезде с http на https:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

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

RewriteEngine On

RewriteCond %{HTTPS} =off

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

Борьба с дублями на сайте

Также 301 редирект используется в борьбе с дублями страниц. Приведем несколько примеров.

Для поисковых систем URL https://www.yoursite.ru/ и https://www.yoursite.ru являются разными. Поэтому надо решить, какой тип использовать: со слешем в конце или без него.

Для того чтобы убрать слеш в конце URL, пропишите в файле .htaccess правило:

RewriteEngine On

RewriteCond %{HTTP_HOST} (.*)

RewriteCond %{REQUEST_URI} /$ [NC]

RewriteRule ^(.*)(/)$ $1 [L,R=301]

Добавить слеш можно таким образом:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !(.*)/$

RewriteRule ^(.*[^/])$ $1/ [L,R=301]

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

RewriteEngine on

RewriteBase /

RewriteRule ^(.*).htm$ $1.html [R=permanent]

Если вы прописываете несколько директив, то строка «RewriteEngine on» указывается один раз – с ее помощью включается модуль mod_rewrite.

Если вы создаете файл .htaccess с нуля, то все команды указываются внутри таких строк:

< IfModule mod_rewrite.c >

< /IfModule >

Например, так будет выглядеть файл .htaccess с двумя редиректами: с www на без www и со страниц без слеша на страницы со слешем в конце:

Это лишь несколько примеров дублирования страниц. Вот подробная инструкция по поиску и устранению дублей на сайте – в том числе с помощью 301 редиректа.

Настройка 301 редиректа в web.config

Вариант редиректа с помощью .htaccess работает только для Apache. Для веб-сервера IIS настраивать переадресацию нужно в файле web.config. Это XML-файл, в котором хранятся основные настройки сервера IIS. Его роль аналогична роли файла .htaccess для сервера Apache.

Чтобы настроить 301-й редирект с одной страницы (yoursite.ru/page.html) на другую (yoursite.ru/page2.html), нужно прописать в файле web.config следующий фрагмент кода:

< ?xml version="1.0" encoding="UTF-8"? >

< configuration >

< location path="test.html" >

< system.webServer >

< httpRedirect enabled="true" destination="http://yoursite.ru/page2.html" httpResponseStatus="Permanent" / >

< /system.webServer >

< /location >

< /configuration >

301-й редирект с домена с www на домен без www настроить можно таким образом:

< configuration >

< system.webServer >

< rewrite >

< rules >

< rule name="Imported Rule 1" stopProcessing="true" >

< match url="^(.*)$" ignoreCase="false" / >

< conditions logicalGrouping="MatchAll" >

< add input="{HTTP_HOST}" pattern="^www.(.+)$" / >

< /conditions >

< action type="Redirect" url="http://{C:1}/{R:1}" redirectType="Permanent" / >

< /rule >

< /rules >

< /rewrite >

< /system.webServer >

< /configuration >

Альтернативные способы настройки переадресации

Если по какой-то причине вы не можете создавать и редактировать web.config или .htaccess (например, в силу ограничений на хостинге) или вам нужна определенная обработка полученных данных, их модификация или проверка, по результатам которой реализуется перенаправление, вы можете настроить редирект с помощью PHP.

Синтаксис следующий:

< ?php

header(‘HTTP/1.1 301 Moved Permanently’);

header(‘Location: https://newsite.ru/’);

? >

В этом случае происходит принудительная передача кода HTTP-ответа 301, и пользователь перенаправляется на страницу https://newsite.ru/.

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

< meta http-equiv="refresh" content="0; url=https://newsite.ru" >

Изменяя цифру 0, вы задаете количество секунд до переадресации. В этом случае редирект реализуется не на стороне сервера, а на стороне клиента (не передается заголовок 301).

Также редирект можно сделать с помощью JavaScript:

< script type="text/javascript" >

window.location.replace(«newsite.ru»);

< /script >

В этом случае также не передается заголовок 301. И если у пользователя в браузере отключена поддержка JavaScript, то редирект не сработает.

Вариантов редиректов бесчисленное множество. Упростить работу можно с помощью генераторов редиректов. Это онлайн-сервисы, которые выдают готовые коды, – вам нужно лишь указать, откуда и куда перенаправить пользователя. Вот некоторые из этих сервисов: www.webconfs.com, www.rapidtables.com, www.htaccessredirect.net.

Как настроить редирект, если нет опыта веб-программирования

Настройка редиректа – сложная техническая задача, для выполнения которой не обойтись без профильных знаний. Если вы не владеете навыками разработки и программирования, и у вас под рукой нет штатного программиста, можно воспользоваться поддержкой хостинг-провайдеров. Многие из них предлагают услугу web-форвардинга (или «переадресация домена», «URL-форвардинг» и т. п.). Она позволяет настроить переадресацию с одного URL на другой. При этом используется 301 редирект.

Еще один вариант – настройка редиректов с помощью встроенных инструментов CMS или конструкторов сайтов (такие есть, например, в Joomla!, Wix и Тильде) или специальных плагинов.

Популярные плагины для WordPress

Настроить редиректы для сайта на WordPress можно с помощью таких плагинов:

  • Redirection – самый популярный плагин для настройки редиректов. Кроме основной функции обладает следующими возможностями: сбор статистики переадресаций, отслеживание ошибок 404, поддержка регулярных выражений.

  • Safe Redirect Manager – простой плагин, который также поддерживает регулярные выражения и не несет серьезной угрозы для производительности сайта.

  • 301 Redirects – помогает создавать 301, 302, 307 редиректы. Есть журнал для выявления ошибок 404 – удобно, чтобы понять, какие страницы нуждаются в перенаправлении.

Не уверены, что сможете правильно настроить редиректы своими руками? Лучше не рисковать – в модуле SEO платформы PromoPult за вас все сделают профессиональные вебмастера. Все работы выполняются по чек-листу и в срок.

Подводим итоги

Лучший способ настроить 301 редирект – с помощью .htaccess. Но он подходит только для веб-серверов Apache. Для IIS придется настраивать web.config. Если же нужно не просто сделать редирект, а учесть определенные условия, то используйте PHP, но в этом случае без помощи программиста не обойтись.

Есть и другие способы (в частности, с помощью HTML и JavaScript), но это не 301 редирект, а просто перенаправление без передачи веса, что бесполезно с точки зрения SEO.

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

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

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

Оригинал статьи на SEOnews

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»