Если страницу удалили, поменяли её адрес или перенесли контент в новый раздел, старый URL нельзя просто бросать в 404. Для поисковиков и пользователей это означает потерю трафика, ссылочного веса и лишние ошибки. В таких случаях нужен 301 редирект — постоянное перенаправление со старого адреса на новый.
В WordPress это можно сделать несколькими способами: через плагин, через настройки сервера или вручную в коде темы и сайта. Для большинства сайтов самый безопасный и удобный вариант — настроить редирект точечно, без лишней логики и без цепочек из нескольких переходов.
Когда 301 редирект действительно нужен
301 редирект ставят не «на всякий случай», а когда старый адрес больше не должен открываться сам по себе, но у него есть замена. Типичные ситуации:
- страницу удалили, но у неё были входящие ссылки или поисковый трафик;
- URL изменился после редактирования слага;
- контент перенесли на новую страницу или в другой раздел;
- объединили несколько похожих страниц в одну;
- поменяли структуру постоянных ссылок;
- старый адрес использовался в рекламе, рассылках или внешних публикациях.
Если замены нет и контент действительно больше не нужен, редирект не всегда обязателен. Иногда правильнее оставить 404 или 410. Но если на старую страницу уже ведут ссылки или она успела попасть в поиск, 301 обычно предпочтительнее.
Какой способ настройки выбрать
Для WordPress есть три рабочих подхода. Выбор зависит от того, есть ли доступ к серверу и насколько часто вы будете менять редиректы.
| Способ | Когда подходит | Плюсы | Минусы |
|---|---|---|---|
| Плагин редиректов | Если нужно быстро настроить несколько правил без правки файлов | Просто, наглядно, удобно для владельца сайта | Дополнительная нагрузка и зависимость от плагина |
| .htaccess / конфиг сервера | Если сайт на Apache или Nginx и есть доступ к конфигам | Быстро, без лишних запросов к WordPress | Нужны права доступа и аккуратность |
| Код в WordPress | Если редирект нужен для пары нестандартных случаев | Можно встроить логику в тему или мини-плагин | Легко ошибиться, если делать прямо в functions.php |
Если задача простая и вы не администрируете сервер, берите плагин. Если редиректов много и они постоянные, лучше перенести их на уровень сервера. Для единичных правил плагин обычно быстрее и безопаснее.
Настройка 301 редиректа через плагин
Это самый понятный способ для WordPress-сайта. Подходит, если нужно перенаправить старую страницу на новую без правки конфигурации сервера.
Один из распространённых вариантов — плагин Redirection. После установки и активации в админке появится раздел для управления правилами. Дальше нужно указать:
- исходный URL — старый адрес страницы;
- целевой URL — новый адрес, куда должен попасть пользователь;
- тип перенаправления — 301 Moved Permanently.
Если у вас старый адрес был /uslugi/seo-audit/, а новая страница теперь открывается как /seo-audit/, правило должно отправлять именно со старого пути на новый, без промежуточных шагов.
После сохранения откройте старый URL в браузере и проверьте, что адрес меняется на новый, а код ответа действительно 301. Это можно проверить через инструменты разработчика, онлайн-проверку заголовков или командой curl, если вам удобнее работать из терминала:
curl -I https://example.com/staryi-url/В ответе должен быть статус вроде HTTP/2 301 или HTTP/1.1 301 Moved Permanently, а в заголовке Location — новый адрес.
Как сделать редирект через .htaccess на Apache
Если сайт работает на Apache и у вас есть доступ к файлу .htaccess, редирект можно прописать вручную. Это хороший вариант, когда правила нужны надолго и их немного.
Перед изменением файла сделайте резервную копию. Ошибка в .htaccess может уронить сайт целиком, особенно если вы случайно нарушите синтаксис.
Для одного адреса достаточно такого правила:
Redirect 301 /staryi-url/ https://example.com/novyi-url/Если нужен более гибкий вариант, используют модуль mod_rewrite:
RewriteEngine On
RewriteRule ^staryi-url/?$ /novyi-url/ [R=301,L]Первый вариант проще и понятнее. Второй удобнее, если вы уже используете RewriteRule в этом же файле и хотите держать правила в одном стиле.
После сохранения снова проверьте ответ сервера. Если вместо редиректа вы получили 500 ошибку, значит в файле есть синтаксическая проблема или на хостинге не включён нужный модуль.
Если сайт на Nginx
На Nginx редиректы обычно настраиваются в конфигурации виртуального хоста, а не в .htaccess, потому что Nginx этот файл не читает. Если доступ к конфигам есть, правило выглядит так:
location = /staryi-url/ {
return 301 https://example.com/novyi-url/;
}После изменения конфигурации Nginx её нужно проверить и перезагрузить. Делать это стоит только если вы понимаете, где лежит конфиг сайта и как устроен хостинг. На обычном shared-хостинге доступ к этому уровню часто закрыт, и тогда проще использовать плагин.
Как не сделать цепочку редиректов
Цепочка возникает, когда старый URL ведёт на промежуточный адрес, а тот — ещё на один. Например: /old/ → /new/ → /final/. Для пользователя это лишняя задержка, а для поисковиков — лишний обход и потеря части эффективности.
Чтобы этого не было, всегда направляйте старый адрес сразу на конечную страницу. Если вы уже меняли URL несколько раз, проверьте, куда ведёт последний рабочий адрес, и обновите правило так, чтобы оно указывало прямо на финальный вариант.
Особенно часто цепочки появляются после:
- смены слага страницы несколько раз подряд;
- переноса контента между разделами;
- одновременной работы плагина редиректов и правил на сервере;
- автоматических редиректов со слэшем, http на https и с www на без www.
Если у вас уже есть базовые редиректы сайта, например переход на HTTPS или канонический домен, не дублируйте их в плагине без необходимости. Иначе легко получить лишний промежуточный шаг.
Как избежать петель редиректа
Петля — это когда адрес в итоге ведёт сам на себя или на URL, который снова возвращает назад. В браузере это выглядит как бесконечная переадресация, а сайт может стать недоступен для части пользователей.
Типичный пример ошибки: старый URL и новый URL перепутали местами, либо редирект настроили на страницу, которая уже сама перенаправляет обратно. Перед сохранением правила проверьте две вещи:
- исходный адрес не совпадает с целевым;
- целевой адрес не перенаправляет обратно на исходный.
Если вы меняете URL существующей страницы в WordPress, сначала сохраните новый адрес, а потом уже добавьте редирект со старого. Не стоит одновременно оставлять старый slug и вручную прописывать правило на тот же самый путь.
Что делать со старыми и удалёнными страницами без замены
Если страницы больше нет и аналогичной по смыслу замены тоже нет, редирект на главную — не лучший выход. Для пользователя это выглядит как подмена, а поисковик может считать такое перенаправление нерелевантным.
В таких случаях решение зависит от ситуации:
- если страница удалена окончательно и не нужна — оставьте 404 или отдайте 410;
- если контент можно объединить с близкой по теме страницей — редирект на неё;
- если адрес был ошибочным или техническим — перенаправьте на правильный аналог.
Главный критерий простой: редирект должен вести туда, где пользователь действительно найдёт ожидаемую информацию, а не просто куда-то «чтобы не было 404».
Проверка после настройки
После добавления правила проверьте не только сам переход, но и то, как ведёт себя конечная страница. Нужны три проверки:
- старый URL отдаёт статус 301;
- в заголовке
Locationуказан правильный новый адрес; - новый URL открывается без дополнительных переадресаций.
Если редиректов несколько, пройдитесь по ним вручную и убедитесь, что нет лишних шагов. Для массовой проверки удобно использовать инструменты анализа заголовков или сканер сайта, но даже обычного curl -I часто достаточно, чтобы поймать ошибку.
Ещё один практичный момент: после изменения адреса страницы обновите внутренние ссылки на сайте. Редирект спасает старые внешние ссылки и закладки, но внутри сайта лучше сразу поставить новый URL, чтобы не плодить лишние переходы.
Что обычно ломает редиректы в WordPress
Чаще всего проблемы появляются не из-за самого 301, а из-за мелочей в настройке:
- в правилах перепутаны старый и новый адрес;
- вместо 301 выбран 302, и поисковик не воспринимает перенос как постоянный;
- редирект ведёт на URL с ещё одним редиректом;
- плагин конфликтует с серверными правилами;
- в адресах не учтены слэш в конце, http/https или www/без www;
- после переноса страницы остались старые внутренние ссылки.
Если редирект не срабатывает, сначала проверьте сам URL, затем код ответа, а уже потом ищите конфликт плагинов. В WordPress проблема часто оказывается в том, что правило создано для одного варианта адреса, а реальный запрос приходит с другим окончанием или регистром.
Если вам нужно быстро и без лишней технической возни перенастроить старые адреса, начинайте с точечных правил и проверяйте каждый переход отдельно. Для WordPress это самый надёжный способ сохранить трафик после удаления страницы или смены URL и не получить цепочки и петли, которые потом сложнее разбирать, чем настраивать всё сразу аккуратно.