Что такое редирект и как его прописать
18.08.2023
Редирект (также известный как переадресация URL-адреса) – это перенаправление посетителей с одного URL-адреса на другой. Как это работает? Например, пользователь вводит https://www.web-promo.ua/, а попадает на https://web-promo.ua/ – это и есть редирект.
В приведенном примере нет большой разницы между двумя URL-адресами, и пользователь может даже не заметить никаких изменений. Однако бывают и более кардинальные перенаправления.
Правильно и вовремя настроенный редирект оказывает непосредственное влияние на пользовательский опыт. Исследование Radware показало, что 60% веб-страниц имеют по крайней мере одну ошибку, связанную с перенаправлением. Как думаете, останется ли пользователь на вашем сайте, если увидит уведомления типа “Ошибка 404”, “Страница не существует” или “Много перенаправлений. Невозможно загрузить страницу? Опять же обратимся к статистике – в отчете веб-безопасности за 2022 год компания Radware обнаружила, что ошибки перенаправления могут привести к снижению конверсий на 10%. Так что самое время разобраться, для чего нужен редирект и как его прописать.
Какие проблемы может решить редирект?
- Перемещение страницы на новый URL. В таком случае лучше использовать переадресацию, чтобы пользователи, пытающиеся получить доступ к старой странице, автоматически переходили на новую. Это важно как для пользователей, так и поисковых систем. Пользователи будут менее подвержены разочарованию, если они перейдут на правильную страницу, а поисковые системы смогут должным образом проиндексировать новую страницу;
- «Переезд» на новый домен;
- Удаление страницы;
- Создание новой категории или тэга. Если вы обновляете структуру сайта, лучше позаботиться о редиректе для тех страниц, которые получили новый тег или попали в другую категорию;
- Техническое обслуживание страницы. Пока на сайте «ведутся работы», не позволяйте пользователям это заметить, предоставьте доступ к резервным версиям, чтобы они могли продолжить потреблять ваш контент;
- Изменение нешифрованного протокола HTTP на зашифрованный HTTPS.
Основные виды редиректов
Код 301 – Moved Permanently
Это постоянный редирект. Он используется, когда страница переехала в новый адрес и вы хотите, чтобы пользователи всегда попадали в нее. 301 редирект дает понять поисковой системе, что страница переехала и стоит проиндексировать новую версию.
Редирект типа 301 используют при следующих обстоятельствах:
- вы переместили свой сайт на новый домен и хотите совершить плавный переход;
- на ваш сайт ведет несколько разных URL-адресов. Если домашнюю страницу можно получить несколькими способами, выберите один из них как желаемый (канонический) целевой адрес и настройте перенаправление на него;
- вы объединяете два веб-сайта или несколько разделов. В таком случае редирект настраивается из устаревших URL на обновленные страницы.
! Чтобы обнаружить код 301, распознать его и проиндексировать новую страницу, поисковику потребуется определенное время.
Код 302 – Moved Temporarily
Это временный редирект. Он используется, когда страница временно недоступна и вы хотите, чтобы пользователи переходили на другую страницу, пока основная страница не восстановится.
Когда еще может понадобиться этот тип редиректа?
- пока производится техническое обслуживание страницы;
- если вы не хотите, чтобы произошло «склеивание» старой и новой страницы;
- хотите сохранить в индексе оба URL-адреса;
- когда ваш домен попал под фильтры, баны и под. и вы решили поменять адрес сайта (домен). Если вы выбираете 301 редирект, то в результате все проблемы старого адреса перенесутся на новый. В таком случае лучше выбирать код 302.
Meta Refresh
Это редирект, который выполняется с помощью HTML-тега на странице. Мета-тег добавляется к главе HTML-документа и содержит атрибуты, указывающие, на какую страницу перенаправлять пользователя, и через какой промежуток времени сделать это.
Мета-тег refresh можно использовать для:
- перенаправление пользователей с одной страницы на другую с новым дизайном или контентом;
- переход на страницу на другом языке;
- перевод на другой домен.
Мета-тег refresh – не требует вмешательства в код страницы, однако имеет некоторые ограничения:
- это тип перенаправления, выполняемый на уровне страницы, а не на уровне сервера. Обычно он медленнее. Чаще они выглядят как отсчет времени с текстом «если вас не будут перенаправлены через пять секунд, нажмите здесь»;
- его нельзя использовать для перенаправления пользователей со страниц, защищенных паролем;
- невозможно «переводить» пользователей со страниц, имеющих высокое количество посещений.
JavaScript Redirect
Редирект, выполняемый с помощью JavaScript. Этот метод может быть использован для редиректа пользователей после загрузки страницы.
Однако, если вы хотите использовать этот тип редиректа, важно учитывать следующее:
- пользователи могут отключить использование JavaScript в своем браузере, тогда этот метод не сработает;
- поисковики могут интерпретировать JavaScript Redirect по-разному. Некоторые из них могут не учитывать редирект при индексации страницы;
- JavaScript Redirect может задержать загрузку страницы, особенно если она выполняется с большой задержкой. Это может оказать негативное влияние на пользовательский опыт.
Как проверить код ответа на странице вашего сервера?
Код ответа сервера указывает результат запроса к серверу и может помочь понять, почему запрос прошел успешно или неудачно. Как его увидеть?
Способ 1. Расширение браузера для разработчиков. Большинство современных браузеров имеют расширения, позволяющие проверить код ответа сервера для каждого запроса. Обычно их можно найти в разделе «Сеть». После запроса на сервер будет отображен список запросов и их ответов, где вы сможете увидеть код ответа для каждого запроса.
Способ 2. Командная строка. Вы можете использовать инструменты командной строки, такие как `curl` или `wget`, для осуществления запросов к серверу и получения ответа вместе с кодом статуса.
Способ 3. Серверные логи. Если вы имеете администратор сервера или имеете доступ к серверным логам, вы можете проверить коды ответа сервера в журналах сервера.
! Логи – текстовые файлы, содержащие данные о возникших ошибках работы системы. Название лога состоит из 2 частиц, например error_log или access_log.
Способ 4. Сканирование через SEO сервисы. К примеру, можно воспользоваться сервисом Screaming Frog. Для этого нужно скачать их продукт – SEO Spider (доступна как бесплатная, так и платная версия) и выполнить следующие действия:
- введите или скопируйте адрес веб-сайта, который вы хотите просканировать и нажмите «Начать»;
- выберите вкладку «Responce Codes» и примените фильтр «Redirection (3XX)»;
- проверьте пункт назначения редиректа – просмотрите блок “Redirect URL”.
Что такое цепи редиректив и каково их влияние?
Цепочка редиректив – это последовательность перенаправлений, используемых для переноса пользователя с одного URL на другой.
Например, когда https://example.com/page1/ перенаправляется на https://example.com/page2/, а https://example.com/page2/ отправляет на https://example.com/страница3/. Такие цепочки редиректов могут повлиять на веб-сайт и его функциональность:
Скорость загрузки
Каждое дополнительное перенаправление может увеличить время загрузки страницы и, соответственно, повлиять на пользовательский опыт и позиции в поисковых системах.
PageRank
Ссылки, которые переходят через многие редиректы, могут потерять свой «вес».
Ошибки в работе сайта
Не настроенные должным образом редиректы могут привести к ошибкам в работе сайта. Пользователи иногда будут встречать страницы ошибки 404 или с некорректным отображением. Кроме того, администраторам сайта может быть трудно отслеживать, какие редиректы работают правильно, а какие нет.
Трафик
Длинные цепочки редиректов могут привести к снижению потока пользователей, поскольку часть посетителей может отказаться от перехода на другую страницу из-за чрезмерной продолжительности процесса.
Бывает еще один тип цепей – цикл редиректив. Он может возникнуть, когда, например, вы создали перенаправление, а затем передумали и с новой страницы начали вести на старую. Другими словами, https://example.com/page1/ перенаправляет пользователя на https://example.com/page2/ , а https://example.com/page2/ возвращает пользователя обратно на https://example.com/ page1/.
Поэтому часто пользователи и поисковые системы не могут получить доступ к https://example.com/page1/. Пользователь видит ошибку «много перенаправлений», а поисковые системы не могут отсканировать бесконечный цикл перенаправлений.
Как найти?
Для поиска цепочек лучше использовать специальные чекеры. Среди них может быть, например, уже упоминавшийся Screaming Frog.
Для обнаружения их выберите «Отчеты > Редиректы > Цепи редиректив». Перед вами появится таблица с редиректами, количеством переходов на этом пути и источником. Также система определит, есть ли циклические редиректы.
Также вы можете воспользоваться сервисом Webmasta либо Redirectdetective.
Как прописать редирект?
Сегодня большинство современных платформ CMS предлагают решения или плагины для легкой настройки редиректов типа 301 и 302. К примеру, полезным может быть бесплатный плагин WordPress – RankMath.
Также распространенным способом настройки редиректа 301 является использование .htaccess файла.
Как прописать редирект с помощью файла .htaccess?
Для этого вам нужно создать новый файл в корневой папке вашего сайта и назвать его .htaccess. Затем добавьте в файл следующий код:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
Этот код пойдите, если вы хотите перенаправить все запросы из домена www.example.com на example.com (склейка дублей). После добавления его в файл .htaccess вам нужно перезагрузить сервер, чтобы изменения вступили в силу.
Несколько других примеров кодов для редиректов через файл .htaccess:
- стандартный 301 редирект (применяется для переадресации с одной страницы на другую):
Redirect 301 /was.php https://www.site.ua/new.php
- перенаправление с HTTP на HTTPS:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
- перенаправление из одной папки в другую:
RewriteEngine On
RewriteRule ^old-folder/(.*) new-folder/$1 [R=301,L]
- перенаправление с одного URL-адреса на другой:
RewriteEngine On
RewriteRule ^old-url.html new-url.html [R=301,L]
Выводы
Редирект важен для поддержания работоспособности сайта. Он позволяет пользователям и поисковым системам продолжать с вами взаимодействовать, даже если содержимое вашего сайта перемещается и меняется. Правильно настроенная переадресация заботится о том, чтобы пользовательский путь оставался четким и логичным, а ваша видимость в поисковых системах сохранялась даже в процессе изменений. Главное быть осторожными с количеством таких перенаправлений, ведь цепочки редиректов могут наоборот навредить, запутав поисковую систему или снизив вес ссылки. Также следует всегда проверять актуальность страниц, на которые настроена переадресация.