Инструкция: настройка редиректов

Время чтения:15 минут

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

Редиректы.jpg

Что из себя представляет редирект

Перед тем, как начать настраивать редирект, необходимо понять, что он такое:

Редирект — это автоматическая переадресация пользователя на URL, который отличается от запрошенного им изначально.

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

Страница с которой перенаправили называется «донор», а куда перенаправили – «акцептор».

Зачем использовать редиректы

Главная цель 301 редиректа на практике – это не терять трафик, если необходимо заменить одну страницу на другую. То есть, если после переезда на новый адрес, пользователи еще по инерции ищут вас по старому URL, то постранично настроив 301 редиректы, все они попадут на релевантные страницы.

Некоторые SEO-специалисты используют редиректы для перенаправления на дорвеи. Подобное карается поисковиками и относится к черным методам SEO.

Почему чёрные методы продвижения погубят ваш бизнес. Подробнее

В каких еще случаях используют редиректы:

  • изменение адресов страниц сайта;
  • перенаправление пользователей на мобильную версию сайта;
  • перенаправление с http на https и обратно;
  • перенаправление с www на без www адреса сайта;
  • смена доменного имени;
  • удаление дублей страниц, когда проблему нельзя решить иным методом

Как работают редиректы

Краткая суть того, как работают редиректы: пользователь набирает определенный адрес, сервер обрабатывает его и если натыкается на редирект, следует ему. Пользователь получает соответствующий HTTP-код либо инструкцию другого типа и оказывается на прописанном в ней адресе.

Настраиваем редирект

Существует различные типы редиректов, которые разделяются по своей реализации. Одним из популярнейших является серверный редирект, который настраивается в файле .htaccess (конфигурационный файл наиболее распространённого сервера Apache). Также для настройки редиректа используются файл nginx.config, а также PHP, HTML, JavaScript.

Еще одним различием является HTTP-статус. По коду состояния HTTP поисковые системы и браузеры понимают, к какому виду относится редирект. Всего их 9, но пользуются в основном тремя.

301 Moved Permanently

Постоянный 301 редирект показывает, что документ окончательно перенесён на новый URL-адрес. В случае если необходимо перенаправить пользователя на другую страницу и дать сигнал поисковикам о временной смене страницы, то используется 302 редирект, о нём мы расскажем ниже. Благодаря им обоим, можно заменить адрес документа в выдаче со старого на новый без потери позиций и трафика.

Вот некоторые примеры использования 301 редиректа:

Редиректы www

RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]
RewriteRule ^(.*)$ httр://sitе.соm/$1 [R=301,L]

В данном случае мы перенаправляем пользователя из домена с www на домен без www:

RewriteCond %{HTTP_HOST} ^www\.site\.com$ [NC]
RewriteRule ^(.*)$ httр://sitе.соm/$1 [R=301,L]

И наоборот, без www в URL с www:

RewriteCond %{HTTP_HOST} ^site\.com$ [NC]
RewriteRule ^(.*)$http://www.sitе.соm/$1">http://www.sitе.соm/$1 [R=301,L]

Изменение расширения файла

При переходе на новую платформу или CMS могут поменяться URL-адреса. В этом случае используется переадресация: RedirectMatch 301 (.*)\.php$ http://www.sitе.соm$1.html

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

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

RewriteCond%{HTTP_HOST}!^www\.site\.com.(.*)$ [NC]
RewriteRule ^(.*)$ http://www.sitе.соm. %1/$1 [R=301,L]

Наличие/отсутствие слеша (/) в конце URL

Поисковики считают один и тот же URL со слешем и без него двумя разными адресами (httрs:// http://www.sitе.соm/pricе/">www.sitе.соm/pricе/ и https://www.sitе.соm/priсе)">https://www.sitе.соm/priсе). Чтобы пользователи могли спокойно заходить на сайт и не обращать внимание на эту мелочь, настройте переадресацию. Если вы хотите удалить слеш в конце, то пропишите:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

Чтобы добавить:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

Переключение с HTTP на HTTPS

Для того, чтобы настроить редирект на HTTPS, необходимо установить команду для редиректа на HTTPS-версию сайта. Подробнее читайте в руководстве по вашей CMS.

Битые ссылки

В случае, если вы удалили какую-либо страницу и создали новую, то пропишите 301 редирект либо на главную, либо на новую страницу:

RewriteRule ^old/URL/path$ http://sitе.соm/nеw/pаth [L,R=301]

Важно: Не забывайте удалять ссылки на старую страницу в других местах сайта.

302 Found, 302 Moved Temporarily

Данный редирект показывает, что ресурс по этому URL был временно перемещен. Обычно этот редирект используется для страниц с краткосрочными акциями и распродажами конкретного товара. Нетипично использовать его для адресов, которые были изменены перманентно, т.к. поисковые роботы индексируют только ту страницу, на которую установлен редирект, но в выдаче останется старый URL. Но если робот решит, что вы по ошибке настроили 302 редирект вместо 301, он заменит адрес в выдаче, как и в случае с 301 редиректом. И вернуть его обратно будет очень сложно.

Чтобы настроить редирект в .htaccess, пропишите этот код:

Redirect 302 /old.html http://lоcаlhоst/nеw.html

307 Moved Temporarily

Данный тип редиректа показывает, что документ временно доступен по иному URL. От предыдущего типа отличается методом передачи запроса (GET, POST), который указывает поисковым системам, что не нужно кэшировать этот документ (если не указано иных указаний).

Применяется данный редирект, например, в случае, если контент перемещается только временно (например, при перепроектировании). Это позволяет поисковикам понять, что ваш сервер совместим с HTTP 1.1.

Кроме того, клиенты не должны автоматически переадресовывать запросы POST / PUT / DELETE. Кэширование должно выполняться только в том случае, если в ответе сервера есть заголовки Cache-Control или Expires.

Некоторые советы по настройке

  • Если требуется поставить 301 редирект – ставьте только его. Иные статус-коды при настройке https, зеркал сайта и захода с www и без него приводит к тому, что поисковые системы получают инструкцию о временном перемещении страниц, хотя это не так. Если это обнаружится, то может произойти пессимизация ресурса в выдаче.
  • Страница-акцептор редиректа обязательно должна быть релевантной странице донору и отвечать статус-кодом 200. Это нужно, чтобы донор передал вес релевантному акцептору и поисковики быстро склеили страницы без потери трафика.
  • Не заменяйте rel=canonical редиректами. rel=canonical нужно использовать в таких случаях:
    • на страницах пагинации, если CMS сайта не позволяет убрать текст основной страницы;
    • для страниц, которым необходимо иметь разные версии: основная, для печати, отдельная мобильная;
    • страницы с динамическими параметрами;
    • если одна страница опубликована в разных категориях, в результате чего получаются разные URL.
  • Не устанавливайте более одного редиректа подряд. Это замедляет использование сайта, повышает нагрузку на сервер и в итоге может привести к потере веса конечной страницы.
  • В файле .htaccess вначале используйте переадресации страниц с более высоким уровнем вложенности. Это нужно для того, чтобы уменьшить количество возможных ошибок при обработке статус-кодов. Например:
    • Вначале редирект с site.com/cat-1/subcat-1/ на site.com/cat-1/subcat-2/;
    • Потом с site.com/cat-0/ на site.com/cat-0
  • Проверьте то, что вы настроили. Часто можно не заметить мелкую ошибку или опечатку и проверив работоспособность редиректа, вы поймете, что все же где-то закралась неточность. Перед проверкой обязательно сбросьте кэш, т.к. браузер кэширует редиректы.
  • В дополнение к предыдущему пункту – не перенаправляйте пользователя или робота на несуществующие страницы. Обязательно проверьте работоспособность ссылки.
  • Не используйте 301 редирект для перенаправления на шаблон оформления 404 страницы. Необходимо изначально правильно настраивайте статус-коды и обработку несуществующих URL. Это нужно для того, чтобы роботы быстрее индексировали или переиндексировали страницы сайта без добавления в выдачу ненужных страниц.
  • Не создавайте переадресацию для страниц с несколькими URL, принадлежащих к разным каталогам. В таких случаях необходимо использовать rel=canonical.
  • Не стоит использовать редирект для схожих, но не аналогичных страниц (например, 2 товара из одного сегмента в магазине).
  • Не используйте редиректы для служебных файлов. Например, robots.txt при переезде оставляйте доступным, чтобы у поисковых роботов не было проблем с его распознаванием и обработкой.

Заключение

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

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

Связаться с нами

Нажимая на кнопку "Отправить" вы соглашаетесь с политикой обработки данных!