.htaccess — это файл дополнительной конфигурации веб-сервера Apache, с помощью которого можно задавать настройки на уровне отдельных каталогов. В отличие от главного файла конфигурации httpd.conf, директивы в .htaccess распространяются только на тот каталог, где он размещен, и на дочерние каталоги.
Если в корневой папке вашего сайта нет файла .htaccess, его нужно создать и загрузить с помощью FTP-клиента. Теперь можно приступать к настройке редиректов.
Подробнее о возможностях файла .htaccess — в этой статье.
- Редирект с одного домена на другой
- Постраничные редиректы
- Склейка зеркал сайта
- Борьба с дублями на сайте
- В каких случаях используется постоянный редирект 301
- 301 редирект в популярных CMS
- 301 редирект в Битрикс (Bitrix)
- 301 редирект в WordPress
- Плагин Redirection
- Плагин Simple 301 Redirects
- 301 редирект в Joomla!
- Что делать, если 301 редирект в Joomla! не работает?
- 301 редирект в Opencart 2
- 301 редирект в Modx
- 301 редирект для Wix
- Какой он — правильный 301 редирект?
- Создание постоянной переадресации 301 через настройки и плагины CMS
- Что делать, если 301 редирект не работает?
- Для чего нужен 301 редирект?
- Разница между 301 и 302 редиректом
- Когда оправдано использование 302 редиректа?
- Настройка 301 редиректа в web. config
- Другие способы создания переадресации 301
- ASP-редирект
- ColdFusion редирект
- CGI-скрипт на PERL
- Склейка зеркал сайта (www / без www)
- Редирект с http на https для всего сайта
- Постранично
- Для одной страницы
- Редирект сайта с https на http
- Изменение домена
- Редирект на страницу с другим url (без параметров)
- Редирект для url (с параметрами)
- Редирект с index. php на главную страницу
- Редирект со страниц без слеша на слеш (для всего сайта)
- 301 редирект с 404 Not Found
- Как убрать 301 редирект?
- Как сделать 301 редирект?
- 301 редирект при помощи PHP
- 301 редирект в Nginx
- 301 редирект с http на https для Nginx
- 301 редирект с www на без www для Nginx
- 301 редирект с без www на www для Nginx
- Редирект для одной страницы (Nginx)
- Редирект с одного домена на другой (Nginx)
- Редирект со страницы имеющей слэш в конце URL, на страницу без него (Nginx)
- Редирект со страницы НЕ имеющей слэш в конце URL, на страницу со слэшем (Nginx)
- Перенаправление с использованием mod_rewrite
- Перенаправление домена без www на домен с www
- Перенаправление домена с www на домен без www
- Перенаправление в подкаталог
- Перенаправление с несуществующего файла
- Перенаправление c http на https
- Перенаправление на https для одной страницы
- Проверка корректности настроек 301 редиректа
- Автоматическое создание переадресации
- Редирект 301 в панелях управления сервера
- Cpanel
- ISPmanager
- Как настроить редирект, если нет опыта веб-программирования
- Популярные плагины для WordPress
- Проверяем 301 редирект
- Простое перенаправление
Редирект с одного домена на другой
Когда вам требуется сделать редирект с текущего домена на другой (например, при переезде сайта), можно использовать директивы модуля mod_alias. Пропишите в .htaccess следующую директиву (вместо newsite.ru укажите ваш новый домен):
Redirect permanent / https://newsite.ru/
Redirect 301 / https://newsite.ru/
301 редирект — не единственный возможный. Есть 302, 307 и другие редиректы. О том, в каких ситуациях их использовать и в чем их польза для SEO, рассказано в этой статье.
Постраничные редиректы
Редирект со страницы page1.html на страницу page2.html:
Redirect 301 /page1.html https://site.ru/page2.html
Редирект с главной страницы сайта на страницу каталога /cat:
Redirect 301 / https://site.ru/cat
Редирект с каталога /cat на главную:
Redirect 301 /cat https://site.ru
Склейка зеркал сайта
Редирект часто используют для склеивания зеркал сайта — так называются варианты сайта с одинаковым контентом, доступные по разным адресам. Например, site.com и www.site.com. Поисковики не любят зеркала и считают их дублями, поэтому рекомендуется выбрать один основной адрес (главное зеркало), а с остальных настроить переадресацию на него.
Для склейки зеркал применяется модуль mod_rewrite.
Например, если вы хотите, чтобы шел редирект с домена с www на домен без www, то пропишите такие строки (где yoursite.ru — ваш домен):
И наоборот — редирект с домена без www на домен с www:
Редирект всех страниц сайта при переезде с http на https:
Если не сработает, можно попробовать такой вариант:
Борьба с дублями на сайте
Также 301 редирект используется в борьбе с дублями страниц. Приведем несколько примеров.
Для поисковых систем URL https://www.yoursite.ru/ и https://www.yoursite.ru являются разными. Поэтому надо решить, какой тип использовать: со слешем в конце или без него.
Для того чтобы убрать слеш в конце URL, пропишите в файле .htaccess правило:
Добавить слеш можно таким образом:
Для того чтобы заменить все .htm файлы .html файлами, пропишите следующие строки:
Если вы прописываете несколько директив, то строка «RewriteEngine on» указывается один раз — с ее помощью включается модуль mod_rewrite.
Если вы создаете файл .htaccess с нуля, то все команды указываются внутри таких строк:
Например, так будет выглядеть файл .htaccess с двумя редиректами: с www на без www и со страниц без слеша на страницы со слешем в конце:

Это лишь несколько примеров дублирования страниц. Вот подробная инструкция по поиску и устранению дублей на сайте — в том числе с помощью 301 редиректа.
В каких случаях используется постоянный редирект 301
- Смена доменного имени, перенос сайта. Необходимо произвести тотальную настройку переадресации со старого адреса на новый, чтобы все без исключения запросы к old_site.ru перенаправлялись на new_site.ru.
- Изменение написания url определенных страниц в целях SEO-продвижения, смены CMS или по иным причинам. Требуется настроить редирект с site.ru/1hdkr5 на site.ru/page_adress.
- Перенос разделов на субдомены. Необходимо сменить адрес www.site.ru/example на example.site.ru.
- Для аккумуляции трафика с адресов, купленных в разных доменных зонах, на один приоритетный ресурс.
- Исключение дублирующихся страниц из индекса.
- Склейка зеркал сайта – вариантов сайта с идентичным контентом, но разным написанием адресов: site.ru, www.site.ru, https://site1.ru и т.д. В этом случае выбирается один приоритетный домен и на него настраивается редирект со всех остальных зеркал.
- Удаление ранее существовавшей страницы. В этом случае пользователи обычно видят ошибку 404. Большое количество таких сообщений негативно воспринимается как пользователями, так и поисковиками.
- Для быстрого перехода пользователя на мобильную версию ресурса со смартфонов и планшетных устройств.
301 редирект в популярных CMS
Вне зависимости от CMS сайта, Вы всегда можете создать 301 редирект при помощи файла .htaccess или php кода. Однако, для распространенных систем управления существуют плагины и модули, которые упрощают процесс создания перенаправления до нескольких кликов. Ниже мы описываем самые популярные плагины и модули для Битрикса, WordPress, Joomla!, Opencart и других распространенных систем управления.
301 редирект в Битрикс (Bitrix)
Для Битрикса существует множество дополнений в виде модулей. Для решения задачи по созданию 301-го редиректа был реализован модуль «Редирект мастер«. Как и множество других дополнений для Битрикса, он платный. Его стоимость на момент написания статьи — 5 000 рублей. Что довольно дорого, по нашему мнению.
Есть и более дешевый вариант — модуль с простым названием «Перенаправление ссылок«. Его стоимость в 5 раз меньше предыдущего, а функционал очень схож.
Модуль «Редиректор«, стоимостью 3 900 рублей на момент написания статьи, также очень схож с описанными выше.
Все эти модули позволяют настроить 301-й редирект для динамических URL, ЧПУ, адресов с параметрами, а также практически все, что можно сделать руками в .htaccess.
301 редирект в WordPress
Одно из преимуществ WordPress — наличие огромного количества готовых решений на все случаи жизни. Не стал исключением и 301 редирект. Для упрощения процесса создания переадресации существует множество различных плагинов. Мы рассмотрим два самых популярных.
Плагин Redirection
В разделе «Добавить плагины«, после ввода названия в строку поиска, Вы увидите результаты, среди которых будет:

После того, как Redirection будет активен, переходим в список всех плагинов, выбираем «Перенаправления/Redirection» и нажимаем «Настройки«. Сразу под названием плагина Вы увидите 7 вкладок:
- Redirects. В данной вкладке представлены все имеющиеся редиректы. Ниже располагается блок «Add new redirection» (Добавить новый редирект).
Первое поле (Source URL) — то, откуда нужно сделать редирект.
Второе поле (Target URL) — то, куда нужно сделать редирект.
Group — группа, к которой будет относится переадресация. - Groups. Группы, на которые делятся редиректы. Не имеет отношения к массовым редиректам. Это просто сортировка.
- Log. Логи или проще говоря, журнал в который записываются все события связанные с редиректами данного плагина.
- 404s. Те же логи, только для события 404.
- Import/Export. Возможность импорта и экспорта редиректов.
- Options. Основные настройки плагина.
- Support. Раздел поддержки.

Для того, чтобы добавить редирект, переходим во вкладку «Redirections«, спускаемся к блоку «Add new redirection» и заполняем все необходимые поля (Source URL, Target URL, Group), нажимаем «Add Redirect» — готово. Теперь необходимо только проверить результат.
Плагин Simple 301 Redirects
Принцип установки точно такой же, как и у Redirection. В поиске плагинов необходимо найти:

После активации плагина, в левом меню WordPress в пункте «Настройки» появится ссылка «301 redirects«. Переходим по ней и попадаем на страницу с двумя полями.

Первое поле — откуда ставим редирект, второе — куда. Тут нет сложных настроек, все максимально просто.
301 редирект в Joomla!

После перехода Вы увидите все имеющиеся редиректы, если они есть.
Для создания нового, необходимо нажать на кнопку «Создать» и заполнить все обязательные поля (отмечены звездочкой).

Перенаправление сразу должно заработать после сохранения. Если этого не произошло, необходимо выполнить нижеуказанные действия.
Что делать, если 301 редирект в Joomla! не работает?
Если при использовании стандартного компонента перенаправлений в Joomla! 3, редирект так и не заработал, необходимо:
- Открыть файл configuration.php находящийся в корневой папке Вашего сайта;
- Найти переменную public $live_site;
- Присвоить ей в качестве значения домен своего сайта.
Сохраняем изменения и проверяем редирект.
301 редирект в Opencart 2
Для Opencart 2 существует готовый модуль, позволяющий создавать постоянную переадресацию. Его название «Менеджер 301 редиректов«.
Он поддерживает всевозможные варианты 301-го редиректа и совместим со всеми версиями Opencart 2.x.
Данный модуль может конфликтовать с ранее установленными SEO расширениями, поэтому, ознакомьтесь с инструкцией перед покупкой и установкой.
Не забывайте, что любая CMS система, в том числе и Opencart, поддерживает редиректы созданные вручную в файле .htaccess или посредством php вставки.
301 редирект в Modx
Для Modx Revo существует множество готовых решений реализации 301-го редиректа. Одно из них Redirector. Установка и использование данного расширения не составляет никаких сложностей. Если, все же, у Вас возникли трудности, Вы можете подробно изучить любой вопрос на официальной странице https://docs.modx.com/extras/revo/redirector.
301 редирект для Wix
В Wix существует стандартная функция, позволяющая сделать 301 редирект. Ничего придумывать не придется, просто следуйте нижеуказанной инструкции.
- Переходим в режим управления сайта;
- Находим раздел SEO и переходим в него;
- Пролистываем страницу вниз до блока «Переадресация: 301 редирект»;
- Нажимаем «Настроить переадресацию»;
- В соответствующие поля вводим старый и новый URL;
- Нажимаем «Сохранить» и «Опубликовать».
Проверяем работоспособность переадресации.
Какой он — правильный 301 редирект?
Правильный 301 редирект отвечает всем нижеперечисленным требованиям:
- Ведет на страницу без последующих перенаправлений. То есть, если Вы сделали редирект со страницы А на страницу Б, то с последней (Б) уже не должно быть никаких переадресаций. Она должна быть конечной точкой, куда попадет пользователь;
- Переадресовывает на страницу, код ответа которой 200 ОК. То есть, проще говоря, на существующий и доступный раздел. Неприемлемо делать перенаправление на несуществующую или ограниченную в доступе страницу;
- Сделан без синтаксических и логических ошибок;
- 301 redirect выбран осознанно. Убедитесь, что Вам нужен именно он, а не 302-ой или 307-ой. Выбор типа переадресации очень важен, ведь с точки зрения SEO, разница между ними глобальна;
- Был сделан сознательный выбор между атрибутом rel=»canonical» и перманентным редиректом. Не стоит делать переадресации когда попало;
Если Ваш редирект полностью удовлетворяет всем вышеуказанным требованиям, то Вы можете считать его просто великолепным.
Создание постоянной переадресации 301 через настройки и плагины CMS
В большинстве популярных конструкторов сайтов и CMS (OpenCart, Joomla!, Битрикс, Wix, Тильда) предусмотрена настройка редиректов с помощью встроенных инструментов. Если сайт создан с помощью WordPress, для настройки переадресации можно воспользоваться следующими плагинами:
Настроить Permanent Redirect 301 в Вордпресс можно и через редактирование файла .htaccess в разделе управления хостингом. Чтобы подключиться к нему, потребуется использовать FTP-клиент. Сама кодировка производится по общим правилам настройки переадресации в .htaccess.
Чтобы настроить 301 редирект в CMS OpenCart в файле .htaccess необходимо прописать:
Для Битрикс кодировка будет выглядеть следующим образом:
С конструкторами сайтов все не так однозначно. Например, один из наиболее популярных CMS-конструкторов WIX не предоставляет возможности создания файла .htaccess.
Но настроить редирект 301 довольно просто в базовом редакторе.
Что делать, если 301 редирект не работает?
Мы не в силах перечислить все причины, по которым может не работать 301 редирект, но отметим самые распространенные. Вот список проблем, из-за которых чаще всего не работает переадресация:
- Синтаксические ошибки
- Использование URL адреса с параметромУмещающийся в одну строчку «упрощенный» вариант редиректа в файле .htaccess вида:Redirect 301 «old_url» «new_url»Работает исключительно с URL адресом без каких либо параметров. То есть, такая команда работать не будет:Redirect 301 /index.php?productID=1109 http://dh-agency.ru/for-seo/А вот такая, будет:Redirect 301 /index.php http://dh-agency.ru/category/for-seo-professionals/Для переадресаций с префиксами в URL (в нашем случае «?productID=1109») необходимо использовать RewriteCond и RewriteRule.
- Некорректное расположениеПри создании 301 редиректа с помощью php, часто неверно располагают код в теле документа, что приводит к ошибкам в работе. Обращаем внимание, что php код, отдающий заголовок, должен располагаться перед всеми последующими командами и выводами.
- Отключен модуль mod_rewriteПри создании переадресации в файле .htaccess убедитесь, что у Вас подключен и активирован модуль mod_rewrite. Подробнее об этом мы писали Выше.
- Некорректная настройка плагиновВ случае использования готового решения для CMS систем (плагина, модуля, компонента и т.д.) ознакомьтесь с инструкцией или найдите видео урок. Даже в интуитивно понятном интерфейсе возможно допустить ошибку. Неправильно настроенный модуль может сильно повлиять на корректность индексации. К сожалению, не все ошибки связанные с редиректом возможно выявить сразу. Иногда их находят только после появления исключенных страниц в Яндекс Вебмастере.
Для чего нужен 301 редирект?
Как мы уже выяснили, 301 редирект используется для переадресации с одного адреса, на другой. В основном, это необходимо в следующих случаях.
- Поменялся домен сайта, поэтому нужно переадресовать людей на новый домен;
- Один и тот же материал имеет несколько URL адресов, то есть, дублей;
- При работе online сервисов, форм, модулей и прочих интерактивных элементов сайта необходимо перенаправление.
Конечно, это неполный список того, как можно использовать 301 redirect, однако это основное.
Нужно понимать, что сделать 301 redirect со страницы возможно только при наличии доступа к этой самой странице. То есть, взять и прописать переадресацию для любого ресурса не получится. Именно поэтому, 301 редирект считается «официальным» перенаправлением, которое сделал владелец сайта.
Разница между 301 и 302 редиректом
С точки зрения SEO 301 редирект кардинально отличается от 302. Даже несмотря на то, что их синтаксис очень схож, для поисковой системы они несут совершенно разный смысл. Вот их основное отличие:
301 редирект (Permanent Redirect) — постоянное перемещение страницы;
302 редирект (Temporary redirect) — временное перемещение страницы;
Из это вытекают все их различия и принципы использования.
Проще говоря, делая 301 редирект мы «говорим» поисковой системе о том, что про старый адрес можно забыть и весь материал теперь навсегда доступен по новому URL.
В случае же с 302 редиректом мы сообщаем, что переадресация выполнена временно и вскоре старый адрес будет снова доступен. То есть, нужно ненадолго передать трафик с одной страницы на другую, после чего все вернется на круги своя.
*Стоит сказать, что 301 и 302 редирект имеют различные степени риска попадания под фильтры поисковых систем за мошенничество. Безусловно, не нарушая никаких правил к Вам вряд ли будут применены санкции, однако мы все равно оценим риски. Так как 302 редирект часто используется в черном SEO, то риск при его использовании на порядок выше, нежели у 301 редиректа.
Когда оправдано использование 302 редиректа?
Использование 302 редиректа оправдано в случаях, когда необходимо на время перенаправить пользователей на другую страницу сайта. Вот примеры таких ситуаций.
Нежелательно ставить 302 редирект на слишком длительный срок. Это может привести к тому, что поисковая система исключит из поиска старую страницу, по сути, превратив 302 редирект в 301.
Настройка 301 редиректа в web. config
Вариант редиректа с помощью .htaccess работает только для Apache. Для веб-сервера IIS настраивать переадресацию нужно в файле web.config. Это XML-файл, в котором хранятся основные настройки сервера IIS. Его роль аналогична роли файла .htaccess для сервера Apache.
Чтобы настроить 301-й редирект с одной страницы (yoursite.ru/page.html) на другую (yoursite.ru/page2.html), нужно прописать в файле web.config следующий фрагмент кода:
301-й редирект с домена с www на домен без www настроить можно таким образом:
Другие способы создания переадресации 301
Данный вариант подойдет тем, кто хорошо разбирается в web-программировании и PHP. Необходимо открыть файл index.php в корне CMS-движка и прописать там:
(в первой строке укажите старый url, а во второй — новый)
Второй способ — перенаправление при помощи отправки заголовков (скрипта):
ASP-редирект
Найдите в корне своего сайта файл web.config и вставьте в секцию синтаксис:
ColdFusion редирект
Данный способ подойдет для небольшой корректировки простых сайтов. Код можно прописать лишь в одном файле, а сам файл добавить на все нужные страницы, указав:
CGI-скрипт на PERL
Этот способ подойдет для небольших статических сайтов, когда требуется настроить переадресацию для одной страницы. Для этого необходимо добавить специальный мета-тег внутри кода HTML. Пример записи редиректа на другой ресурс после 5-секундной задержки:
Если поставить значение 0 вместо 5, то переадресация на https://livepage.pro произойдет моментально.
Однако для больших сайтов HTML-перенаправление делать сложно и затратно по времени, поэтому лучше отдать предпочтение другому варианту.
Файл с расширением .htaccess – это дополнительный конфигурационный файл web-сервера Apache. Его используют для настройки веб-сервера, а также для обработки различных URL-адресов.
Для настройки 301 редиректа в файле .htaccess чаще всего применяют одну из трех директив: Redirect, RedirectMatch или RewriteRule. Директивы относятся только к папке, где размещен .htaccess, а оттуда распространяются на дочерние папки.
Найти файл можно через панель управления хостинга либо использовать FTP-клиент. При любом варианте нужно включить отображение скрытых файлов.
- Для создания 301 редиректа перейдите в панель управления вашего сайта.
- Проверьте наличие .htaccess файла в корневом каталоге сайта (public_html, если используете WordPress). Если файл отсутствует, создайте его.
- Рекомендуем все условия редирект записывать в блоке IfModule, дабы избежать ошибок при выполнении файла htaccess.
Разберем наиболее распространенные варианты создания 301 редиректа через .htaccess.
Склейка зеркал сайта (www / без www)
Сайты http://name.site и http://www.name.site для поисковых систем являются разными. А по факту это разные адреса одного сайта.
В поисковой системе сайт по одному адресу будет проиндексирован, а по второму адресу зафиксирован как дубль, что может повлиять на продвижение ресурса. Для избегания дублей необходимо сделать так называемую «склейку» сайта, то есть прописать 301 редирект в .htaccess.
Если изначально в индекс поисковой системы попала версия «с www», в файл .htaccess добавляется редирект на «без www»:
Если произошла обратная ситуация и необходима переадресация с без «www» на «www», то в файл прописывается:
Редирект с http на https для всего сайта
В случае перехода на защищенный протокол https для всего сайта, необходимо настроить перенаправление с http на https. Для этого в файл .htaccess добавьте:
Если данная конструкция не сработает, попробуйте другой вариант:
Если редирект не работает и в этом случае, попробуйте такой вариант:
В результате пройдет перенаправление на https всех пользователей и поисковых систем.
Постранично
Бывают случаи, когда необходимо создать редирект на https всех страниц, кроме одной. В этом случае используют постраничный редирект:
Для одной страницы
Для редиректа с http на https одной страницы (например page.php), в файл добавьте следующую конструкцию:
Редирект сайта с https на http
Если необходимо сделать 301 редирект всего сайта с https на http, в файл прописывается следующее:
Изменение домена
В том случае. если необходимо перейти на другой домен, при этом сохранив SEO-позиции, в файл .htaccess прописывают следующее:
Редирект на страницу с другим url (без параметров)
Иногда возникает ситуация, когда необходимо изменить url страницы, то есть перенести данные с одной страницы на другую страницу, при этом не потеряв вес страниц. В этом случае в файл .htaccess прописывают следующее:
Редирект для url (с параметрами)
Если адрес содержит параметр (например, http://name.site/articles.php?section=1, где параметром является «section=1» ), то прописывают следующую конструкцию:
Редирект с index. php на главную страницу
Для избегания дублей в файле .htaccess используют следующую конструкцию:
Или более короткий вариант:
Редирект со страниц без слеша на слеш (для всего сайта)
Обратный вариант применяется, когда нужно использовать адреса со слешем.
301 редирект с 404 Not Found
Код 404 Not Found (страница не найдена) присваивается удаленной или несуществующей странице на сайте. Создание постоянного перенаправления с таких страниц актуально для контентных сайтов и крупных интернет-магазинов, где страницы часто удаляются по естественным причинам. Тогда возникает потребность перенаправить посетителей на одну из главных страниц сайта, чтобы они не уходили с ресурса при виде ошибки.
301 редирект для страниц 404 Not Found сделать совсем не сложно. Например, этот код перенаправит со всех 404-страниц на главную:
ErrorDocument 404 http://www.site.com/301.html
Однако делать такие редиректы в массовом порядке не рекомендуется, так как это может испортить SEO-статистику всего ресурса.
Пример файла htaccess, после добавления в него редиректов:
Важно учитывать, что настройка редиректа путем редактирования файла .htaccess доступна исключительно для веб-серверов Apache.
Как убрать 301 редирект?
Если Вам необходимо убрать 301 редирект, происхождение которого неизвестно, то придется сделать несколько достаточно простых шагов. Что бы их выполнить потребуется доступ к CMS, корневому каталогу сайта и поверхностные знания php/html.
- Выясняем, каким образом сделан редиректЕсть несколько стандартных способов сделать 301 редирект. Нам необходимо проверить их все.В первую очередь, открываем файл .htaccess находящийся в корневом каталоге сайта. Именно в нем чаще всего располагаются инструкции редиректа. Ознакомившись с процессом создания, Вы без труда отличите их от других команд.Если в файле .htaccess редирект отсутствует, то необходимо открыть код страницы с которой происходит перенаправление и проверить ее на наличие php вставки, отправляющей заголовок с редиректом. О том, где может находится этот код и как он выглядит мы говорили выше.В случае использования популярной CMS, такой как WordPress или Joomla!, необходимо будет проверить настройки всех плагинов, которые отвечают за 301 редирект. Подробнее о стандартных решениях для распространенных CMS.
- Избавляемся от переадресацииТеперь осталось самое простое — убрать переадресацию. Для этого просто удаляем код, который отвечает за 301 редирект. В случае, если используется плагин, возможна простая деактивация в один клик.
- Проверяем работуПосле того, как 301 редирект будет убран, необходимо проверить действительно ли переадресация отсутствует. Так как браузеры привыкли кэшировать любые редиректы, лучше всего воспользоваться сервисом. Самый простой и доступный — Яндекс Вебмастер. О нем мы говорили выше, в шаге 2. Но, также есть и множество бесплатных online инструментов, которые широко доступны даже без регистрации. Один из них: redirectdetective.com
Как сделать 301 редирект?
Создание 301 редиректа довольно простая задача. Тут нет запутанных алгоритмов и сложных структур. Необходимо лишь выучить синтаксис и понять несколько принципов работы.
Ниже мы опишем ряд основных способов создания 301 redirect, которые отличаются по своему исполнению, но имеют один и тот же результат.
Создание 301 редиректа в файле .htaccess является самым популярным способом сделать переадресацию. Он достаточно прост и доступен всем пользователям, которые используют в качестве сервера Apache.
Файл .htaccess находится в корневом каталоге Вашего сайта. Попасть туда можно через FTP подключение или файловый менеджер, который доступен практически у всех хост-провайдеров.

Обратите внимание, что название файла начинается со служебного символа — точки. В некоторых файловых системах подобные документы по умолчанию скрыты. В таком случае, необходимо поменять настройки, чтобы увидеть .htaccess.
Для начала необходимо убедиться, что у Вас установлен модуль mod_rewrite, так как именно он отвечает за переадресацию URL адресов. По этому поводу Вы можете обратиться к своему хост провайдеру или самостоятельно найти и проверить файл конфигурации Apache (httpd.conf)
Создаем или открываем уже существующий файл .htaccess. Прописываем в нем следующие строки:
После этого, внутри вышеуказанных тегов проверки наличия модуля необходимо указать следующую инструкцию:
Данная запись позволит активировать модуль mod_rewrite.
Следующей строкой прописываем:
Подобная команда устанавливает базовый URL. Обычно это сам домен, примеру http://example.ru. Именно от установленного адреса мы и будем отталкиваться при дальнейшей работе.
Если Вы все верно прописали, то итогом будет вот такой файл:

Вот и все, наш .htaccess подготовлен для добавления перенаправлений.
Существуют две основные инструкции, при помощи которых можно сделать перенаправление:
- — самый простой вид редиректа, предназначен для переадресации со страницы на страницу как внутри одного домена, так и в рамках нескольких доменных адресов. Работает с URL без параметров.
- RewriteCond / RewriteRule — более гибкие и сложные правила переадресации. Обычно используются для массовых редиректов.
Теперь о каждом подробнее.
Redirect 301
Самая простая во всех смыслах инструкция. Ее синтаксис умещается в одну строку:
Между адресами всего один пробел. Никаких точек, дефисов и других сторонних символов.
Пример использования редиректа:
Redirect 301 /old-page.html http://example.ru/new-page.html
В файле это выглядит следующим образом:

Это все, что нужно знать о данной инструкции.
RewriteRule (RewriteCond )
Это составная инструкция, которая делится на 2 основные команды.
— Задает условие для следующей за ней директивы RewriteRule. Отдельно не применяется.
— Описывает правило изменения URL адреса.
Давайте сразу рассмотрим пример использования. Ниже присутствует часть файла .htaccess. Данный отрывок отвечает за 301 редирект с домена без WWW, на домен с WWW.
Будем разбирать по строчкам.
2 строка. Проверка наличия модуля mod_rewrite.
3 строка. Активация модуля mod_rewrite.
4 строка. Директива RewriteCond. Проверяет, есть ли «www» в начале адреса. Если нет, то срабатывает ниже расположенная RewriteRule.
5 строка. Директива RewriteRule. Переадресовывает на «www».
6 строка. Окончание контейнера проверки наличия модуля mod_rewrite.
Мы не будем подробно расписывать синтаксис и все возможные команды, которые применяются при работе с файлом .htaccess в данной статье, так как это очень глобальная и сторонняя от SEO тема. Примеры редиректов Вы сможете найти ниже.
301 редирект при помощи PHP
Помимо файла .htaccess, 301 redirect возможно сделать посредством php. Суть метода очень проста и задействует заголовки отправляемые сервером на запрос клиента.
Чтобы сделать редирект, в документе необходимо прописать php код следующего содержания:
Таким образом, при обращении к странице клиент получит необходимый нам заголовок содержащий переадресацию.
А вот вариант с сохранением всех параметров запроса и адреса страницы (то есть, домен будет изменен, а оставшаяся часть URL останется прежней):
Подобный метод переадресации достаточно прост в реализации, однако имеет существенный минус. Код необходимо физически добавлять для каждой страницы, с которой нужно сделать редирект.
301 редирект в Nginx
Мы не будем подробно рассматривать все нюансы настройки 301 редиректа в nginx, так как это очень глобальная и отдаленная от SEO продвижения тема. Рассмотрим лишь несколько самых популярных перенаправлений.
301 редирект с http на https для Nginx
Перевод сайта с http на https набирает все большую популярность. Сегодня защищенный протокол это не просто приятное дополнение, а банальная необходимость. Google уже не раз заявлял, что наличие SSL сертификата дает сайту преимущество в поисковой выдаче. После создания защищенного протокола Вам будет необходим редирект с http на новый https. Вот его пример для Nginx:
301 редирект с www на без www для Nginx
Если у Вас новый сайт, скорее всего, для него придется выбирать и устанавливать основное зеркало. В том случае, если основным зеркалом будет домен без www, Вам пригодится следующий редирект.
301 редирект с без www на www для Nginx
Обратный от вышеуказанного редиректа. Будет полезен, если основное зеркало сайта содержит www.
Редирект для одной страницы (Nginx)
В случае смены URL, чтобы не потерять имеющиеся позиции, необходимо сделать 301 редирект на новый адрес. Для одной страницы это можно сделать следующим образом:
Вариант для папки:
Редирект с одного домена на другой (Nginx)
301 редирект с одного домена на другой позволяет склеить сайты, а также передать «вес» (с точки зрения поисковой системы).
В server_name возможно указание алиасов и зеркал домена.
Редирект со страницы имеющей слэш в конце URL, на страницу без него (Nginx)
Для того, чтобы исключить появление дублей, необходимо все страницы привести к единому формату. В том числе, это касается и наличия слеша на конце URL адреса. Ниже описан пример переадресации со страницы имеющей слэш на страницу без него.
Редирект со страницы НЕ имеющей слэш в конце URL, на страницу со слэшем (Nginx)
Если Вы используете популярную CMS, к примеру WordPress или Joomla!, то можете сильно упростить процесс создания 301 редиректа при помощи плагина.
Для решения простых задач по переадресации использование плагина имеет неоспоримые преимущества. Во-первых, Вы экономите до 90% своего времени. Во-вторых, получаете наглядный и удобный интерфейс, в котором разберется даже новичок. Тем более, что практически все продукты такого рода бесплатны и доступны в избытке.
Ниже мы подробно описали популярные плагины для основных систем управления контентом.
Перенаправление с использованием mod_rewrite
В примере ниже выполняется редирект с www.old-domain.ru на www.new-domain.ru:
RewriteCond задает условие, при котором происходит выполнение правила, указанного в RewriteRule. Таким образом, при запросе любой страницы www.old-domain.ru или old-domain.ru будет осуществлен переход на адрес www.new-domain.ru.
Перенаправление домена без www на домен с www
Данное перенаправление также может быть выполнено двумя способами. В примерах осуществляется редирект с forum.example.ru на www.forum.example.ru.
Перенаправление домена с www на домен без www
В примерах осуществляется перенаправление с www.forum.example.ru на forum.example.ru.
Перенаправление в подкаталог
Перенаправление поддомена forum.example.ru в подкаталог forum:
www.forum.example.ru в подкаталог forum:
Перенаправление с несуществующего файла
Такие перенаправления могут быть полезны, когда необходимо, чтобы тот или иной статический файл (.txt, .jpg, .pdf и многие другие расширения) обрабатывался Apache вместо Nginx.
Перенаправление на PHP-скрипт при обращении к несуществующему файлу robots.txt:
Перенаправление с несуществующего файла filename.jpg на необходимый статический файл (предварительно нужно переименовать filename.jpg — например, в filename.jpg2):
Перенаправление c http на https
Вариант 2 (общее перенаправление на https, с перенаправлением одной страницы на http). Этот способ часто необходим для CMS Bitrix и корректной работы обмена данными с 1С, т.к. 1C не может подключаться по протоколу https.
Перенаправление на https для одной страницы
Если по какой-то причине вы не можете создавать и редактировать web.config или .htaccess (например, в силу ограничений на хостинге) или вам нужна определенная обработка полученных данных, их модификация или проверка, по результатам которой реализуется перенаправление, вы можете настроить редирект с помощью PHP.
В этом случае происходит принудительная передача кода HTTP-ответа 301, и пользователь перенаправляется на страницу https://newsite.ru/.
Если у вас небольшой сайт с парой страниц, то редирект можно сделать с помощью HTML:
Изменяя цифру 0, вы задаете количество секунд до переадресации. В этом случае редирект реализуется не на стороне сервера, а на стороне клиента (не передается заголовок 301).
Также редирект можно сделать с помощью JavaScript:
В этом случае также не передается заголовок 301. И если у пользователя в браузере отключена поддержка JavaScript, то редирект не сработает.
Вариантов редиректов бесчисленное множество. Упростить работу можно с помощью генераторов редиректов. Это онлайн-сервисы, которые выдают готовые коды, — вам нужно лишь указать, откуда и куда перенаправить пользователя. Вот некоторые из этих сервисов: www.webconfs.com, www.rapidtables.com, www.htaccessredirect.net.
Проверка корректности настроек 301 редиректа
Самый простой способ проверки переадресации – ручное тестирование. Для этого необходимо вставить в адресную строку браузера url сайта или страницы, с которой настроено перенаправление. Если при открытии будет доступен ресурс, на который настроен редирект, то переадресация выполняется правильно.
Для автоматической проверки можно воспользоваться специальными сервисами:
Существует ряд ошибок, которые следует избегать при настройке редирект 301:
- использование перенаправлений между страницами сайта без изменения их url в ссылках;
- установка временной переадресации вместо постоянной;
- неправильный выбор типа редиректа;
- перенаправление файла robots.txt;
- редирект на нерелевантный контент;
- переадресация, которая не приводит к 200-й странице.
Стоит отметить проблему создания цепочки ссылок, которая может привести к появлению циклического редиректа — ошибки с кодом «ERR_TOO_MANY_REDIRECTS». Наиболее распространенные причины возникновения такого бага – неправильная настройка в процессе создания переадресации, вирусная атака, слишком длинная цепочка редиректов. Не рекомендуется настраивать редирект, содержащий более пяти адресов. Оптимальной является прямая переадресация со старого на новый url.
Автоматическое создание переадресации
При отсутствии знаний и опыта самостоятельной настройки редиректа можно воспользоваться сервисами автоматической генерации:
Редирект 301 в панелях управления сервера
Большинство панелей управления сервера предоставляют возможность настройки переадресации с кодом 301. Рассмотрим варианты решения этой задачи на примере двух популярных ПУ для VDS.
Cpanel
- В строке «Тип» выбрать «Постоянный 301».
- В строке «https://www» из выпадающего списка выбрать домен сайта (например, example.ru).
- В строке «Перенаправляет на» указать для домена адрес http://example.ru.
- В блоке «Перенаправление www» поставить галочку напротив «Перенаправлять только с www».
- Сохранить изменения кликом на «Добавить».
ISPmanager
В этой панели можно вручную править файлы nginx.config или .htaccess, но есть и встроенный механизм переадресации. Например, для настройки редиректа на https/http нужно снять галочку с соответствующего пункта в разделе «WWW-домены».
Как настроить редирект, если нет опыта веб-программирования
Настройка редиректа — сложная техническая задача, для выполнения которой не обойтись без профильных знаний. Если вы не владеете навыками разработки и программирования, и у вас под рукой нет штатного программиста, можно воспользоваться поддержкой хостинг-провайдеров. Многие из них предлагают услугу web-форвардинга (или «переадресация домена», «URL-форвардинг» и т. п.). Она позволяет настроить переадресацию с одного URL на другой. При этом используется 301 редирект.
Еще один вариант — настройка редиректов с помощью встроенных инструментов CMS или конструкторов сайтов (такие есть, например, в Joomla!, Wix и Тильде) или специальных плагинов.
Популярные плагины для WordPress
Настроить редиректы для сайта на WordPress можно с помощью таких плагинов:
Не уверены, что сможете правильно настроить редиректы своими руками? Лучше не рисковать — в модуле SEO системы PromoPult за вас все сделают профессиональные вебмастера. Все работы выполняются по чек-листу и в срок. Есть возможность рассрочки платежа.
Проверяем 301 редирект
После того, как Вы настроили 301 редирект, его необходимо проверить на корректность работы. Для этого введите в адресной строке своего браузера URL страницы, с которой была сделана переадресация. Если Вы видите новую страницу, то есть, ту, на которую делали редирект — то все корректно работает.
В поле «Опрашиваемый URL» необходимо ввести адрес страницы, с которой Вы делали перенаправление. Итогом проверки должен быть код статуса HTTP «301 Moved Permanently«

В случае, если при обращении к старой странице перенаправление не происходит или код статуса HTTP не «301 Moved Permanently» — проверьте корректность настройки редиректа.
Простое перенаправление
Чтобы ссылка на одну страницу перенаправляла на открытие другой, добавьте в файл .htaccess следующую строку:
Redirect 301 / http://example.com/index.html
В предложенном варианте:
- Redirect 301 — инструкция, сообщающая, что страница перемещена постоянно;
- http://example.com/index.html — адрес страницы, на которую происходит перенаправление.
При использовании 301 редиректа рейтинг сайта в поисковых системах сохраняется.
Аналогичный синтаксис простого редиректа в другом примере:
Redirect permanent / http://example.com/index.html

