Как настроить редирект 301 в WordPress

Если вы перенесли страницу, поменяли структуру ссылок или удалили материал, старый адрес нельзя просто оставить «как есть». Пользователь увидит 404, а поисковые системы начнут считать URL устаревшим. В таких случаях нужен редирект 301 — постоянное перенаправление со старого адреса на новый.

В WordPress это можно сделать несколькими способами: через плагин, через настройки сервера или вручную в коде темы и конфигурации сайта. Для большинства владельцев сайтов самый безопасный и быстрый вариант — плагин. Если нужна высокая скорость и вы уверены в настройках сервера, можно использовать правила на уровне Apache или Nginx.

Когда нужен редирект 301

Редирект 301 ставят не «на всякий случай», а когда старый URL больше не должен открываться напрямую. Типичные ситуации:

  • страница переехала на новый адрес;
  • изменили структуру постоянных ссылок;
  • объединили несколько материалов в один;
  • удалили страницу, но есть подходящая замена;
  • сменили домен или перенесли сайт на другой адрес;
  • исправили URL с ошибкой, опечаткой или лишним словом.

Ключевая задача здесь простая: сохранить переходы пользователей и передать старому адресу его накопленный вес. Если вместо редиректа оставить 404, часть трафика и ссылочного сигнала просто потеряется.

Какой способ выбрать в WordPress

Для WordPress есть три рабочих подхода. Выбор зависит от того, кто управляет сайтом и где именно удобнее вносить изменения.

СпособКогда подходитПлюсыМинусы
Плагин редиректовНужен быстрый и понятный способ без правки сервераУдобно, можно управлять правилами из админкиДополнительный плагин, лишняя нагрузка при большом числе правил
.htaccess на ApacheЕсть доступ к файлу конфигурации и сайт работает на ApacheБыстро, без плагиновОшибки в правилах могут сломать сайт
NginxСайт работает на Nginx и есть доступ к конфигуНадёжно и быстроНужен доступ к серверу, не подходит для обычной админки WordPress

Если вы не уверены, что у вас Apache или Nginx, и не хотите рисковать конфигурацией сервера, начинайте с плагина. Это особенно разумно, когда нужно настроить несколько отдельных перенаправлений после редизайна или переноса контента.

Самый простой способ: плагин Redirection

Для большинства сайтов достаточно плагина Redirection. Он позволяет создавать правила 301 прямо из админки WordPress и не требует редактировать серверные файлы. Это удобный вариант, если вы не хотите трогать .htaccess или конфигурацию Nginx.

После установки и активации плагина откройте раздел управления редиректами и добавьте новое правило. Обычно нужно указать:

  • старый URL;
  • новый URL;
  • тип перенаправления — 301;
  • при необходимости — условие для точного совпадения адреса.

Например, если старая страница была по адресу /uslugi/seo-audit/, а новая стала /seo-audit/, редирект должен вести со старого пути на новый. Важно указывать именно путь, если плагин работает с относительными URL, а не полный адрес с доменом — так меньше шансов ошибиться при смене домена или протокола.

После сохранения откройте старый адрес в браузере и проверьте, что он сразу отправляет на новый. Если редирект не срабатывает, проверьте, не конфликтует ли правило с кэшем, другим плагином или настройками постоянных ссылок.

Редирект через .htaccess на Apache

Если сайт работает на Apache и у вас есть доступ к файлу .htaccess, редирект можно прописать вручную. Это хороший вариант для небольшого числа правил, когда не хочется ставить дополнительный плагин.

Перед изменением .htaccess сделайте резервную копию файла. Ошибка в синтаксисе может привести к недоступности сайта или к циклу перенаправлений.

Для одного адреса правило обычно выглядит так:

Redirect 301 /staryi-url/ https://example.com/novyi-url/

Если нужно более гибкое правило, используют модуль mod_rewrite. Но для обычной задачи переноса страницы чаще достаточно простого варианта выше. Главное — не смешивать несколько правил, которые ведут в разные места, иначе потом будет трудно понять, какое из них реально срабатывает.

После правки файла проверьте старый URL в браузере и через инструмент проверки ответа сервера. Если сервер отдает не 301, а другой код, значит правило написано неверно или не применяется.

Редирект на Nginx

На Nginx редиректы настраиваются в конфигурации сервера, а не в .htaccess. Это важно: если вы попытаетесь решить задачу через WordPress, но сайт работает на Nginx без поддержки .htaccess, правило просто не сработает.

Для одного адреса обычно используют такую конструкцию:

rewrite ^/staryi-url/?$ https://example.com/novyi-url/ permanent;

Или более явно через return:

location = /staryi-url/ { return 301 https://example.com/novyi-url/; }

Какой вариант выбрать, зависит от текущей схемы конфигурации на сервере. Если доступ к Nginx у вас только через хостинг-поддержку, лучше передать им точную пару адресов: старый и новый. Это снизит риск ошибки и ускорит настройку.

Как не сломать сайт при настройке редиректа

Самые неприятные ошибки при 301-редиректах обычно связаны не с WordPress, а с логикой самих правил. Вот что проверяют в первую очередь:

  • Редирект в редирект. Старый URL не должен вести на промежуточный адрес, который потом снова перенаправляется дальше без необходимости.
  • Цикл перенаправления. Старый и новый адрес не должны ссылаться друг на друга.
  • Неверный протокол. Если сайт работает на HTTPS, не стоит случайно отправлять на HTTP-версию.
  • Несовпадение слэша. На некоторых сайтах /page и /page/ обрабатываются по-разному.
  • Слишком общее правило. Если редирект затрагивает больше URL, чем нужно, можно случайно увести весь раздел не туда.

Если переносите не одну страницу, а целый раздел, сначала составьте список старых и новых адресов. Это проще, чем потом искать, какой URL отправляет пользователя не туда.

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

После настройки мало просто открыть страницу в браузере. Браузер может показать уже закешированный результат, и вы не увидите реальную картину. Надежнее проверить ответ сервера.

Что можно сделать:

  • открыть старый URL в режиме инкогнито;
  • проверить цепочку перенаправлений через онлайн-проверку HTTP-статуса;
  • посмотреть ответ сервера через инструменты разработчика или команду curl, если вам удобно работать из терминала.

Пример проверки через curl:

curl -I https://example.com/staryi-url/

В ответе должен быть статус 301 Moved Permanently и заголовок Location с новым адресом. Если вместо этого вы видите 200 OK, редирект не настроен. Если статус 302, это временное перенаправление, а не постоянное, и для переноса страницы оно обычно не подходит.

Что делать с удалённой страницей, если замены нет

Если материал удалён окончательно и подходящей замены нет, не всегда нужно ставить редирект на главную. Такой вариант часто ухудшает поведение пользователя: человек ожидает конкретный контент, а попадает на нерелевантную страницу.

В этой ситуации обычно выбирают одно из двух решений:

  • оставить 404, если страница действительно не имеет замены и не приносит значимого трафика;
  • сделать редирект на ближайший по смыслу материал, если он реально отвечает на тот же запрос.

Редирект на главную имеет смысл только в редких случаях, когда удалённая страница была частью навигации и у пользователя есть понятный путь продолжить работу с сайтом. В остальных сценариях лучше вести на релевантный раздел или оставить честный 404.

Короткий рабочий порядок

Если нужен практический алгоритм без лишней теории, действуйте так:

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

Если задача ограничивается несколькими страницами, плагин обычно быстрее и безопаснее. Если редиректов много и сайт обслуживается технически грамотно, лучше вынести правила на уровень сервера. В обоих случаях принцип один: старый адрес должен однозначно и без циклов вести на новый, а статус ответа обязан быть именно 301.

⭐⭐⭐⭐⭐