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

Если вы перенесли страницу, поменяли адрес записи или хотите объединить несколько URL в один, без редиректа 301 почти всегда появятся 404 и просадка трафика. Для WordPress это обычная задача: старый адрес должен постоянно перенаправлять на новый, а не просто «показывать похожую страницу».

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

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

На практике редирект 301 ставят в нескольких типичных ситуациях:

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

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

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

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

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

Если вы не уверены, что у вас есть доступ к nginx или Apache, начинайте с плагина. Для одного-двух редиректов это обычно самый практичный путь.

Настройка редиректа 301 через плагин

Самый понятный вариант — использовать плагин Redirection. Он умеет создавать редиректы, отслеживать 404 и помогает не держать всё в голове. Для типовой задачи этого достаточно.

После установки и активации плагина откройте раздел Инструменты → Redirection или отдельный пункт меню плагина, если он появился в админке. Дальше создайте новое правило:

  • Source URL — старый адрес, с которого нужно перенаправить;
  • Target URL — новый адрес, куда должен прийти пользователь;
  • HTTP code — 301 Moved Permanently.

Если вы переносите только одну страницу, укажите путь без домена, например /old-page/ и /new-page/. Так правило будет работать корректно даже при смене домена или протокола.

После сохранения проверьте редирект в браузере и через инструменты разработчика или онлайн-проверку заголовков. В ответе должен быть код 301, а в заголовке Location — новый URL.

Что важно учесть при работе с плагином

Не делайте редирект на страницу с тем же адресом, иначе можно получить цикл. Также не стоит создавать цепочку вида /old/ → /middle/ → /new/. Лучше сразу вести на конечный URL.

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

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

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

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

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

Redirect 301 /old-page/ https://example.com/new-page/

Если нужен более гибкий вариант, используют модуль mod_rewrite. Например, когда нужно перенаправить старую структуру на новую:

RewriteEngine On
RewriteRule ^old-category/(.*)$ https://example.com/new-category/$1 [R=301,L]

После сохранения обновите страницу и проверьте, что старый URL отдаёт 301, а новый открывается без лишних переходов.

Редирект 301 в nginx

На nginx правила задаются в конфигурации сайта, а не в .htaccess. Если хостинг использует nginx, вам нужен доступ к конфигу или помощь администратора.

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

location = /old-page/ {
    return 301 https://example.com/new-page/;
}

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

После изменения конфигурации обычно требуется перезагрузить nginx. На shared-хостинге это делает поддержка, на своём сервере — администратор.

Как не потерять трафик при смене URL

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

Ещё один важный момент — каноничность адресов. Если у вас есть варианты с www и без него, с http и https, со слэшем и без слэша, сначала приведите сайт к одному формату. Иначе можно получить несколько редиректов подряд. Это не критично для единичного случая, но на большом сайте быстро превращается в лишнюю нагрузку и путаницу.

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

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

После настройки проверьте три вещи:

  • старый URL отдаёт код 301;
  • в заголовке Location указан нужный новый адрес;
  • новый URL открывается напрямую, без дополнительного редиректа.

Проверять лучше не только в браузере, но и через инструменты, которые показывают HTTP-заголовки. Браузер может скрывать детали, а вам важно увидеть именно код ответа сервера.

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

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

Не стоит перенаправлять на нерелевантную страницу только ради того, чтобы «не было 404». Если у удалённой страницы нет нормальной замены, иногда честнее оставить 404 или 410, чем отправлять пользователя в случайный раздел. Для поисковых систем это понятнее, чем искусственный редирект на неподходящий контент.

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

Если вам нужно быстро навести порядок в старых адресах, сначала составьте карту переноса: что было, что стало, и какой URL должен быть конечным. Для WordPress это самый надёжный способ не запутаться и не потерять трафик при переезде или редизайне.

Как отключить лишние стили и скрипты плагинов на отдельных страницах WordPress
15.10.2026
Как ограничить доступ к wp-admin в WordPress по IP или логину
11.11.2026
Как создать уникальный виджет WordPress своими руками
28.09.2026
Как отключить комментарии в WordPress полностью или на отдельных типах записей
11.11.2026
Как ускорить WordPress без плагинов: что можно отключить в ядре и теме
12.10.2026