301 редирект нужен, когда старый URL больше не должен открываться, а посетитель и поисковый робот должны попасть на новый адрес. В WordPress это типичная задача после смены структуры ссылок, удаления страниц, объединения материалов или переноса сайта на новый домен. Ошибка здесь обычно не в самом редиректе, а в том, как его ставят: появляются цепочки, петли, лишние переходы и дубли, из-за которых страдают и пользователи, и SEO.
Если нужен один рабочий принцип, он простой: каждый старый адрес должен вести сразу на конечный новый URL, без промежуточных шагов. Именно это и нужно настроить.
Когда 301 редирект действительно нужен
301 используют для постоянного перенаправления. Это не временная мера и не способ «спрятать» страницу. В WordPress он нужен в нескольких практических случаях:
- вы поменяли URL записи, страницы, рубрики или произвольного типа записей;
- страница удалена, но у неё есть трафик, ссылки или она успела попасть в индекс;
- вы объединили несколько материалов в один и старые адреса больше не нужны;
- сайт переехал на новый домен или на HTTPS;
- изменили структуру постоянных ссылок, например с даты в URL на короткие адреса.
Если страница просто временно недоступна, 301 обычно не подходит. В таком случае лучше разбираться отдельно: иногда нужен 302, иногда корректнее вернуть 404 или 410. Для постоянного переезда — именно 301.
Какой способ настройки выбрать в WordPress
В WordPress есть три рабочих пути: через сервер, через плагин или вручную в коде темы/плагина. Выбор зависит от того, что именно вы меняете и насколько часто будете править редиректы.
| Способ | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| Через сервер | Массовый перенос, редиректы на уровне домена или каталога | Быстро, без нагрузки на WordPress | Нужен доступ к настройкам сервера |
| Через плагин | Обычная работа редактора или владельца сайта | Удобно, можно управлять без кода | Лишний плагин и риск ошибок в правилах |
| В коде | Единичные точечные редиректы, если вы контролируете тему или мини-плагин | Без стороннего плагина | Нужно аккуратно поддерживать код |
Для большинства сайтов на WordPress самый практичный вариант — плагин или серверные правила. Если редиректов немного и их нужно быстро править без разработчика, плагин удобнее. Если сайт большой и редиректов много, лучше переносить логику на сервер.
Самый простой способ: плагин для редиректов
Для точечных 301 редиректов удобнее всего использовать плагин Redirection. Он позволяет задавать источник и целевой URL, отслеживать ошибки 404 и видеть, какие правила срабатывают. Это особенно полезно после переноса сайта или массового изменения адресов.
После установки плагина откройте раздел управления редиректами и добавьте правило:
- Source URL — старый адрес, например
/staryj-url/; - Target URL — новый адрес, например
/novyj-url/; - Type —
301 - Moved Permanently.
Если редирект нужен с одного полного адреса на другой домен, указывайте именно конечный URL, а не промежуточный адрес. Например, старый адрес должен сразу вести на новый домен, а не сначала на главную старого сайта, потом на нужную страницу.
Плагин хорош для ручной работы, но не стоит превращать его в свалку из сотен правил без порядка. Если редиректов становится много, их лучше группировать и периодически проверять на дубли.
Редирект через .htaccess для Apache
Если сайт работает на Apache и у вас есть доступ к файлу .htaccess, редирект можно задать на уровне сервера. Это быстрее, чем обработка через WordPress, и не зависит от плагинов. Но здесь особенно важно не ошибиться: неправильное правило может сделать сайт недоступным.
Перед изменением .htaccess обязательно сделайте резервную копию файла. Если что-то пойдёт не так, вы сможете быстро вернуть рабочую версию.
Для одного адреса на другой используйте такое правило:
Redirect 301 /staryj-url/ https://example.com/novyj-url/Если нужно перенаправить весь сайт на новый домен, обычно используют правило на уровне домена. В таком случае лучше настраивать редирект аккуратно, чтобы не задеть служебные пути и не создать петлю. Для массового переноса домена чаще применяют более точные правила или отдельную настройку на уровне виртуального хоста, если есть доступ к конфигурации сервера.
Для WordPress на Apache важно помнить: в .htaccess уже есть правила самого CMS. Не вставляйте редирект в случайное место, если не понимаете структуру файла. Обычно безопаснее добавлять свои правила выше стандартного блока WordPress, но не ломать существующую логику переписывания URL.
Редирект на Nginx: когда нужен доступ к конфигурации
Если сайт работает на Nginx, редиректы обычно настраиваются в конфигурации сервера, а не в .htaccess, потому что Nginx этот файл не использует. Здесь нужен доступ к настройкам виртуального хоста или помощь хостинга.
Для одного URL правило выглядит так:
rewrite ^/staryj-url/?$ https://example.com/novyj-url/ permanent;Для Nginx это нормальный рабочий вариант, но после изменения конфигурации нужно перезагрузить сервер или применить настройки через панель хостинга. Если доступа к серверу нет, проще использовать плагин внутри WordPress.
Как не создать цепочку или петлю редиректов
Самая частая ошибка — когда старый URL ведёт на промежуточный адрес, а тот уже на конечный. Например, /old-page/ → /new-page/ → /final-page/. Для пользователя это почти незаметно, но для SEO это лишний переход и потеря части эффективности. Правильный вариант — сразу вести на конечный URL.
Петля возникает, когда адрес в итоге ведёт сам на себя. Это бывает после неправильной настройки правил, особенно если одновременно работают плагин, серверные правила и редирект внутри темы. Симптом простой: страница не открывается, браузер пишет о слишком большом количестве перенаправлений.
Чтобы избежать таких проблем, проверяйте три вещи:
- нет ли для одного и того же URL нескольких правил в разных местах;
- не совпадает ли источник редиректа с целевым адресом;
- не дублируется ли логика между плагином,
.htaccessи настройками хостинга.
Если редирект уже есть в плагине, не дублируйте его в серверных правилах без необходимости. Один источник истины здесь лучше, чем три конкурирующих.
Что делать после смены URL или удаления страницы
Если вы меняете адрес записи в WordPress, сначала проверьте, не создаст ли система автоматический редирект сама. В некоторых случаях WordPress и плагины могут подхватить старый slug, но полагаться на это не стоит: для важных страниц лучше задать правило вручную и проверить его работу.
При удалении страницы логика такая:
- если есть близкая по смыслу замена — ставьте 301 на неё;
- если замены нет, а страница больше не нужна — не отправляйте всё на главную без причины;
- если контент удалён окончательно и аналогов нет, иногда корректнее оставить 404 или 410, чем вести пользователя на нерелевантную страницу.
Редирект на главную — частая, но не лучшая практика. Поисковики и пользователи ожидают релевантную замену, а не просто любой рабочий URL.
Как проверить, что 301 работает правильно
После настройки обязательно проверьте результат. Самый простой способ — открыть старый URL в браузере и убедиться, что он сразу ведёт на нужную страницу. Но этого недостаточно: браузер может скрыть промежуточные переходы.
Для более точной проверки используйте:
- онлайн-проверку HTTP-статуса;
- инструменты разработчика в браузере, вкладку Network;
- команду
curl -I https://example.com/staryj-url/, если вам удобно работать с терминалом.
В ответе должен быть статус 301 Moved Permanently и заголовок Location с конечным адресом. Если видите 302, значит редирект временный. Если видите несколько последовательных переходов, значит цепочка всё ещё есть.
Отдельно проверьте, что новый URL открывается без дополнительного редиректа на тот же самый адрес. Иногда правило настроено так, что сначала идёт переход на версию со слэшем, потом ещё один переход на канонический адрес. Это тоже лишний шаг, который лучше убрать.
Практический порядок настройки без лишних рисков
Если нужно быстро и без ошибок настроить 301 редиректы в WordPress, действуйте так:
- Определите, какой URL должен стать конечным.
- Проверьте, нет ли уже редиректа в плагине,
.htaccessили настройках хостинга. - Выберите один способ настройки, а не несколько одновременно.
- Добавьте правило с кодом
301. - Проверьте старый URL и убедитесь, что переход идёт сразу на конечную страницу.
- Уберите цепочки, если они появились.
Если редиректов немного, плагин удобнее. Если вы переносите сайт или меняете структуру массово, лучше настраивать правила на сервере и отдельно контролировать каждую группу URL. Так меньше шансов получить лишние переходы и потерять часть веса страниц.
В WordPress редиректы — это не просто техническая мелочь. От того, как вы их настроите, зависит, сохранится ли трафик после смены адресов и не начнут ли поисковики обходить сайт через лишние переходы. Один аккуратный 301 на нужный URL почти всегда лучше, чем сложная схема из нескольких правил, которые потом трудно отследить.