Никита Сергеев
Контент-маркетолог

У владельцев сайтов, разработчиков, оптимизаторов регулярно возникает необходимость задать автоматический переход с одной страницы на другую. Допустим, вы склеили зеркала или купили новое доменное имя и переносите на него файлы и папки. Или пришлось перенести документ в другой раздел, и его URL изменился. А ведь трафик и позиции, которые были у старого адреса, терять не хочется! К счастью, расставаться с ними не придется, если освоите инструмент, о котором пойдет речь в сегодняшней статье.

Немного о термине

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

Также существует временное перемещение. Например, пока идет редизайн ресурса, контент переехал по какой-то причине, но вернется на старое место. Тогда код ответа сервера будет 302 или 303. По ним поисковые роботы понимают, что предыдущее местоположение еще заработает и не стоит исключать его из индекса. 

Зачем нужна настройка редиректа 301

Она полезна как для SEO, так и для пользователей.

Вот чем она хороша с точки зрения поисковой оптимизации:
  • помогает заменить в выдаче один адрес на другой без понижения позиций и трафика;
  • позволяет улучшать структуру сайта без потери наработанных результатов продвижения;
  • убирает дублирующие разделы и элементы, что положительно отражается на ранжировании;
  • можно удалить страницу и показывать вместо не ответ 404, а похожий контент.
Для пользователя перенаправление также полезно, так как с ним:
  • легко перейти в нужный документ, даже если он был перемещен;
  • не надо тратить время на переход по неработающим ссылкам.

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

скриншот
Рекомендации Яндекс Справки.

Можно ли заменить redirect 301 htaccess на атрибут rel=»canonical» 

Эти два параметра порой считают аналогами.

Но различие есть и заключается оно вот в чем:
  • Редирект сообщает поисковикам, что страница постоянно перемещена, и запрещает показывать старый адрес пользователям.
  • Атрибут rel=»canonical» извещает краулеры, что существует несколько версий данного документа и просит добавить в индекс только ту, на которой он находится. Он не запрещает роботам обход и индексацию копий, а также их показ в выдаче, не передает позиции и трафик от донорского ресурса.

Поэтому менять одну настройку на другую не стоит. Применяйте их в разных условиях.

Настраивайте перенаправление:

  • для перемещенных или удаленных страниц;
  • при смене доменных имен, например, htaccess переадресация 301 на другой домен, с www и на адрес без www в том числе;
поисковая строка
Результат маршрутизации в поиске Яндекса
  • вместо ресурсов с ответом сервера 404 и удаленного контента, если информация есть в другом месте.
Используйте rel=»canonical», когда:
  • перенаправить не получается по техническим причинам или это займет очень много времени;
  • требуется сохранить несколько вариантов публикации;
  • URL динамически меняется для одного документа, например, при использовании фильтров;
  • нужно переправить пользователя на одном ресурсе между адресами типа site.ru/section/index.php и site.ru/section/;
  • существует мобильная и десктопная версия, и какая-то из них должна считаться основной.
справка гугл
Как передать: советы Google.

Какой способ выбрать для настройки перенаправления

Метод подбирает оптимизатор или разработчик. Каждый использует то, что умеет, и учетом конфигурации конкретного проекта. Расскажем про самые распространенные виды.

301 редирект через htaccess на другой сайт или с одной страницы на другую 

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

Параметры документа влияют на каталог, в котором он расположен, и на дочерние. Если вы поместите его в корень, то действие распространится на весь сайт. Этот же эффект получится, если указания внести в файл httpd.conf – он по умолчанию действует во всех разделах.

Через Web.config

Аналогичный предыдущему вариант для веб-сервера IIS. Это XML-файл, который точно также помещают в корневом или целевых каталогах площадки. С ним можно как в htaccess настроить 301 редирект с одного домена на другой, с www на без www, получится убрать дублирующие элементы.

В PHP

Серверный язык программирования разрешает переадресовать посетителя, разместив соответствующий скрипт в index.php. Это полезно, если у вас нет возможности редактировать и загружать .htaccess/Web.config. Плюс обработка данных будет происходить на сервере, что снижает риск фильтрации со стороны поисковых систем.

С помощью JavaScript

В нем есть разные функции, через которые можно перенаправить трафик. Но есть заметные минусы:

  • Метод не сработает, если пользователь отключил браузерную поддержку JavaScript.
меню выбора
Настройка разрешения в Яндекс Браузере.
  • Он действует только пока страница-донор существует на ресурсе. Если вы ее удалите, придется перенаправлять посетителей заново другим способом.
  • JavaScript сначала скачивает донорский документ. Время загрузки основного контента будет длиннее, чем с другими способами.

Через HTML

Соответствующий код просто добавляется на каждую страничку. В нем указан URL для перехода и его задержка в секундах. Само перемещение происходит на стороне клиента, а не сервера. Поэтому 301-ый код ответа  не передается. Способ пригодится для небольших проектов: лендингов, визиток.

NGINX

Это прокси-почтовый и веб-сервер для операционной системы Unix и ее аналогов. Здесь есть несколько файлов конфигурации виртуальных доменов. В них следует дописать пересылающие команды. После этого требуется перезагрузка сервера.

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

Их немного, но выучить их необходимо.
  • \ – обратный слеш фиксирует знаки после себя в исходном виде;
  • ^ – начало строки
  • $ – конец строчки
  • ! – отрицание
  • . – любой символ
  • ( ) – группировка
  • # – метка для комментария

Как сделать редирект 301 htaccess

Дадим пошаговую инструкцию для настройки.
  1. Откройте на хостинге меню администратора сайта либо получите доступ через FTP-клиент.
  2. Поищите файл. Если он есть, сохраните копию – вдруг придется делать откат. Если нет, сформируйте в программе Блокнот или аналогичной.
  3. Запишите правило через раздел IfModule. Это позволит не вызвать ошибки в других задачах, которые выполняет файл. Ставите его последним, после прочих команд.
  4. Используйте директивы Redirect, RewriteCond, RewriteRule.
  5. Обозначьте, что это именно постоянное перемещение. Иначе сервер на свое усмотрение может использовать 302 и прочие начинающиеся на тройку ответы. Цифры можно прописать в правиле или после него в формате [R=301,L].

Пример для переноса каталога из old в new на ресурсе:

маленький код

Редирект с одного домена на другой 

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

Redirect permanent / https://newdomen.ru/

Redirect 301 / https://newdomen.ru/

Файл с правилами должен находиться в корневом каталоге, чтобы они обрабатывали любой URL на ресурсе. 

Елизавета Карандеева
Елизавета Карандеева
Вебмастер в SEO-отделе

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

Как поставить постраничный редирект 301 htaccess

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

RewriteEngine On

RewriteCond %{HTTPS_HOST} ^olddomen\.ru

RewriteRule ^(.*)$ https://newdomen.ru /$1 [R=301,L]

RewriteCond %{HTTPS_HOST} ^www.olddomen\.ru

RewriteRule ^(.*)$ https://newdomen.ru /$1 [R=301,L]

Вместо olddomen укажите имя старого ресурса, newdomen – нового. Доменная зона в примере ru, но она может быть, конечно, любой.

Через эти же команды можно установить 301 редирект с http на https:

RewriteEngine On

RewriteCond %{SERVER_PORT} !^443$

RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Как склеить зеркала

Поисковые системы считают зеркальными ресурсы, которые имеют одинаковый контент, но доступны по разным URL. Яндекс и Google считают их дублями, что ухудшает ранжирование. Кроме того, между ними делится вес, авторитетность, из-за чего ни одно из зеркал не попадает на высокие позиции. Хотя адреса могут различаться, к примеру, только наличием www.

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

Пример перевода посетителей с www. domen.ru на domen.ru

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www. domen.ru$ [NC]

RewriteRule ^(.*)$ http:// domen.ru/$1 [R=301,L]

Как убрать дубли

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

Следующее правило подойдет для переходов на адрес без наклонной линии.

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)/$ /$1 [L,R=301]

А этот код, наоборот, сделает основным URL с чертой.

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*[^/])$ /$1/ [L,R=301]

Ниже на скриншотах пример: в выдаче наклоненной линии нет (слеша), а при переходе – появляется. Пользователь перенаправлен на дубликат. 

сниппет
поисковая строка

Как переадресовать посетителей альтернативными способами

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

Приведем несколько примеров.
  • В WordPress есть плагины группы Redirection. Они вносят изменения в .htaccess без ручного прописывания кода. Это снижает риск ошибки.
  • В Битриксе и MODX команды в файл записывают через системный файловый менеджер.
  • В Joomla настройку также ведут через плагины ReDJ, aiRedirectWww, Simple Redirect, JRedirects.

Популярные платформы для конструирования сайтов Wix и Tilda тоже имеют встроенные функции, чтобы перенаправлять обращения к проекту. Здесь они реализованы через общее меню.

Как быть, если нет опыта веб-программирования

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

Среди них:
  • Seomagnifier – генерирует переход www/без www и наоборот, достаточно ввести домен.
  • 301Redirect Code Generator Tool – маршрутизирует доменные имена и другие элементы в них.
  • Generate .htaccess – напишет код перемещения для отдельных адресов, разделов, площадки полностью.
интерфейс
Пример работы Seomagnifier.

Как протестировать настройки редиректа

Когда вы, наконец, организовали маршрутизацию, надо проверить, корректно ли она работает. Можно сделать это вручную: ввести в адресную строку URL, для которого установлен 301-й ответ, и посмотреть, куда вы в итоге попадете. Если на тот адрес, куда оставляли переход, то все верно!

Однако много проверок так сделать затруднительно. Поэтому советуем использовать SEO-сервисы для автоматизации.

Например:
  • Если нужно протестировать весь проект – Screaming Frog Seo Spider. Бесплатная версия проверит до 500 единиц.
  • Если хотите просканировать страницы и разделы – Header Checker ToolRedirect CheckerBertal.ru. Все предоставляют услугу без оплаты.
анализ кода
Пример проверки Redirect Checker.

Заключение

301-ый редирект – важный инструмент поискового продвижения. Он решает задачи SEO и при этом помогает пользователям быстрее находить нужную информацию. Поэтому его обязательно надо реализовывать на проектах. Это можно сделать различными методами. Для некоторых из них необходимы знания разработки. 

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

Оставить заявку
Оставить заявку
Получите консультацию и персональное предложение по развитию вашего бизнеса.
У меня есть промокод
Заявка отправлена!
Мы свяжемся с вами в ближайшее время.
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
0 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии