Генератор 301 редиректов

301 редирект — постоянное перенаправление со старого адреса на новый: посетители и поисковики попадают на нужную страницу, а накопленные сигналы переходят к ней. Вставьте таблицу «старый URL → новый» — генератор соберёт правила для nginx и .htaccess, склеит цепочки и найдёт петли до того, как они сломают сайт.

  • nginx map и Apache .htaccess
  • Склейка цепочек и поиск петель
  • Тысячи адресов из таблицы
  • Бесплатно, без регистрации

По одной паре на строку: старый адрес и новый адрес через табуляцию, «;», запятую или стрелку. Можно вставить два столбца прямо из Excel или Google Таблиц. Полные ссылки и пути — оба варианта подойдут.


    

    Что делает генератор

    • Правила для nginx через map — быстро работает даже на тысячах адресов.
    • Правила для .htaccess на mod_rewrite — для Apache, WordPress, Битрикса.
    • Склеивает цепочки: если A → B, а B → C, правило сразу ведёт A → C.
    • Находит петли (A → B → A) и исключает их из правил.
    • Ловит дубли и конфликты: один старый адрес с двумя разными целями.
    • Понимает параметры: адреса вида catalog.php?id=15 получают отдельные точные правила.
    • Кириллица и %-коды в адресах обрабатываются правильно для каждого сервера.
    • Переезд на новый домен: если новые адреса на другом домене, правила ведут на полный URL.

    301 или 302: какой редирект выбрать

    КодКогда ставитьЧто делает поисковик
    301Переезд сайта, смена структуры, склейка дублей, удалённые страницы с заменойПереносит в индекс новый адрес и передаёт ему накопленные сигналы старого
    302Временная замена: акция, технические работы, A/B-тестОставляет в индексе старый адрес и ждёт его возвращения

    Как установить редиректы

    1. Соберите таблицу «старый адрес → новый» — из выгрузки старого сайта, Яндекс Вебмастера или Screaming Frog. Начните со страниц, которые приносили трафик и на которые есть внешние ссылки.
    2. nginx: блок map положите в файл внутри conf.d (контекст http), блок if … return — в нужный server до блоков location. Затем nginx -t и systemctl reload nginx.
    3. Apache: вставьте правила в .htaccess в корне сайта выше правил CMS — иначе WordPress или Битрикс перехватят запрос раньше.
    4. Проверьте несколько адресов из таблицы: ответ должен быть 301 и вести сразу на конечную страницу. Файл CSV из генератора — готовый список для проверки.

    Частые ошибки при переезде

    • Всё на главную. Редирект всех старых страниц на главную поисковики считают «мягкой 404» — сигналы старых страниц теряются. Каждую страницу ведите на ближайшую по смыслу.
    • Цепочки редиректов. Каждый лишний прыжок замедляет переход и обход сайта роботом. После нескольких переездов цепочки копятся — генератор склеивает их сам.
    • 302 вместо 301. При переезде временный редирект оставляет в индексе старые адреса на месяцы.
    • Потерянные параметры. Если редирект отрезает utm-метки и yclid, реклама перестаёт считаться в Метрике. Включите сохранение параметров.
    • Забыли про внутренние ссылки. Редирект — страховка, а ссылки в меню и тексте нужно сразу поменять на новые адреса.

    Частые вопросы

    Чем 301 редирект отличается от 302?

    301 — постоянный: поисковик заменяет старый адрес новым и передаёт ему накопленные сигналы. 302 — временный: старый адрес остаётся в индексе. При переезде сайта и смене адресов нужен 301.

    Передаёт ли 301 редирект позиции и ссылочный вес?

    Да, Яндекс и Google склеивают старый и новый адрес и переносят сигналы, но на это нужно время — обычно от нескольких недель. Чтобы потерь было меньше, ведите каждую страницу на максимально близкую по содержанию.

    Сколько редиректов можно поставить в nginx?

    Через map — десятки тысяч без заметного влияния на скорость: nginx ищет адрес в хеш-таблице. Для очень больших списков увеличьте map_hash_bucket_size в контексте http, если nginx -t попросит.

    Почему редирект не срабатывает в .htaccess?

    Чаще всего правила стоят ниже правил CMS, и WordPress или Битрикс обрабатывают запрос раньше. Перенесите блок редиректов в самый верх .htaccess. Также проверьте, что на сервере включён mod_rewrite.

    Как сделать редирект для адреса с параметрами (?id=15)?

    Обычные правила сравнивают только путь без параметров. Генератор создаёт для таких адресов отдельные правила с точным совпадением строки параметров: в nginx — через $request_uri, в Apache — через RewriteCond %{QUERY_STRING}.

    Как долго держать редиректы после переезда?

    Минимум год, лучше — постоянно. Внешние ссылки, закладки и старые упоминания продолжают вести на старые адреса годами.