Руководство по редиректам: как их обнаружить и настроить

7
4
7
4
Руководство по редиректам: как их обнаружить и настроить
Мануалы

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

Я подготовил подробное руководство по редиректам, в котором расскажу о том, как их настраивать, находить и корректировать.

  1. Что такое редиректы
    1. Когда используют редиректы
    2. Как это работает
  2. Типы и настройка редиректов
    1. 301 Moved Permanently
    2. 302 Found, 302 Moved Temporarily
    3. 307 Moved Temporarily
  3. Как обнаружить редиректы
    1. Netpeak Spider
    2. Rookee
  4. 12 советов, которые помогут избежать ошибок при простановке редиректов
  5. Подводим итоги

1. Что такое редиректы

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

Самый простой пример редиректа: пользователь вводит один адрес интернет-магазина в адресной строке, а в итоге попадает на другой, более актуальный ресурс этой компании. Страница, с которой перенаправили пользователя, в этом случае называется донор (от лат. dono — «дарю»). Страница, на которую его направили — акцептор (лат. accipio — «я принимаю, получаю»).

1.1. Когда используют редиректы

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

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

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

1.2. Как это работает

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

2. Типы и настройка редиректов

Типы редиректов принято разделять по тому, как они реализованы. Самый популярный у SEO-специалистов метод — серверный редирект, который настраивается в файле .htaccess (конфигурационный файл наиболее распространённого сервера Apache). Кроме того, для реализации перенаправлений можно использовать файл nginx.config, а также PHP, HTML, JavaScript.

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

2.1. 301 Moved Permanently

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

Я собрал общие случаи использования 301 редиректа.

2.1.1. Редиректы www

Вот как можно настроить редирект из домена с www на домен без www:

RewriteCond %{HTTP_HOST} ^www\.bacon\.com$ [NC] RewriteRule ^(.*)$ http://bacon.com/$1 [R=301,L]

А вот так можно настроить редирект URL без www в URL с www:

RewriteCond %{HTTP_HOST} ^bacon\.com$ [NC] RewriteRule ^(.*)$ http://www.bacon.com/$1 [R=301,L]

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

Если вы перешли на другую платформу или CMS, и в этом процессе были изменены только URL-адреса, вы должны использовать следующую переадресацию.

RedirectMatch 301 (.*)\.php$ http://www.bacon.com$1.html

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

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

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

2.1.4. Слеши в конце URL-адреса

Вы должны помнить, что поисковые системы рассматривают URL-адреса с и без слеша (https://www.bacon.com/sandwich/ и https://www.bacon.com/sandwich) как два разных URL-адреса. Определите, какой из них более подходит для вашего сайта, и настройте следующие переадресации.

Чтобы удалить слеш в конце URL-адреса:

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

Чтобы добавить слеш в конце URL-адреса:

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

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

Вам необходимо установить команду для 301 редиректа на HTTPS-версию сайта. Если у вас есть WordPress CMS с управлением хостингом cPanel, вы можете прочитать подробное руководство по переходу на HTTPS.

2.1.6. Управление битыми ссылками

Если вы навсегда удалили одну из своих страниц и создали новую, установите 301 редирект на главную или новую страницу и удалите все ссылки на эту страницу на своём сайте.

RewriteRule ^old/URL/path$ http://site.com/new/path [L,R=301]

Подробнее читайте в посте о том, как найти битые ссылки.

2.2. 302 Found, 302 Moved Temporarily

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

Вы можете прописать такую директиву в файле .htaccess, чтобы установить редирект:

Redirect 302 /old.html http://localhost/new.html

2.3. 307 Moved Temporarily

Временный редирект, который указывает, что документ временно доступен по другому URL. Отличие от 302: сохранение метода передачи запроса (GET, POST), который указывает поисковикам, что кешировать документ не стоит (если нет дополнительных указаний).

Вы можете установить 307 Moved Temporarily, когда контент перемещается только временно (например, при перепроектировании). Это позволяет поисковикам понять, что ваш сервер совместим с HTTP 1.1.

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

3. Как обнаружить редиректы

Самый простой способ, который подходит вебмастерам и SEO-специалистам — получение статус-кодов всех страниц сайта. Сделать такую проверку массово можно с помощью клиентского и браузерного ПО для аудита сайта. Например, Netpeak Spider и Rookee.

3.1. Netpeak Spider

Проверить, верно ли выставлены редиректы, и выявить связанные с переадресацией ошибки можно с помощью Netpeak Spider. Для этого выполните следующие действия:

  • Запустите Netpeak Spider.
  • На боковой панели откройте вкладку «Параметры» и отметьте пункт «Код ответа сервера».
    Netpeak Spider: код ответа сервера
  • Введите URL анализируемого сайта в адресную строку и запустите сканирование кнопкой «Старт».
  • По завершению сканирования ознакомьтесь с результатами сканирования: в основной таблице вы сможете увидеть коды ответа (включая все возможные 3хх коды, соответствующие редиректам), а на вкладке «Отчёты» → «Ошибки» на боковой панели отобразятся все имеющиеся на сайте ошибки, связанные с переадресацией.

    Netpeak Spider: результаты сканирования
    Если вам нужен список всех существующих на сайте редиректов, перейдите на вкладку «Отчёты» → «Сводка» и кликните по названию соответствующего типа страниц.

    Netpeak Spider: редиректы
  • Для экспорта полученных данных кликните по кнопке «Экспорт» в правом верхнем углу экрана, затем выберите одну из опций: «Результаты в текущей таблице» — чтобы выгрузить отфильтрованные результаты, либо один из специальных отчётов по редиректам.

    Netpeak Spider: экспорт отчётов

3.2. Rookee

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

Rookee

Ещё один способ обнаружить редиректы — изучить файл .htaccess и <head> документов (выявить наличие правил переадресации). Статус-код ответа сервера можно проверить вручную, используя функционал разработчика в браузере.

Получить информацию о «незаконных» скрытых переадресациях, возникших в результате взлома и прочей преступной деятельности, помогут также предупреждения из Google Search Console и аналитика поведения пользователей в Google Analytics и Яндекс.Метрике.

4. 12 советов, которые помогут избежать ошибок при простановке редиректов

  1. Не используйте иные статус-коды ответа сервера там, где нужен 301 редирект. Это правило касается и настройки https, и зеркал сайта с www и прочего. Часто встречающаяся ошибка — настройка 302 (временного) редиректа, вместо 301. Роботы поисковых систем получают инструкцию, что страницы перемещены временно, хотя это не так. В дальнейшем поисковик может посчитать это обманом и пессимизировать ресурс.
  2. Страница-акцептор редиректа обязательно должна быть релевантной странице донору и отвечать статус-кодом 200.
  3. Не используйте редиректы вместо rel=canonical.
    • на страницах пагинации, если CMS сайта не позволяет убрать текст основной страницы;
    • для страниц, которым необходимо иметь разные версии: основная, для печати, отдельная мобильная;
    • страницы с динамическими параметрами;
    • когда одна страница опубликована в разных категориях, в результате чего получаются разные URL.
  4. Не ставьте два, три и более редиректов подряд.
  5. В файле .htaccess вначале используйте переадресации страниц с более высоким уровнем вложенности.
  6. Пример:

    • Сначала редирект с site.com/cat-1/subcat-1/ на site.com/cat-1/subcat-2/;
    • Потом с site.com/cat-0/ на site.com/cat-0.
    • И в последнюю очередь — глобальные правила (например, со страниц без слеша на слеш, или с www на без www).
  7. Обязательно проверяйте результат своей работы. При настройке редиректов часто допускаются мелкие ошибки и опечатки, что в конечном итоге приводит к нарушению работоспособности сайта. Например, при возникновении циклического редиректа.
  8. Не перенаправляйте пользователя или робота поисковой системы на несуществующие ресурсы (404 код ответа). Регулярно проверяйте сайт на наличие «битых ссылок».

  9. Не стоит использовать 301 редирект для перенаправления на шаблон оформления 404 страницы. Сразу правильно настраивайте статус-коды и обработку несуществующих урлов в частности.
  10. Нельзя редиректить на дорвеи.
  11. Не создавайте переадресацию для страниц с несколькими URL, принадлежащих к разным каталогам.
  12. Воздержитесь от редиректов на схожие, но не аналогичные страницы (когда информация имеет существенные различия). Например, 2 товара в интернет-магазине.

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

Подводим итоги

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

Мы рассмотрели три самых часто используемых редиректа:

  • 301 Moved Permanently — редирект на постоянной основе, который указывает, что документ перенесён на другой адрес навсегда. Редирект «склеивает» старый и новый адреса, а также перенаправляет ссылочный вес и трафик на новый ресурс.
  • 302 Found, 302 Moved Temporarily — временный редирект, который применяется, когда нужно установить перенаправление на определённый период и при этом не удалять предыдущую версию страницы из индекса.
  • 307 Moved Temporarily — используются для временного перемещения. Отличие от 302: сохранение метода передачи запроса (GET, POST), который указывает поисковикам, что кешировать документ не надо (если нет дополнительных указаний).

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

Поделитесь в комментариях вашим опытом по настройке редиректов ;)