301 редирект: что это и как настроить без ошибок

Постоянный переход со старой страницы на новую
301 редирект нужен, когда страница или сайт окончательно переехали на новый адрес. Я использую его, чтобы посетитель сразу попадал в нужное место, а поисковик понимал, какой URL теперь считать основным. Ниже — короткая логика выбора, рабочие примеры для Apache и Nginx и проверка после запуска.
14.10.2026 · 8 мин чтения

Что такое 301 редирект

301 — это ответ сервера: «страница переехала навсегда». Браузер получает новый адрес и открывает его автоматически. Поисковый робот тоже переходит дальше и со временем заменяет старый URL новым в индексе. Для бизнеса это важно при смене структуры сайта, переезде на другой домен, подключении HTTPS или объединении дублей с www и без www.
Я ставлю 301 только тогда, когда возвращать старый адрес уже не планирую. Если изменение временное, выбираю 302 или 307. Если обе страницы должны открываться, но одна считается основной, использую canonical. Эти инструменты решают разные задачи: редирект переносит человека, а canonical лишь подсказывает поисковику предпочтительную версию.
Схема перехода со старого URL на новый
Старый адрес отвечает кодом 301 и сразу направляет посетителя на новый.

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

СпособКогда применяюЧто видит посетительГлавное ограничение
301Адрес изменился навсегдаСразу открывается новый URLНе подходит для временных изменений
302 или 307Перенос нужен на короткий срокОткрывается временный URLСтарый адрес остаётся основным
CanonicalОбе версии нужны, но одна основнаяНикуда не перенаправляетсяЭто рекомендация для робота, а не переход
404 или 410Страница удалена и равноценной замены нетПоказывается страница ошибкиНельзя массово вести такие URL на главную

Когда я настраиваю постоянный редирект

  1. Меняю адрес отдельной страницы и перенаправляю старый URL на её прямую замену.
  2. Перевожу сайт с HTTP на HTTPS и оставляю одну защищённую версию.
  3. Выбираю главное зеркало: с www или без www.
  4. Переношу сайт на другой домен, сохраняя пути страниц.
  5. Убираю дубли вроде /index.php и привожу адреса со слешем к одному формату.
  6. Удаляю страницу, но у неё есть близкая по смыслу действующая замена.
Перед настройкой я составляю карту «старый URL → новый URL». Для небольшого сайта хватает таблицы. При крупном переезде выгружаю все индексируемые, посещаемые и имеющие внешние ссылки страницы. Каждому важному старому адресу назначаю наиболее близкую новую страницу. Не отправляю весь архив на главную: посетитель не получает ожидаемый ответ, а поисковик может посчитать такой переход мягкой ошибкой.
Карта переноса старых адресов сайта
Карта редиректов связывает каждый старый URL с релевантной новой страницей.

Как настроить 301 на Apache

На сервере Apache правила обычно добавляют в файл .htaccess в корне сайта. До правок я сохраняю копию файла: лишний символ способен вызвать ошибку сервера. Для одной страницы удобно простое правило: Redirect 301 /old-page/ https://example.com/new-page/ Старый путь указываю относительным, новый адрес — полным. После сохранения отдельно проверяю оба URL.
Для перевода всего сайта на HTTPS использую mod_rewrite: RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] Флаг R=301 задаёт постоянный ответ, а L прекращает обработку следующих правил. Если сайт работает за прокси, сервер может не видеть HTTPS напрямую — тогда конфигурацию лучше уточнить у администратора или хостинга.
При переезде на новый домен сохраняю путь после имени сайта: RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?old\.example$ [NC] RewriteRule ^(.*)$ https://new.example/$1 [R=301,L] Так старая страница /contacts/ ведёт на /contacts/, а не на главную. Домены в примере обязательно заменяю своими.

Как настроить на Nginx

Nginx не читает .htaccess: правило добавляют в конфигурацию сайта. Для переноса HTTP-версии на основной HTTPS-адрес достаточно отдельного серверного блока: server { listen 80; server_name example.com www.example.com; return 301 https://example.com$request_uri; } Переменная request_uri сохраняет путь и параметры. После изменения конфигурацию сначала проверяют, затем перезагружают Nginx. Если доступа к серверу нет, передаю администратору готовую карту адресов и ожидаемый код ответа.

Каких ошибок я избегаю

  1. Не создаю цепочку из нескольких переходов. Старый URL должен вести сразу на конечный.
  2. Не соединяю правила, которые добавляют и одновременно убирают слеш: получится петля.
  3. Не перенаправляю удалённые страницы на нерелевантные разделы или главную.
  4. Не оставляю внутренние ссылки на старые адреса после переезда.
  5. Не закрываю конечную страницу от обхода и не веду на URL с ошибкой.
  6. Не считаю смену адреса способом снять санкции или исправить слабый контент.
Порядок правил тоже важен. Сначала я нормализую протокол и главное зеркало, затем обрабатываю конкретные страницы и разделы. Иначе один запрос проходит через несколько промежуточных адресов. После запуска обновляю ссылки в меню, тексте, XML-карте и рекламных материалах: редирект должен страховать старые входы, а не заменять аккуратные ссылки внутри сайта.
Проверка цепочки переадресации до конечной страницы
Правильная схема: один ответ 301, затем доступная конечная страница.

Как проверить результат

Открыть старый адрес в браузере недостаточно: я увижу конечную страницу, но могу пропустить промежуточные ответы. Поэтому проверяю заголовки командой curl: curl -IL https://example.com/old-page/ В норме старый URL возвращает 301 и заголовок Location с правильным адресом, а конечная страница — 200. Если встречаю 302, лишний переход, 404 или повторение одного адреса, возвращаюсь к правилам.
Для большого сайта прогоняю список адресов краулером или пакетным проверяющим инструментом. После этого выборочно прохожу важные страницы вручную: главную, категории, услуги, карточки, статьи и URL с параметрами. Проверяю не только код, но и смысл — старая страница должна привести туда, куда рассчитывает попасть человек.

Финальный чек-лист

  1. Старый адрес отвечает именно 301.
  2. Переход выполняется за один шаг.
  3. Новый URL соответствует содержанию старой страницы.
  4. Конечная страница отвечает 200 и доступна поисковому роботу.
  5. Внутренние ссылки уже ведут на новые адреса.
  6. В карте сайта указаны только конечные URL.
  7. Нет циклов, массовых переходов на главную и редиректов на ошибку.
После переезда я не удаляю правила сразу. Старые ссылки могут оставаться в поиске, закладках, письмах и чужих публикациях. Периодически проверяю журнал ошибок и дополняю карту, если нахожу ценные пропущенные адреса. Так 301 остаётся понятным техническим мостом, а не запутанной сетью переходов.
SEO

Проверю карту редиректов

Найду временные ответы, цепочки, петли и старые адреса, которые ведут не на те страницы.
SEO-специалист и автор материала
Читайте также