Если вы перенесли страницу, поменяли адрес записи или хотите объединить несколько 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 это самый надёжный способ не запутаться и не потерять трафик при переезде или редизайне.