Редиректы: что это, зачем нужен, виды, как сделать?
В этой статье вы найдете подробную информацию о редиректах. Познакомитесь с видами перенаправлений и узнаете, какие задачи они решают. Узнаете, как сделать редирект разными способами и какой метод перенаправления предпочтителен в конкретных случаях.
Что такое редиректы и зачем они нужны?
Редирект — перенаправление пользователя с одного URL на другой. Например, при переходе по ссылке http://seoshnikov.ru браузер автоматически перенаправляет пользователя на URL https://seoshnikov.
Редиректы помогают корректно перенаправлять посетителей на нужные страницы сайта без ущерба для пользовательского опыта и без нарушения требований поисковых систем. Правильно выполненный редирект сохраняет авторитет или ссылочный вес страницы-донора и передает его на страницу-акцептор.
В данном случае донор – страница, с которой перенаправляются пользователи. Акцептор – страница, на которую направляются пользователи.
Вот примеры использования редиректов:
- Перенаправление с http на https. Пример указан выше.
- Перенаправление с URL с www на URL без www и наоборот. При переходе по ссылке https://tinkoff.ru браузер перенаправляет пользователя на https://www.tinkoff.ru. При переходе по ссылке https://www.vc.ru браузер перенаправляет посетителя на https://vc.ru/.
- Переезд сайта на другой домен. Пару лет назад коллеги из популярного издания отказались от названия «Цукерберг позвонит» и настроили редирект с адреса http://siliconrus.com на https://vc.ru/.
- Перенаправление трафика с одной страницы сайта на другую. Например, если в интернет-магазине нет какого-то товара, он может перенаправить трафик на страницу похожего продукта.
- Перенаправление пользователей на мобильную версию сайта. Если владелец ресурса использует для адаптации к мобильному трафику только мобильную версию сайта, он настраивает редирект мобильных пользователей с www.example.au на www.m.example.au.
С помощью редиректов владелец сайта направляет пользователей с неактуальных страниц на актуальные. Перенаправления классифицируются по функциональному назначению и по способу реализации.
Виды перенаправлений (Редиректов)
Браузеры и роботы поисковых систем определяют вид редиректа по коду состояния HTTP. Перенаправления могут иметь разный HTTP-статус: 301, 302, 303, 307. Давайте рассмотрим каждый вид подробнее.
Редирект 301
Это самый распространённый вид перенаправления. Его можно сравнить с постоянным переездом — когда вы уезжаете из одного дома в другой и точно не вернётесь назад.
Получается, что HTTP-статус 301 (Moved Permanently) означает, что веб-страница навсегда перемещена с запрошенного URL на новый. После получения ответа 301 браузер делает новый запрос и быстро перенаправляет пользователя на актуальную страницу.
Поисковые системы хорошо реагируют на 301-й редирект, да и сложностей обычно не возникает. Но важно всё правильно настроить, чтобы пользователь при переходе не получил ошибку 404.
Редирект 302
Этот редирект 302 (Moved Temporarily) можно назвать «временным». Возвращаясь к предыдущему примеру с переездом в новый дом, этот вид можно сравнить, например, поездкой на дачу на летние каникулы — ваша квартира в городе никуда не денется, и вы сможете вернуться туда в любой момент.
К такому виду часто прибегают владельцы интернет-магазинов, чтобы перенаправить потенциальных покупателей со страницы с товаром, который закончился, на позицию с аналогичными характеристиками.
Важно — редирект 302 не передаёт авторитет и ссылочный вес донора акцептору. Для поисковых систем это означает полное дублирование страниц, а потому одна из них (чаще всего старая) будет исключена из выдачи (кстати, как и в случае с 301).
Редиректы 303 и 307
307-й (Temporary Redirect) для поисковых систем фактически точная реплика (копия) 303-го (Found) редиректа. Это временное перенаправление трафика на новую страницу с сохранением всех параметров прежней.
Эти виды используют, когда появляется необходимость перенаправить пользователя на другую страницу, которая не содержит точного ответа, но является частичной заменой запрошенной.
В большинстве случаев владельцам сайтов подходит редирект 301. Именно этот вид уведомляет поисковых роботов, что документ навсегда перемещён на новый адрес, что передаёт авторитет и ссылочный вес новой странице.
Способы реализации редиректов
Все реализации редиректов можно разделить на 2 группы:
- Серверные. Переадресации с помощью правил .htaccess, панели управления хостингом, PHP-скриптов — это примеры серверных реализаций. Такие редиректы происходят очень быстро, практически моментально, так как выполняются еще на этапе обработки запроса сервером.
- Браузерные. JavaScript, HTML, Meta-refresh — это браузерные редиректы. Они гораздо медленнее серверных, так как срабатывают уже после загрузки страницы или ее части в браузере.
Стандартные переадресации — с HTTP на HTTPS, со старого адреса на новый и т. д. —чаще всего реализуются с помощью серверных редиректов. Они надежные, быстрые и незаметные. Браузерные редиректы в этих случаях использовать крайне не рекомендуется: помимо медленного срабатывания, они могут не поддерживаться браузерами (тот же JavaScript может быть отключен).
Разберем подробнее.
Настройки редиректа с помощью панели управления хостингом
Большинство популярных панелей управления позволяют добавить в настройках правила типовых редиректов: с адреса, начинающегося на WWW на адрес без WWW, с HTTP на HTTPS и подобные. Что-то более точное в панели можно настроить, но уже через .htaccess — просто открывать и редактировать его вы можете и из панели управления хостингом.
Редирект через .htaccess
.htaccess — это специальный конфигурационный файл, который расположен в корневой папке сайта. Настройка редиректа с помощью прописанных в нем правил встречается чаще всего. Это переадресация серверного типа, она работает очень быстро и практически незаметна для пользователя.
Важный момент: файл .htaccess существует только у сайтов под управлением веб-сервера Apache, но их — большинство.
Чтобы проверить, под Apache ваш сайт или нет, можно воспользоваться инструментом от Netcraft. Смотрите в разделе Hosting History, в колонке Web Server.
Редирект на серверах Ngnix
Если ваш сайт работает не под Apache, а под Ngnix, здесь все настраивается совершенно по-другому. Есть основной файл конфигурации для всех доменов на сервере — ngnix.conf, а есть отдельные файлы для виртуальных хостов, т. е. отдельных доменов.
Для редактирования правил используется терминал. Синтаксис переадресаций для Ngnix отличается от синтаксиса в .htaccess. Но есть специальные сервисы, например, Winginx, которые помогают преобразовать правила из .htaccess в правила конфигурации Ngnix.
Плагины CMS
Для того чтобы администратору сайта не приходилось вникать в особенности программирования на PHP или синтаксис директив в .htaccess, разработчики CMS и энтузиасты создали множество специальных плагинов:
- OpenCart: Менеджер 301 редиректов, Менеджер редиректов для OpenCart 3.0.
- Битрикс: Редиректы для SEO, Простой редирект страниц.
- Joomla: Domainredirect.
Чтобы настроить в них редирект, вам потребуется только указать адреса страниц-доноров и акцепторов, или маску для их определения, а также основные параметры редиректа: постоянный, временный и т. п. Многие плагины имеют дополнительные преимущества: например, отслеживают изменение URL страницы-акцептора и соответственно меняют правило переадресации.
Особенно широкий выбор дополнений, конечно, в Wordpress. Есть узкоспециализированные плагины, например, только для переадресаций на HTTPS (Easy HTTPS Redirection).
Простой плагин только для одной функции
Есть многофункциональные: популярный плагин Redirection позволяет настраивать практически любые варианты редиректов.
Свыше 2 миллионов установок
А в арсенале Rank Math SEO не только настройка перенаправлений, но и большое количество других инструментов для оптимизации сайта.
В названии не просто так написано «лучший» — это действительно мегаполезное многофункциональное дополнение с хорошими отзывами
PHP-редирект
Переадресация этого типа также относится к серверным, хотя и работает чуть медленнее той, что сделана через .htaccess. Правила прописываются обычно в индексном файле сайта (index.php).
Редирект через PHP оптимален в тех случаях, когда у вас много правил для отдельных страниц или групп страниц. Файл .htaccess может сильно нагружать сервер, из-за множества директив.
JavaScript-редирект
Это уже переадресация браузерного типа. Редирект произойдет только когда страница-донор будет загружена в браузере. JavaScript-редирект оптимально подходит для нескольких ситуаций:
- Переадресация нужна с задержкой. Вы хотите, чтобы пользователь ознакомился с содержанием страницы-донора, прочел надпись «Сейчас мы автоматически перенаправим вас на …» и только после этого произошел редирект.
Переадресация с задержкой
Типовой случай: вы переехали на другой домен и при этом сменили дизайн. Если просто перенаправлять пользователя со старого на новый сайт без объяснений, он может не понять, что происходит, решить, что столкнулся с действием вируса и закрыть страницу. А вот если написать на старом домене: «Мы переехали! Сейчас вы будете перенаправлены на наш новый сайт» — поведенческие показатели будут лучше.
- Переадресация нужна после определенного действия пользователя на странице, например, нажатия на ссылку или кнопку. Пример использования — запрос подтверждения у пользователя при переходе по внешней ссылке.
Подтверждение перехода по ссылке на сайте text.ru
- Нужна вторая переадресация после 301 редиректа. После оформления заказа вы направили посетителя на страницу благодарности. А позже, после того как пользователь с ней ознакомится, хотите перенаправить его на главную страницу, в личный кабинет, или на страницу акций. Второй подряд 301 редирект может неблагоприятно сказаться на SEO-показателях. А вот JavaScript здесь будет уместен, тем более, что в нем легко выставить тайминг.
Однако нужно учитывать, что у многих посетителей в настройках безопасности браузеров JavaScript отключен. В этом случае переадресация не произойдет.
HTML-редирект или meta-refresh
Браузерный тип переадресации. Представляет собой метатег, в котором обычно указывается время задержки и страница, на которую перенаправляется пользователь.
Пример кода тега meta refresh с задержкой перенаправления 2 секунды
У meta-refresh плохая репутация среди поисковых систем, так как этот метод довольно часто использовался для перенаправления на дорвеи. Кроме того, у meta-refresh есть и другие недостатки:
- поддерживается не всеми браузерами;
- приводит к ошибкам сканирования. Поисковый робот не сканирует страницу, на которой расположен метатег refresh, а сразу переходит к той, на которую ведет переадресация;
- может определяться Google и «Яндексом» как спам, с соответствующими санкциями;
- Google-бот может игнорировать страницы с этим метатегом и не индексировать их.
W3C (World Wide Web Consortium) не рекомендует использовать этот атрибут.
Однако в некоторых случаях использование такого редиректа может быть целесообразным, например, для:
- перенаправления посетителя после оформления заказа на страницу благодарности;
- «подстраховки» переадресаций, реализованных на JavaScript — если браузер посетителя не поддерживает скрипты;
- перенаправления посетителя на страницу со ссылками для загрузки корректных браузеров — если в его браузере ваш сайт будет отображаться и работать с ошибками.
Примеры редиректов
Теперь перечислим самые распространенные случаи в SEO, когда нам пригодится переадресация.
Склейка зеркал
Для поисковых систем разные варианты написания одного и того же доменного имени, являются разными сайтами. Их называют зеркалами.
Например, 4 основных зеркала для любого сайта:
- http://site.ru
- http://www.site.ru
- https://site.ru
- https://www.site.ru
Чтобы выбрать одно из них главным самостоятельно, а не по усмотрению поисковика, настраиваем 301 редирект с http на https + выбранный вариант написания доменного имени, с www или без www.
Лучше сделать его напрямую, без промежуточных редиректов.
Делаем так:http://www.site.ru →301 https://site.ru
А не так:http://www.site.ru →301 https://www.site.ru →301 https://site.ru
Использовать несколько переадресаций за одно обращение допустимо, но в идеале стараемся избегать любых цепочек редиректов, потому что они:
- могут привести к циклическим редиректам;
- расходуют краулинговый бюджет, роботу сложнее обойти сайт;
- могут вызвать задержку загрузки страницы;
- возможны «потери» при передаче ссылочного веса;
- более 5 редиректов не допустимо: робот может посчитать, что сайт был взломан, и вовсе отказаться его сканировать.
Подклейка другого домена
При смене доменного имени или объединении нескольких сайтов в один, необходимо также настроить 301 редирект с домена на домен.
Не только для удобства пользователей, что привыкли к прежним имени/именам, но и для передачи ссылочного веса со старых сайтов. Особенно важно это в случае, если новое доменное имя совершенно свежее и раньше не использовалось — таким образом оно сразу получит определенный вес и авторитет.
Редиректы здесь, как и в предыдущем случае, настраиваем напрямую. К тому же очень желательно, чтобы страницы редиректили на страницы, похожие по смыслу и содержимому. Тогда склейка пройдет без проблем и может улучшить позиции в выдаче сайта-цели редиректа.
Удаление/перенос страниц и разделов
Когда страница перестает существовать в архитектуре вашего сайта, то нельзя просто отключать ее в админке. На эту страницу могут вести ссылки с других сайтов, тем самым увеличивая ссылочный авторитет вашего. Или же она могла успешно ранжироваться и приводить трафик из поиска, который теперь просто исчезнет.
Приняв решение удалить страницу, подумайте куда перенаправить пользователя, приходившего на нее. Самое логичное — это отправить его на страницу, схожую по смыслу, т.е. настроить редирект с одной страницы на другую .
Например, страницу каталога Платья бренда BAOMI /catalog/dresses/baomi/ надо удалить — в вашем ассортименте больше нет их продукции. В этом случае разумно настроить 301 редирект страницы и всех вложенных товаров на категорию верхнего уровня /catalog/dresses/: нет платьев этого бренда, но есть другие.
В крайнем случае, если похожих страниц нет, можно перенаправлять на главную.
Технические дубли страниц
В результате работы движка CMS на сайте нередко возникают технические дубли — страницы, которые имеют одинаковый контент и отличные URL-адреса. Скорее даже чаще возникают, чем не возникают.
А разные URLы, как мы помним, это разные страницы. Поэтому в поисковый индекс может попасть множество страниц с одинаковым содержимым. Это, во-первых, бесцельно расходует ограниченный краулинговый бюджет, а во-вторых, может существенно ухудшить ранжирование, т.к. поисковая система будет путаться в многочисленных вариантах и показывать пользователю то одну, то другую страницу.
Частые случаи технических дублей:
- со / на конце и без /. Пример, /catalog/ и /catalog — это разные адреса;
- нижний и верхний регистр. Пример, /catalog/Dresses/ и /catalog/dresses/;
- несколько одинаковых символов подряд, чаще всего это слеш //, но могут быть другие (&&, ___, ?? и т.д.). Пример, catalog/Dresses////;
- GET-параметры, которые не меняют содержимое страницы. Пример, /catalog/dresses/?date=2021-12-25/
Результаты работы панели управления сайтом могут создавать необычные дубли, поэтому изучите особенности работы своего движка.
Решение в случае с техническими дублями: оставить только один вариант URL, со всех остальных поставить 301 редирект на него.
Также надо максимально убрать возможность появления адресов дублирующих страниц в коде, настроив модули и плагины CMS.
В случае с GET-параметрами иногда это сложно реализовать, тогда на помощь может прийти мета-тег robots NOINDEX или canonical, о нем расскажем дальше.
Ошибки при использовании редиректов
- Любой многошаговый редирект. Если есть возможность, то желательно не допускать многошаговых редиректов, чтобы он и быстрее сработал, и передалось максимум ссылочного веса.
- Использование неправильного типа редиректов. При выборе типа редиректа необходимо учитывать нюансы каждого из них.
- Внедрение внутренних редиректов без смены ссылок на новые адреса. После внедрения всех редиректов у себя на сайте, необходимо проверить, чтобы каждая страница вашего сайта уже ссылалась на новую и внутри сайта у вас не было ссылок на страницы, с которых происходит редирект.
- Редирект на нерелевантные страницы/контент. Редирект всегда желательно проставлять на максимально релевантную страницу: или на похожую страницу, или на ветку каталога/раздела, к которому принадлежала данная страница.
- Неправильный выбор использования rel=canonical vs 301 редирект.
- Редирект, конечной точкой которого является не 200-я страница. Редирект должен вести на правильно работающую страницу с 200 ответом сервера. Иначе, желательно не сбивать поисковых роботов и отдавать 404 ответ.
- Редирект robots.txt. Так как, например, нужно прописывать директиву Host для Яндекса при склейке доменов.
Надеемся, что данное руководство станет вам шпаргалкой и помощником для использования 301-го редиректа для вашего сайта.
Здравствуйте! Появился вопрос.
Редиректы 303 и 307. Это временное перенаправление трафика на новую страницу с сохранением всех параметров прежней.
Значит ли это, что в случае редиректов 303 и 307 авторитет страницы-донора передаётся странице-акцептору?