Top.Mail.Ru
🔥 Летняя распродажа 2026 уже началась!

Скидка 20% на все покупки по коду SUMMER2026.

⚡ Всего 100 кодов активации — кто успел, тот получил.

Как правильно настроить редиректы: 301, 302, 307 и другие — полное практическое руководство

2026, 9 Июль Сервер и домены • 28 просмотров

Схема настройки редиректов разными способами: .htaccess, nginx, PHP с примерами кода для каждого метода

Практическое руководство по настройке всех типов редиректов. Как прописать 301 и 302 в .htaccess, nginx и на PHP. Массовые редиректы по маске, битые ссылки и цепочки. Как избежать потери трафика при переезде страниц.

Введение

Редирект — это дорожный знак на вашем сайте. Он говорит браузеру и поисковому роботу: «Страница переехала, вам сюда». Казалось бы, что может быть проще? Но именно с редиректами связана добрая половина SEO-катастроф. Бесконечные петли, потеря ссылочного веса, расщепление трафика, исключение страниц из индекса — всё это последствия неправильно настроенных редиректов. А правильно настроенные — спасают сайт при переездах, склеивают зеркала, сохраняют позиции и делают навигацию бесшовной. В этой статье — полное практическое руководство по редиректам: какие бывают, чем отличаются, как настраивать в .htaccess, nginx и PHP, как делать массовые перенаправления и как проверять, что всё работает без ошибок.


301 Moved Permanently: переезд навсегда

301 редирект — это постоянное перенаправление. Он говорит поисковику: «Страница навсегда переехала на новый адрес, передай ей весь ссылочный вес, а старый URL забудь». Это основной SEO-редирект, который используется в 95 процентах случаев. Когда применять 301: переезд сайта на новый домен, смена структуры URL, склейка зеркал (http на https, www на без www), удаление страницы с переносом контента на новый адрес, объединение нескольких старых страниц в одну новую. Что происходит с SEO при 301: ссылочный вес передаётся на новый URL с потерей примерно 5-15 процентов, старый URL постепенно исключается из индекса (от пары недель до пары месяцев), позиции могут временно просесть, но при правильной настройке восстанавливаются. Важно: 301 нельзя использовать для временных акций. Если вы запустили распродажу и перенаправили главную на акционную страницу через 301, то после окончания акции Яндекс может ещё долго считать акционную страницу главной.


302 Found: временный переезд

302 редирект — это временное перенаправление. Он говорит поисковику: «Страница временно доступна по другому адресу, но оригинальный URL остаётся основным, не переноси вес». Когда применять 302: временное перенаправление на период технических работ, A/B тестирование страниц, сезонные акции (если вы хотите сохранить позиции основной страницы), временная заглушка на время обновления контента. Главное отличие от 301 в SEO: ссылочный вес остаётся на старом URL, новый URL не получает вес и не индексируется как самостоятельная страница. Ошибка новичка: использовать 302 вместо 301 при смене структуры сайта. Результат: старые страницы остаются в индексе, новые не получают вес, трафик падает. Если вы переносите страницу навсегда — только 301.


307 Temporary Redirect: брат-близнец 302

307 редирект — это тоже временное перенаправление, но с одним важным отличием. 302 теоретически позволяет браузеру менять метод запроса (например, с POST на GET). 307 строго запрещает это делать — метод запроса должен сохраняться. На практике для SEO разницы между 302 и 307 почти нет. Оба воспринимаются поисковиками как временные. Если вы не знаете, какой выбрать для временного перенаправления — берите 302, он более привычен и широко поддерживается. 307 используйте только если есть техническая необходимость сохранить метод запроса.


Другие коды редиректов и их SEO-влияние

300 Multiple Choices: редко используемый код, указывающий на несколько вариантов одной страницы. Для SEO практически не применяется. 303 See Other: строго меняет POST на GET. Используется в веб-приложениях, например, после отправки формы, чтобы предотвратить повторную отправку при обновлении страницы. Поисковики не передают по нему вес. 308 Permanent Redirect: аналог 301, но с сохранением метода запроса. Может использоваться как замена 301 в специфичных случаях, но 301 остаётся стандартом для SEO. Практический вывод: для SEO вы используете только два кода — 301 для постоянных переездов и 302 для временных. Остальные коды редиректов — удел веб-разработчиков, решающих специфические задачи. Если хотите глубже разобраться во всех HTTP-статусах и их влиянии на индексацию, загляните в статью Коды состояния HTTP, о которых молчат: 304, 429, 451.


Настройка редиректов в .htaccess

Файл .htaccess — основной инструмент настройки редиректов на Apache-серверах. Вот базовые конструкции. Простой редирект одной страницы: Redirect 301 /staraya-stranica.html https://site.ru/novaya-stranica.html. Редирект всего домена: RewriteEngine On, затем RewriteCond с проверкой хоста и RewriteRule с кодом 301. Редирект с HTTP на HTTPS: проверяем, что запрос не на HTTPS, и перенаправляем. Редирект с www на без www: проверяем, что хост содержит www, и убираем. Массовый редирект по маске: меняем структуру раздела. Например, все страницы из /blog/ переезжают в /articles/. Одна строка RewriteRule с регулярным выражением делает это для всех URL разом. Важно: при использовании RewriteRule всегда ставьте флаг L (Last), чтобы предотвратить дальнейшую обработку правил. И обязательно тестируйте на одном-двух URL перед массовым применением. О других директивах .htaccess для SEO читайте в статье Файл .htaccess для SEO: какие директивы помогают, а какие губят индексацию.


Настройка редиректов в nginx

Nginx — второй по популярности веб-сервер, и настройка редиректов здесь отличается от Apache. Редирект одной страницы: в блоке server или location пишем return 301 и новый URL. Редирект с HTTP на HTTPS: в блоке server для порта 80 пишем return 301 с заменой схемы на https. Редирект с www на без www: отдельный блок server для www-версии с return 301 на основной домен. Массовый редирект по маске: используем директиву rewrite с регулярным выражением и флагом permanent для 301. В отличие от Apache, в nginx нет файла .htaccess — все правки вносятся в конфигурационные файлы сервера, и после изменений требуется перезагрузка nginx. Если у вас shared-хостинг на nginx, доступ к конфигам ограничен — обращайтесь в поддержку хостера для настройки редиректов.


Редиректы на PHP и через CMS

Иногда редирект проще настроить на уровне скрипта, чем лезть в конфиги сервера. На PHP редирект делается через функцию header с указанием кода ответа и заголовка Location. Важно: перед вызовом header не должно быть никакого вывода — ни HTML, ни пробелов, ни echo. Иначе получите ошибку. В WordPress для редиректов есть плагины, которые позволяют настраивать перенаправления через админку без редактирования кода. Это удобно для единичных редиректов, но для массовых лучше использовать серверные методы — они работают быстрее и не нагружают PHP. В любых CMS есть возможность прописать редирект в коде шаблона, но это крайний случай, когда серверные методы недоступны.


Массовые редиректы и регулярные выражения

Когда нужно перенаправить не одну страницу, а тысячи, на помощь приходят регулярные выражения. Базовая конструкция: находим в URL закономерность, захватываем переменную часть, подставляем в новый URL. Пример: все страницы /shop/staraya-kategoriya/tovar-123 перенаправляем на /catalog/novaya-kategoriya/tovar-123. В .htaccess это выглядит как RewriteRule с pattern (шаблоном) и substitution (заменой), где скобки захватывают переменную часть, а знак доллара с номером подставляет её в новый URL. Правила безопасности при работе с регулярками: всегда тестируйте на небольшой выборке URL, проверяйте, что регулярка не захватывает лишнего (например, не редиректит главную страницу), следите за отсутствием циклических редиректов. Циклический редирект — это когда А редиректит на Б, а Б — обратно на А. Браузер выдаст ошибку после нескольких кругов, а робот перестанет обходить сайт.


Как проверить, что редирект работает правильно

После настройки обязательна проверка. Способ первый: браузер. Откройте старый URL и посмотрите, куда вы попали. Проверьте в адресной строке финальный URL. Способ второй: инструменты разработчика. В Яндекс.Браузере откройте F12, вкладка «Сеть», запросите старый URL. Вы увидите код ответа 301 или 302, заголовок Location с новым адресом и финальный код 200. Способ третий: curl из консоли. Команда curl -I покажет заголовки ответа. Проверьте код ответа и Location. Способ четвёртый: краулер. Запустите обход сайта и посмотрите, нет ли битых ссылок и цепочек редиректов. Цепочка — это когда А редиректит на Б, Б на В, В на Г. Каждое звено теряет 5-15 процентов веса и замедляет загрузку. Идеальный редирект — в одно действие. Способ пятый: Яндекс.Вебмастер. Через инструмент «Проверить URL» можно посмотреть, как робот обрабатывает редирект и какой URL считает конечным.


Часто задаваемые вопросы

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

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

Сколько редиректов можно делать на одном сайте? Технически — сколько угодно. Но каждый редирект замедляет загрузку, а цепочки редиректов вредят SEO. Держите количество редиректов под контролем: если накопились сотни старых URL, сделайте ревизию и удалите те, на которые уже нет внешних ссылок и трафика.

Передаётся ли вес через 302 редирект? Формально нет — 302 не передаёт вес. Но если 302 висит долго (месяцами), поисковики могут начать воспринимать его как 301 и передать вес. Это неконтролируемый процесс, поэтому для постоянных переездов всегда используйте 301.

Что делать, если после настройки редиректа сайт упал? Если получили ошибку 500 — ошибка в синтаксисе .htaccess или конфига nginx. Верните исходный файл из бэкапа. Если сайт работает, но редирект не срабатывает — проверьте, не перекрывается ли ваше правило другим, расположенным выше. Правила в .htaccess выполняются сверху вниз, и первое совпадение срабатывает.

0 из 0 оценок