301-й редирект: что это и зачем он нужен

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

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

301-й редирект: что это и зачем он нужен

Редирект — это перенаправление пользователя с одного url на другой.

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

301 и другие редиректы

Существует 3 наиболее часто используемых типа перенаправления: 301, 302 и 303. И вот их значение.

301-й — основная тема этой статьи. Это указывает на то, что ресурс был постоянно перемещен на новый адрес. Данные о трафике передаются на принимающую страницу, а страница-донор исчезает из поиска.

302-й — это временное перенаправление, которое обеспечивает статус «найдено» (302 Found). Поисковая система рассматривает страницу как временно несуществующую (например, во время технического обслуживания) и перенаправляет пользователя на нужную страницу. 302 не передает вес соединения акцептору. Поисковые системы считают это дубликатом страницы и часто исключают старую страницу из результатов.

303-й (See Other) — Этот редирект похож на 302-й редирект и также указывает на временное перенаправление.

Нас в первую очередь интересует постоянное перенаправление с одной страницы на другую, следовательно, первый вариант.

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

Для чего необходим 301 редирект

  • При склеивании зеркал ресурса. Без установки 301 редиректа роботу будут доступны для индексации все зеркала, например, https://, http://, https://www и http://www. Этого не должно быть, потому что робот считает, что все сайты разные, и просматривает каждое зеркало отдельно. Это может привести к неправильному присвоению весов ссылок различным зеркалам и негативно сказаться на продвижении ресурса.
  • При переносе веб-сайта на другой домен. Иногда для других нужд необходимо мигрировать в другой домен. Будь то значительное снижение трафика или ребрендинг компании с плавным переносом контента. Однако факт остается фактом: старый домен скоро будет недоступен. Чтобы не потерять постоянных посетителей или тех, кто добавил страницу в закладки, необходимо настроить 301 редирект. Когда пользователь нажмет на старый домен, он будет перенаправлен на текущий домен.
  • Для мобильных устройств. 301 редирект также используется для быстрого перехода с планшетов и мобильных устройств на адаптированную версию сайта.
  • При переходе на другой хостинг с изменением адреса сайта.
  • Когда существующий сайт удаляется. Чтобы пользователи не видели страницу с ошибкой 404, можно выполнить 301 перенаправление на домашнюю страницу или страницу с похожим содержимым.
  • В случае с дубликатами. Страницы с похожим содержанием ухудшают рейтинг, а если содержание полностью повторяется, поисковые боты могут даже исключить эти страницы из поиска. Поэтому для устранения рисков рекомендуется установить 301 редирект.

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

Пункт о дублировании может вызвать вопрос: зачем использовать 301 редирект, если можно использовать атрибут rel=»canonical»?

Давайте проясним ситуацию.

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

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

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

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

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

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

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

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

Редирект Htaccess

Метод для веб-сервера Apache.

.htaccess — это системный файл, который должен быть расположен в корневом каталоге сайта. Если он не существует, его необходимо создать с помощью Notepad++ в Windows.

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

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

Итак, настройка 301 редиректа через .htaccess:

Перенос домена

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

RewriteEngine On RewriteBase /

Если они отсутствуют, их следует добавить в конец файла. Вставьте следующий код сразу после этой записи:

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

Где

old-site.ru — домен, с которого мы устанавливаем перенаправление;
new-site.ru — домен, на который мы устанавливаем перенаправление.

Перенаправление с http на https

Чтобы настроить переход домена с http на https с помощью 301 редиректа, все шаги практически идентичны описанным выше.

Также ищем строки

RewriteEngine On RewriteBase /

Или добавьте их в конец файла, если они отсутствуют. После них введите следующий код:

RewriteCond %{ENV:HTTPS} !on
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

где https://domain.ru — ваш сайт.

В общем, на дворе 2023 год, и если страница находится на https, это задает хороший тон как для пользователей, так и для администраторов страниц.

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

Склейка с префиксом www и без него

Для склейки сайта с префиксом www и без www действия аналогичные.

Ищем или добавляем строки

RewriteEngine On RewriteBase /

После них вставляем код:

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

где site.ru страница-акцептор.

Редирект для внутренних страниц

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

Redirect 301 /page-old/ https://site.ru/page-new/

Используемые символы в редиректе:

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

PHP-редиректы

Для настройки этим способом нужно открыть (перед этим скачав на ПК) index.php и прописать следующий код в начале:

<?php
header(«HTTP/1.1 301 Moved Permanently»);
header(«Location: https://www.newdomain.ru/«);
exit();
?>

Далее нужно сохранить изменения и загрузить файл на сервер.

Данное перенаправление сделали при помощи отправки заголовков.

JavaScript-редирект

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

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

Такой код нужно вставить в <head>:

<script>
SetTimeot(‘location.href = ‘/’;»,2000);
</script>

Так мы настроили переадресацию с задержкой 2 секунды.

Также для WordPress существуют бесплатные плагины для простой настройки редиректа каждого типа Плагины редиректа.

HTML-редирект

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

Для добавления редиректа на странице, с которой он будет производиться, между тегами <head> и </head> добавляем следующий код:

<meta http-equiv=»refresh» content =»3 url=/»>

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

NGINX-редирект

Для веб-сервера Nginx 301 редирект с одной страницы на другую настраивается в конфигурационном файле (либо через htaccess), так: server {listen 443;location /cat/first {return 301 /second/;}

Web.config редирект

Данный способ для серверов IIS. Настройка редиректа выполняется в XML файле web.config. Там же находятся все основные настройки сервера. Перенаправляем с одной страницы на другую:

<configuration> <location path=»page1.htm»> <system.webServer> <httpsRedirect enabled=»true» destination=»https://site.com/page1″ httpsResponseStatus=»Permanent» /> </system.webServer> </location> <location path=»page2.htm»> <system.webServer> <httpsRedirect enabled=»true» destination=»https://site.com/page2″ httpsResponseStatus=»Permanent» /> </system.webServer> </location></configuration>

Сервисы для генерации редиректов

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

Seomagnifier

Этот сервис может генерировать код 301 редиректа с www-домена на домен без него и наоборот.

301 Redirect Code Generator

Позволяет генерировать код для всех вышеперечисленных типов перенаправлений.

Redirect generator

Еще один генератор 301 редиректа с удобным интерфейсом.

Simple Htaccess Redirects & Rewrite Generator

Универсальный генератор перенаправлений. Вы можете использовать его для установки основного url с косой чертой в конце «/» или без нее.

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

Сервисы проверки редиректа

Чтобы быстро проверить результаты, существует несколько сервисов (называемых инструментами проверки), которые покажут вам тип редиректа и ответ сервера.

PrCy checker

Показывает, доступно ли перенаправление на странице.

Redirect checker

Проверка перенаправления на английском языке. Отображает тип перенаправления и статус ответа сервера.

Вывод

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

Оставить комментарий

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

Top