301-редирект: гайд по настройке

Что за зверь такой, этот редирект? Редирект используется для перенаправления человека или бота ПС на другой адрес, который отличается от запрашиваемого вначале.

Пример: https://en.uaateam.agency/ перенаправляется на https://uaateam.digital/

Когда используется 301 redirect

Самый распространенный пример использования 301 redirect в SEOпродвиженииэто склейка урлов сайта. В этом случае помимо передачи 90% ссылочного веса, передается также и авторитетность сайта с которого идёт перенаправление.

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

Если вы переезжаете на новый домен тоже было бы хорошо сделать редирект на него со старого, ведь таким образом можно сохранить трафик (люди переходят на старый домен через закладки или вписывают УРЛ в поиске, и в этих случаях попадают на новый домен)

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

Но в таких случаях также присутствует еще один вариант исправления ошибкиудаление страницы.

Виды Редиректов

301 редирект

301 редирект — это постоянный редирект, с помощью которого можно передавать  более 90% ссылочного веса, также он говорит о том, что страница имеет новый адрес, а старый УРЛ стоит считать неактуальным.

302 и 307 редирект

302 редирект является временным и передает целых 0% ссылочного веса и не рекомендуются для использования, его приемником в протоколе HTTP 1.1 является 307 редирект. Эти типы перенаправлений следует использовать лишь для перемещения контента на время, например, для проведения технических работ.

Остальные виды редиректов

Также редирект можно выполнить с помощью JavaScript или Meta Refresh, неудобство их использования заключается в том, что они не передают ссылочный вес и выполняются на уровне страницы, а не на уровне сервера как 301 или 302 редиректы.

Чем отличается постоянная переадресация от 302?

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

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

Советы по использованию редиректа

  1. Переадресация не должна быть циклической, если страница будет ссылаться на саму себя это может привести к тому, что при индексации сайта поисковым ботом, есть вероятность его попадания в такую «петлю», что в конечном счёте повлечет за собой сливание краулингового бюджета и как итог — сайт не будет проиндексирован.
  2. Не стоит делать редирект с адреса на который также идёт редирект, то бишь, если у вас есть страница 1, 2 и 3, то не нужно делать редирект с первой на вторую, а со второй на третью, ставьте сразу с первой на третью. Таким образом нагрузка на сервер не будет увеличиваться, а эффективность редиректа не будет уменьшаться.
  3. Размещение правил редиректов стоит начинать с общих, и лишь после них вписывать частные, так как при каких-либо противоречиях первыми будут срабатывать общие правила и лишь после них частные.
  4. Полезным редиректом будет считаться тот, который ведёт на страницу, копирующую во всех нюансах запрашиваемую.

 

Где настраиваются редиректы?

Самым популярным и распространенным методом выполнения переадресации является создание файла под названием .htaccess в папке сайта или редактирование его, если он у вас имеется.

При использовании веб-сервера Apache файл называется httpd.conf.

Рекомендую вам делать Backup файла или всего сайта, перед тем как вносить какие-либо изменения.

Регулярные выражения

Прежде чем перейти к примерам, хочу сказать, что для написания правил редиректов используются регулярные выражения. Помимо редиректов, они могут использоваться в сервисах аналитики (Google Analytics, Яндекс Метрика), поиске записей по ссылкам, при работе с Google Tag Manager. 

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

 Примеры:

  • Перенаправляем полностью весь сайт на новый адрес:

  • Редирект с одной страницы на другую

  • Редирект с www на без www:

  • Переадресация с HTTP на HTTPS:

Не забывайте о том, что работая с файлом, команда происходит на уровне сервера с ОС Linux или Apache с активированным модулем Mod_rewrite.

Также можно уменьшить нагрузку на сервер, изменив конфигурационным файлом hpptd.conf. — редирект .htaccess.

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

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

С помощью PHP-условия

Если вы знаете структуру web-проекта, разбираетесь в PHP и сайт сделан на CMS, то откройте файл index.php, и в корне движка пропишите:

(в первой строчке указывается старый url, а во второй — новый)

Также, перенаправление PHP можно сделать с помощью отправки заголовков:

ASP редирект

ASP.NET редирект

В корне сайта необходимо будет найти файл web.config и вставить в секцию синтаксис:

ColdFusion редирект

JSP (Java) редирект

Такой способ лучше всего подойдет для корректировки простых проектов. Вы просто прописываете код в одном файле и добавляете на все нужные страницы. А вот и сам код:

(перенаправление на другой сайт)

CGI-скрипт на PERL

Ruby on Rails

Редирект в nginx

HTML-редирект

Если вам необходимо изменить лишь одну страницу на простеньком статическом сайте — сделайте редирект HTML.  Просто добавьте мета-тег внутри.

В данном примере мы используем редирект на наш сайт с 10-секундной задержкой:

Если мы изменим значение с 10 на 1, то пользователь отправится на https://uaateam.agency/ с секундной задержкой.

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

Редиректы по типам задачи

Перенаправление с www / без www

Добавьте эти строки в файл .htaccess, если вам необходимо настроить главное зеркало:

Также редирект с www можно выполнить благодаря синтаксису:

Склейка index.php, index.html, index.htm, index.asp

Редирект с http и https

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

или

Редирект с https на http

Склейка дублей со слешем в конце url

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

Код для обратного эффекта:

Удаляем несколько слешей или тире в адресной строке

Делаем перенаправление с лишними слешами на страницу с одним слешем:

Для склейки тире воедино пропишите от www.site.com/catalog/page1.html:

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

 

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

Самая быстрая переадресация страницы на новый адрес:

С сохранением GET-параметров

url до параметра

 значение после параметра (вместо ?= ставится ^)

новый адрес

Если некоторых GET-параметров нет или они имеют произвольное значение, выбираем такой синтаксис:

Без сохранения GET-параметров

Для переадресации адреса site.ua/index.php на основное зеркало site.ua:

или

Редирект на URL в нижнем регистре

Мы знаем, что ПС учитывает регистр букв, именно поэтому разработчики пытаются добавлять адреса в нижнем регистре, но если что-то пошло не по плану, то всегда можно воспользоваться вот таким алгоритмом перенаправления.

Пропишите данный код на уровне php-скрипта:

С внутренней страницы на главную

Перенаправление каталога

Если изменяется структура каталога, отображаемой в url:

Если адрес каталога, который устарел, идет сразу же после названия сайта, то применяем такой синтаксис:

 

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

Редирект при изменении файловых расширений

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

Склеиваем домены или переезжаем на другой сайт

Перенаправляем все страницы с одного домена на главную страницу другого

Добавьте в файл .htaccess сайта, с которого делаете редирект, следующие строки:

(site.ua — площадка, на которую будет вести редирект)

Перенаправление на главную с внутренних страниц

Перенаправление на внутреннюю страницу с главной

С поддомена на основной домен

Со страниц одного домена на аналоги в другом

Если перенаправление на другой адрес необходимо после смены структуры урлов, то попробуйте этот код:

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

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

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