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

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

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

Когда редирект 301 действительно нужен

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

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

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

Самый простой способ: плагин для редиректов

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

Один из популярных вариантов — Redirection. Он позволяет создавать 301-е перенаправления, отслеживать ошибки 404 и управлять правилами без ручного редактирования файлов. После установки плагина откройте раздел его настроек и добавьте новое правило:

  1. укажите старый путь, например /staryi-url/;
  2. введите новый адрес, например https://site.ru/novyi-url/;
  3. выберите тип перенаправления 301 Moved Permanently;
  4. сохраните правило и проверьте результат в браузере.

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

Плюс плагина в том, что он снижает риск ошибки в синтаксисе. Минус — дополнительная нагрузка на WordPress, если редиректов очень много. Для десятков правил это не критично, для тысяч уже лучше серверный уровень.

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

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

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

Redirect 301 /staryi-url/ https://site.ru/novyi-url/

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

Когда правил много, удобнее использовать модуль mod_rewrite. Например, для перенаправления одной страницы:

RewriteEngine On
RewriteRule ^staryi-url/?$ https://site.ru/novyi-url/ [R=301,L]

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

Как сделать редирект на Nginx

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

Пример для одной страницы:

location = /staryi-url/ {
    return 301 https://site.ru/novyi-url/;
}

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

Этот способ не подходит тем, у кого нет доступа к серверу. В таком случае проще и безопаснее использовать плагин.

Когда редирект лучше делать в WordPress-коде

Иногда редирект нужен не как постоянное правило на сервере, а как часть логики темы или небольшого плагина. Например, если вы закрываете старый шаблонный маршрут, который создаётся программно. В этом случае можно использовать хук template_redirect.

Пример кода:

add_action('template_redirect', function () {
    if (is_page('staryi-url')) {
        wp_redirect('https://site.ru/novyi-url/', 301);
        exit;
    }
});

Такой вариант рабочий, но его лучше использовать только если вы понимаете, где именно хранится код. Не вставляйте его в случайный файл темы, если потом обновление может затереть изменения. Надёжнее добавить его в дочернюю тему или в собственный мини-плагин.

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

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

После настройки важно проверить не только сам переход, но и код ответа. Редирект должен отдавать именно 301, а не 302 или ошибку. Проверить можно несколькими способами:

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

Если нужен быстрый технический тест, удобно использовать такую команду:

curl -I https://site.ru/staryi-url/

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

Типичные ошибки, из-за которых редирект ломается

Чаще всего проблемы возникают не из-за самого 301-го редиректа, а из-за деталей:

  • редирект ведёт на URL, который снова перенаправляет дальше;
  • старый и новый адрес отличаются только слэшем, а правило написано без учёта этого;
  • в .htaccess добавлено несколько конфликтующих правил;
  • плагин редиректов и серверное правило одновременно обрабатывают один и тот же URL;
  • вместо 301 случайно поставлен временный 302;
  • новая страница закрыта от индексации или возвращает ошибку.

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

Какой способ выбрать в реальной задаче

СитуацияЛучший вариантПочему
Нужно несколько редиректов без доступа к серверуПлагинПроще настроить и сопровождать из админки
Есть доступ к Apache/LiteSpeed и нужен быстрый отклик.htaccessРедирект работает на уровне сервера
Сайт на NginxКонфиг Nginx.htaccess не используется
Редирект нужен внутри программной логикиtemplate_redirectУдобно, если правило связано с кодом темы или плагина

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

Если вам нужно не только настроить отдельные перенаправления, но и убрать технические дубли, которые мешают SEO и создают лишние URL, иногда полезно посмотреть в сторону Clearfy Pro. Но сам 301-й редирект он не заменяет: для перенаправлений всё равно нужен плагин, серверное правило или код.

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

Как настроить редирект 301 в WordPress
28.10.2026
Как удалить из индекса страницы WordPress, которые уже не нужны
24.10.2026
Как установить лимит публикации постов в WordPress
30.09.2026
Как найти и исправить битые ссылки в WordPress
31.10.2026
Как создать собственный тип записи в WordPress с примером кода
01.10.2026