Содержание
Редирект (англ. redirect) – перенаправление. Весь смысл редиректа скрывается именно в этом переводе. Используя его на сайте, мы перенаправляем пользователя с одной страницы или с одного ресурса на другой. Далее мы подробно рассмотрим варианты и цели использования редиректов, а также типы редиректов.
301 редирект – случаи использования
301 редирект используется в следующих случаях:
- Склейка зеркал – переадресация сайта с префиксом WWW и без него
- Переадресация с HTTP на HTTPS
- Переадресация страниц со старого сайта на новый сайт
- Переадресация одного раздела сайта на другой раздел
Во всех этих случаях важно сохранить позиции и трафик, перенаправляя его на новые страницы. Код состояния HTTP 301 (Moved Permanently или 301 редирект) — это стандартный код ответа сервера, который сообщает, что запрашиваемый ресурс перемещен и получил новый URL.
Для SEO 301 редирект важен, поскольку он позволяет исключить из поисковой выдачи старый URL и заменить его новым без потери страницей веса и, соответственно, ухудшения ее позиций.
Настроить 301-й редирект можно разными способами:
- с помощью HTML и PHP;
- средствами специальных плагинов для СMS;
- при помощи скриптов;
- с помощью файлов .htaccess для сервера Apache или web.config — для IIS.
Максимально простой и наглядный способ – настроить редирект при помощи плагинов для CMS, но самый надёжный – с помощью файла .htaccess.
Настройка 301 редиректа в .htaccess
.htaccess — это файл дополнительной конфигурации веб-сервера Apache, с помощью которого можно задавать настройки на уровне отдельных каталогов. .htaccess распространяются только на тот каталог, где он размещен, и на дочерние каталоги.
Если в корневой папке вашего сайта нет файла .htaccess, его нужно создать и загрузить с помощью FTP-клиента. Теперь можно приступать к настройке редиректов.
Где находится файл .htaccess?
Обычно файл .htaccess располагается в корневом каталоге сайта.
Наглядный пример расположения файла .htaccess в корневом каталоге:

В различных CMS можно встретить файл .htaccess.txt. Он не воспринимается сервером, поэтому его необходимо переименовать в .htaccess. Файл .htaccess является также текстовым файлом, поэтому все коррективы в него лучше вносить при помощи Notepad++, либо использовать простой блокнот. Использование Word невозможно для правок .htaccess, потому что Word добавляет свои скрытые символы разметки.
В различных CMS существуют плагины для обеспечения наглядности внесения изменений в файл .htaccess. Однако для внесения изменений прямо на сервере нужно использовать FTP–клиент своего сервера.
В WordPress редактировать .htaccess можно с помощью модулей плагинов Yoast SEO и All in One SEO Pack.
Более подробно о файле .htacces, о его функционале и правильной настройке можно прочитать в нашей статье : Что такое .htacces.
Настраиваем постраничные 301 редиректы
Это потребуется в следующих случаях:
- изменилась структура сайта, и у страницы поменялся уровень вложенности;
- страница перестала существовать, но нужно сохранить ее входящий трафик (например, в случае отсутствия товара обычно делают переадресацию на товарную категорию);
- поменялся URL, что крайне нежелательно, но тоже встречается.
Просто удалить страницу очень плохо. Страница будет удалена, но “внутри интернета” она сохранится. Поисковики будут к ней обращаться и получать 404 ответ от сервера. Лучше перенаправить его на другой URL. В этом случае есть шанс не потерять позиции сайта в выдаче и целевой трафик. Настроить 301 редирект с одной страницы на другую можно при помощи директивы простого перенаправления:
Важно!
Если вы хотите, чтобы ваш редирект работал, нужно перед строками, которые рекомендуются ниже по тексту, обязательно прописать RewriteEngineOn
301 Редирект с одной страницы на другую страницу (или сайт)
Для этого в файл .htaccess вносим следующие строки:
Redirect /старая-страница.htmlновая-страница.html
302 Редирект с одной страницы на другую страницу (или сайт) – временный редирект. Совсем не рекомендуем его использовать. Применяется, если редирект временный.
RedirectPermanent /старая-страница.htmlновая-страница.html
301 Редирект с www-сайта на сайт без www
Определять с «www» или без «www» будет главное зеркало, можно несколькими способами:
- добавить сайт в Яндекс.Вебмастер в двух вариантах, в консоли отобразится информация, какой URL поисковик считает главным зеркалом;
- проанализировать выдачу и посмотреть, каких страниц сайта больше в индексе;
- для нового ресурса не имеет значения, с «www» или без будет адрес, выбор за вами.
Иногда, по ошибке, Яндекс.Вебмастер неправильно определяет главное зеркало, и проще помочь ему переопределиться прямо в Яндекс.Вебмастере.
Например, перенаправление с http://www.site.com на http://site.com. Это очень полезная вещь, часто используется в SЕО
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule^(.*)$ http://%1/$1 [R=301,L]
Обратный редирект с домена без www на домен с www
Перенаправление с http://site.com на http://www.site.com (не советуем использовать)
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]
RewriteRule^(.*)$ http://www.% {HTTP_HOST}/$1 [R=301,L]
Редирект со старого домена на новый
Самая очевидная причина настройки этого редиректа — переадресовать роботов и пользователей на другой адрес при переезде сайта на новый домен.
RewriteEngine On
RewriteRule ^(.*)$ https://www.mysite2.com/$1 [R=301,L]
Или
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.mysite1\.ru$ [NC]
RewriteRule ^(.*)$ https://www.mysite2.ru/$1 [R=301,L]
Где «mysite1» и «mysite2» — имена ваших сайтов на старом и новом домене соответственно.
Как добавить .html в конце URL
Чтобы при вводе mysite.com/page или mysite.com/page/ происходило перенаправление на mysite.com/page.html пишем в .htaccess следующее:
RewriteCond %{REQEST_URI} (./*[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule^(.*)/$ /$1.html [R=301,L]
Как убрать .html в конце URL
Обратный редирект с site.com/page.html на site.com/page
RewriteBase /
RewriteRule(.*)\.html$ $1 [R=301,L]
Избавляемся от дублей
Каждая страница сайта должна быть доступна только по одному адресу. Для этого должны быть настроены:
- редирект на страницы со слешем в конце URL или наоборот;
- главное зеркало — основной адрес сайта в поиске.
Сделать это можно при помощи модуля mod_rewrite. В его составе используются специальные команды — директивы сложного перенаправления. Первой командой всегда идет включение преобразования URL:
RewriteEngineOn
Переадресация на слеш
Настроить ли переадресацию на страницы со слешем или без, в каждом случае нужно решать индивидуально. Если у сайта уже накоплена история в поиске, анализируйте, каких страниц в индексе больше. Для новых сайтов обычно настраивают редирект на слеш. Проверить, не настроена ли переадресация по умолчанию, просто: удалите/добавьте слеш в конце URL. Если страница перезагрузится с новым адресом — мы имеем дубли, требуется настройка. Если URL подменяется — все в порядке. Проверять лучше несколько уровней вложенности.
Современные CMS, например, WordPress настраивают слеш в конце строки по умолчанию.
Как убрать слеш в конце URL
Например, было mysite.com/page/, стало mysite.com/page
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule^(.+)/$ /$1 [R=301,L]
301 Редирект с одного раздела на другой
Перенаправление всех страниц одного раздела mysite.com/razdel-1/razdel-2/page на страницы другого раздела mysite.com/razdel-1/page
RewriteEngine On
RewriteRule ^blog/raznoe/(.*)$ http://mysite.ru/blog/$1 [R=реrmanent,L]
Вариантов редиректа много, но, как правило, самые распространённые редиректы – это редиректы с одной страницы на другую.
Как можно упростить работу с помощью генераторов редиректов? Генераторы редиректов – это онлайн-сервисы, которые выдают готовые коды, вам нужно лишь указать, откуда и куда перенаправить пользователя. Вот некоторые из этих сервисов:
https://www.webconfs.com/seo-tools/htaccess-301-redirect-tool/
https://www.rapidtables.com/web/tools/redirect-generator.html
Как настроить редирект, если нет опыта веб-программирования.
Настройка редиректа — сложная техническая задача, для выполнения которой не обойтись без профильных знаний. Если вы не владеете навыками разработки и программирования, и у вас под рукой нет штатного программиста, можно воспользоваться поддержкой хостинг-провайдеров. Многие из них предлагают услугу web-форвардинга (или «переадресация домена», «URL-форвардинг» и т. п.). Она позволяет настроить переадресацию с одного URL на другой. При этом используется 301 редирект.
Еще один вариант — настройка редиректов с помощью встроенных инструментов CMS или конструкторов сайтов или специальных плагинов.
Популярные плагины для Wordoress
Настроить редиректы для сайта на WordPress можно с помощью таких плагинов:
- Redirection — самый популярный плагин для настройки редиректов.
- ReallySimple SSL – Это простой плагин для редиректа с http на https протокол. Плагин не только выполнит 301 редирект, но и проверит совместимость ваших других плагинов, тем и всего остального с протоколом https на хосте.

Заключение
Лучший способ настроить 301 редирект — с помощью .htaccess. Но он подходит только для веб-серверов Apache. Для IIS придется настраивать web.config. Если же нужно не просто сделать редирект, а учесть определенные условия, то используйте PHP, но в этом случае без помощи программиста не обойтись.
Есть и другие способы (в частности, с помощью HTML и JavaScript), но это не 301 редирект, а просто перенаправление без передачи веса, что бесполезно с точки зрения SEO.
Также можно использовать плагины для популярных CMS или подключить услугу web-форвардинга, если ее оказывает ваш хостинг-провайдер.
Стоит понимать, что не всегда есть смысл использовать 301 редирект. Иногда больше подойдет, например, атрибут rel=»canonical».
Какой бы вариант вы ни выбрали, главное, чтобы он правильно работал.