В этой статье мы подробно разберём тему редиректов. Расскажем, что такое редирект сайта, в каких случаях его нужно настраивать и какими способами это можно сделать.
Что такое редирект
Редирект (от англ. redirect — перенаправление) — это автоматическая переадресация посетителя с одного URL-адреса на другой. То есть при переходе на страницу, для которой настроен редирект, пользователь будет автоматически попадать на другую страницу. Как правило, для посетителей сайта этот переход остаётся незаметным.
Схема работы редиректа на уровне браузера
Представим, что вы настроили редирект со страницы мой-сайт.ру на тест-сайт.ру. В этом случае при каждом переходе на страницу мой-сайт.ру на техническом уровне будет происходить следующее:
- 1. Браузер обратится к серверу, на котором расположены файлы сайта, с просьбой передать ему файл страницы мой-сайт.ру.
- 2. Сервер ответит, что страница мой-сайт.ру в данный момент недоступна, но с нее настроен редирект на другую страницу — тест-сайт.ру.
- 3. Браузер сделает новый запрос, чтобы получить файл страницы тест-сайт.ру.
- 4. Сервер примет запрос и передаст браузеру этот файл.
- 5. Браузер откроет страницу тест-сайт.ру для пользователя.
Редирект можно настроить как с одной страницы на другую в рамках одного сайта, так и со страницы одного сайта на страницу другого сайта. Разберем, зачем и в каких случаях нужно настраивать редирект.
Зачем нужен редирект
В первую очередь редирект влияет на SEO-показатели сайта. Его настраивают для того, чтобы не потерять позиции в поисковой выдаче. Дело в том, что поисковые роботы регулярно обходят и индексируют все страницы сайта. После каждой такой индексации отдельная страница и сайт в целом могут изменить место в поисковой выдаче — подняться на более высокую позицию или, наоборот, опуститься на более низкую.
Если роботы заметят, что одна из страниц удалена или на ней есть ошибка, они перестанут ее индексировать. Это значит, что трафик страницы будет потерян. Вместе с ним будут снижаться позиции в поисковой выдаче.
Также если не настроить редирект для удаленной или перенесенной страницы, пользователи могут подумать, что искомый адрес больше недоступен и перестанут посещать страницу. Это приведет к потере клиентов.
Самые распространенные случаи, в которых нужен редирект:
- перенос сайта с одного домена на другой. Поскольку основная часть пользователей будет искать сайт по старому URL-адресу, важно настроить для него редирект на новый URL. Благодаря этому вы не потеряете трафик.
- перенос отдельных страниц сайта. В некоторых случаях нужно перенести не весь сайт, а только определенные его страницы. Для этих целей также подойдет редирект.
- переход с HTTP на HTTPS. В этом случае редирект позволяет перевести страницу с небезопасного HTTP-протокола на защищенный протокол HTTPS. Подробнее читайте в статье Как перевести сайт на HTTPS.
- перевод домена с или на «www».
В зависимости от конкретной ситуации для настройки используют тот или иной вид редиректа. Рассмотрим, какие виды редиректов бывают.
Виды редиректов
Перед тем как приступить к настройке, определитесь, какой вид редиректа нужен в вашем случае. Ниже мы описали все основные виды редиректов.
300 Multiple Choice (множественный выбор) — это редирект, который сообщает, что по искомому запросу можно перейти не на одну, а на несколько страниц. С его помощью можно настроить перенаправление с основного URL на несколько других страниц, которые похожи по тематике, но отличаются по содержанию. Нередко редирект такого типа встречается на страницах «Википедии». Если какое-то слово или термин имеет несколько значений, вместо одной страницы с определением Википедия выдает страницу со ссылками на объяснение каждого варианта. В зависимости от искомого значения пользователь переходит по нужной ссылке.
301 Moved Permanently (навсегда перемещен) — это постоянный редирект. Используйте этот вид редиректа, если хотите переместить страницу на новый адрес насовсем. В этом случае вы сообщите поисковым системам, что стоит обратить внимание на новую страницу, а исходную можно полностью исключить из индексации. Если настроить редирект 301 некорректно, на странице будет отображаться ошибка 404. Индексация страниц с ошибками приводит к снижению SEO-показателей всего сайта.
302 Moved Temporarily (временно перемещен) — это временный редирект. Редирект 302 настраивают в том случае, когда на основной странице временно ведутся те или иные работы. Все файлы копируют и размещают по другому адресу на определенный период. При переходе на страницу с таким редиректом поисковые роботы сразу поймут, что она перенаправлена на другой ресурс только временно. Поэтому при следующем переобходе они вновь попробуют проиндексировать исходную страницу. И так пока контент не «вернётся» на исходную страницу.
303 See Other (просмотр другого) — это редирект на схожую по тематике страницу. С помощью 303-го можно перенаправить пользователя не на дубль исходной страницы на новом URL, а на совершенно другую страницу, но с похожей тематикой. Такой тип редиректа нередко используют в интернет-магазинах. Если какой-то товар временно недоступен для заказа, с его страницы настраивают редирект на страницу продукта со схожими характеристиками. Когда товар снова появляется на складе, редирект просто убирают.
305 Use Proxy (использовать прокси) — этот редирект отсылает браузер к использованию прокси-сервера. В этом случае при обращении браузера к странице в ответ приходит адрес прокси-сервера. Это значит, что к ресурсу можно подключиться только с помощью прокси — промежуточного сервера, который является посредником между пользователем и сервером, на котором хранятся файлы сайта. Прокси-подключение настраивают для защиты локальной сети от внешних подключений, экономии трафика (передачи данных в сжатом виде), кэширования данных и другого.
307 Temporary Redirect — временный редирект. Он сообщает поисковому роботу, что страница временно перенесена на другой URL и через некоторое время вновь будет доступна по старому адресу. Этот редирект похож на 302 Moved Temporarily, однако у него есть существенное отличие — 307 редирект сохраняет метод передачи запроса (GET, POST), который указывает поисковикам, что кешировать документ не нужно. Его используют для краткосрочного переезда, например небольших технических работ. Стоит отметить, что иногда проще на пару часов закрыть сайт на технические работы без редиректа.
Редирект rel=«canonical» — этот редирект предназначен только для поисковых роботов, посетитель при этом видит два дублирующихся ресурса одновременно. С его помощью владелец ресурса сообщает роботам, что у сайта есть несколько версий и они должны просканировать только приоритетную копию, которую владелец пометил как «canonical». Остальные страницы тоже доступны пользователям, но они не индексируются.
Также существуют 304-й и 306-й редиректы. Однако сейчас эти виды практически никто не использует. Некоторые браузеры даже не умеют интерпретировать код таких перенаправлений.
Самые популярные виды редиректов — 301 и 302. При этом чаще всего для переадресации url используют 301-й редирект. Для его настройки используют разные способы.
Основные способы настройки 301 редиректа
Можно выделить несколько основных способов настройки редиректов. Между собой они отличаются техническим исполнением, а также источником перенаправления.
1) PHP. PHP-редирект прописывается в индексном файле (чаще всего его название — index.php). Для настройки нужно найти файл index.php в корневой папке сайта и вписать в него строку кода. Для настройки используют функцию header:
header($header)
В этом случае переадресация будет срабатывать в скрипте, который размещен на сервере. Это самый надежный тип редиректа с высокой скоростью перенаправления. Этот тип лучше всего подойдет, если вам нужно сделать перенаправление для всего сайта.
2) .htaccess. .htaccess — этот системный файл, который принадлежит к корневой структуре сайта. Чтобы получить к нему доступ, нужно зайти в панель управления хостингом, на котором размещен веб-ресурс. Для настройки достаточно разместить в файле строку с соответствующим кодом. Например:
RewriteEngine On
RewriteCond %{REMOTE_ADDR} 123.123.123.123
RewriteRule ^(.*)$ http://site.ru [R=301,L]
В этом случае переадресация будет срабатывать на уровне браузера — в коде страницы. Скорость перенаправления из браузера ниже, чем из скрипта на сервере. Поэтому этот тип больше подходит для настройки редиректа для одной или нескольких страниц.
3) HTML. Такой тип редиректа подойдёт для сайтов, которые написаны на языке HTML. Редирект настраивается в исходном коде страницы через индексный файл, который чаще всего называется index.html. Для настройки нужно добавить мета тег refresh:
<meta http-equiv="refresh" content="0;URL=http://site.ru" />
Это также достаточно «медленный» тип, так как он срабатывает из браузера.
4) JavaScript. Такой тип редиректа подойдёт для сайтов, которые написаны на языке JavaScript. Он настраивается в исходном коде страницы путём изменения текста между тегами head и /head. В этом случае перенаправление также срабатывает со стороны браузера — с низкой скоростью. Как правило, JavaScript настраивают в случаях, когда хотят перенаправить на страницу не сразу, а с задержкой. Пока происходит перенаправление, на странице отображается баннер с фразой: «Вы будете автоматически переадресованы на наш новый сайт».
Если вы используете Nginx, в его конфигурационном файле можно настроить Nginx redirect 301.
Как настроить редирект
Как сделать 301 редирект и другие перенаправления? Выбор способа настройки редиректа зависит от ваших целей и опыта. Перед настройкой определите цель редиректа (перевод всего сайта на новый адрес, редирект со страницы на страницу или другое). После этого выберите, как вы будете работать — через панель управления хостингом или в коде. Также обратите внимание, на какой операционной системе работает ваш хостинг (Linux или Windows). После этого используйте подходящую для вашего случая инструкцию.
Через панель управления хостингом
Варианты настройки через панель управления хостингом ispmanager, cPanel и Plesk подойдут вам, если вы являетесь клиентом Рег.ру.
- Если вы планируете перенаправить на новый адрес весь сайт, вам подойдёт инструкция Редирект через панель управления.
- Используйте инструкцию, чтобы настроить переадресацию на домен с «www».
- Используйте инструкцию, чтобы сделать переадресацию на домен без «www».
- Если вам нужно перевести сайт с HTTP на HTTPS, в зависимости от операционной системы хостинга, используйте инструкцию для Linux или для Windows. Внимание: перед настройкой редиректа проверьте, что для вашего сайта установлен SSL-сертификат.
- Для перехода с HTTPS на HTTP используйте инструкцию.
Также вы можете удалить редирект в панели управления.
Через код сайта
Если вы хотите настроить редирект вручную через код, используйте инструкции ниже.
- Если вы хотите перенести на новый URL весь сайт, лучше всего подойдет редирект через PHP.
- Если вам нужно настроить перенаправление только для одной или нескольких страниц сайта, используйте редирект через .htaccess для Linux-хостинга и перенаправление через web.config для Windows-хостинга. Этот тип редиректа можно также использовать для перевода сайта с HTTP на HTTPS, настройки переадресации на домен с «www» и без «www» и переадресации всего сайта. Также вы можете удалить редирект в .htaccess или в web.config.
- Если ваш сайт написан с помощью языка разметки HTML, вы можете сделать редирект напрямую в HTML.
Итак, редирект — это простыми словами перенаправление на другую страницу. С помощью наших инструкций вы сможете настроить переадресацию для нужного сайта или страницы.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь 😊