Как настроить редиректы в WordPress после смены URL
Если у страницы поменялся адрес, старый URL нельзя просто бросить. По нему уже могут идти ссылки из поиска, закладок, рассылок и с других сайтов. Без редиректа посетитель увидит 404, а поисковик какое-то время будет считать старый адрес рабочим и может потерять часть накопленных сигналов.
В WordPress задача обычно сводится к трём сценариям: страница переехала на новый адрес, у записи изменился слаг, или контент удалён и нужно аккуратно отправить пользователя в ближайшее релевантное место. Для каждого случая подходит свой тип перенаправления, и если выбрать его неправильно, легко получить цепочки редиректов, лишнюю нагрузку и путаницу в индексации.
Какой редирект нужен в конкретной ситуации
Для смены URL почти всегда нужен постоянный редирект 301. Он говорит браузеру и поисковым системам, что адрес изменился надолго и старую ссылку можно заменить новой. Это основной вариант для переезда страницы, смены слага, переноса раздела или изменения структуры ссылок.
Временный редирект 302 используют только тогда, когда адрес меняется ненадолго: например, на время технических работ, теста или временной замены страницы. Если поставить 302 там, где адрес изменился навсегда, поисковик может дольше держать в индексе старый URL.
Есть ещё 410 Gone — это не редирект, а ответ сервера, который сообщает, что страница удалена окончательно. Такой вариант уместен, если контент не имеет замены и не нужно отправлять пользователя на другой адрес. Но для обычной смены URL он не подходит: если есть новая страница, лучше делать 301.
| Ситуация | Что ставить | Почему |
|---|---|---|
| Страница переехала на новый адрес | 301 | Старый URL должен передавать сигнал о постоянном переезде |
| Изменился слаг записи или страницы | 301 | Нужно сохранить трафик и ссылки на старый адрес |
| Адрес временно меняется | 302 | Переезд не постоянный |
| Страница удалена без замены | 410 или 404 | Если замены нет, не стоит отправлять на случайную страницу |
Сначала проверьте, куда должен вести старый адрес
Перед настройкой редиректа не стоит действовать наугад. Если у старой страницы есть логичная замена, отправляйте на неё. Если замены нет, ищите ближайший по смыслу раздел, категорию или страницу-родитель. Отправлять всё на главную — плохая практика: пользователь не находит нужный контент, а поисковик видит слабую релевантность.
Полезно сначала составить короткую карту переезда:
- старый URL;
- новый URL;
- тип перенаправления;
- есть ли цепочка из нескольких старых адресов;
- нужна ли замена или страница должна исчезнуть совсем.
Если у вас меняется только слаг, а сама запись остаётся той же, редирект должен идти напрямую со старого адреса на новый, без промежуточных шагов. Это особенно важно, если URL менялся несколько раз за историю страницы.
Как настроить редирект в WordPress без плагина
Если нужно перенаправить небольшое количество адресов, самый надёжный способ — прописать правила на уровне сервера. Так редирект сработает раньше WordPress и не будет зависеть от темы или плагинов.
Для Apache обычно используют файл .htaccess. Перед изменениями обязательно сделайте резервную копию: ошибка в этом файле может уронить сайт или сделать его недоступным.
Пример для одного постоянного редиректа:
Redirect 301 /staryj-url/ https://wpdemo.ru/novyj-url/Если у вас несколько правил, следите за порядком: более точные перенаправления должны стоять выше общих. Иначе более широкое правило перехватит запрос раньше нужного.
Для Nginx редиректы обычно добавляют в конфигурацию сайта. Пример:
rewrite ^/staryj-url/?$ https://wpdemo.ru/novyj-url/ permanent;На хостингах с ограниченным доступом к конфигурации сервера этот вариант может быть недоступен. Тогда проще использовать плагин для редиректов или обратиться в поддержку хостинга.
Когда удобнее использовать плагин
Если редиректов много, ими нужно управлять без правки конфигов или вы не хотите трогать серверные файлы, проще поставить плагин. Для WordPress это нормальный рабочий вариант, особенно если переезд страниц происходит регулярно.
Плагин удобен в таких случаях:
- нужно быстро добавить десятки или сотни правил;
- редиректы будут редактировать не только разработчики;
- нужно отслеживать 404 и сразу создавать перенаправления;
- нет доступа к
.htaccessили конфигу Nginx.
Но у плагина есть и минус: он добавляет ещё один слой логики. Если редиректов очень много, лучше не держать их только в WordPress, а критичные правила вынести на сервер. Для небольшого и среднего сайта плагин обычно достаточно удобен.
Как не создать цепочки перенаправлений
Цепочка возникает, когда старый URL ведёт на промежуточный адрес, а тот — ещё дальше. Например, /page-a/ ведёт на /page-b/, а потом на /page-c/. Для пользователя это лишняя задержка, а для поисковика — лишние обходы и риск потерять часть сигнала по дороге.
Правильный подход — всегда ставить редирект сразу на конечный адрес. Если страница уже переезжала раньше, обновите старое правило так, чтобы оно вело сразу на новый URL, а не на промежуточный.
Проверить цепочку можно вручную в браузере, но надёжнее использовать проверку заголовков ответа. Если у вас есть доступ к консоли, выполните:
curl -I https://wpdemo.ru/staryj-url/В ответе должен быть один переход с кодом 301 и заголовком Location, который сразу указывает на конечный адрес. Если вы видите несколько последовательных ответов 301 или 302, цепочка уже есть.
Ещё одна частая ошибка — редирект на URL с тем же адресом, но с разными вариантами слэша, протокола или www. Например, сначала идёт переход с http на https, потом с без www на www, а потом уже на нужную страницу. Такие правила лучше свести к одному каноническому варианту и не плодить лишние шаги.
Что делать с удалённым контентом
Если страница удалена и у неё нет прямой замены, не стоит автоматически отправлять всех на главную. Это выглядит как попытка скрыть проблему, а не решить её. Пользователь пришёл по конкретному запросу и ожидает близкий по смыслу ответ.
Здесь есть три рабочих варианта:
- 301 на релевантную страницу — если есть очень близкая замена;
- 410 Gone — если контент удалён окончательно и замены нет;
- 404 — если страница исчезла, но вы не хотите явно сообщать о её окончательном удалении.
Если удалённый материал получал трафик, сначала проверьте, нет ли у него подходящей замены в архиве сайта, категории или более свежей статье. Редирект должен помогать пользователю, а не просто уводить его куда-то ещё.
Как проверить, что всё работает правильно
После настройки откройте старый URL в браузере и убедитесь, что он сразу открывает нужную страницу без промежуточных переходов. Затем проверьте код ответа. Для этого подойдёт любой инструмент, который показывает заголовки ответа: браузерные расширения, онлайн-проверка или curl -I.
Что должно быть в норме:
- старый адрес отвечает
301, если переезд постоянный; - в заголовке
Locationуказан конечный URL; - новый адрес открывается без редиректа на себя самого;
- нет лишних переходов через промежуточные страницы;
- 404 больше не появляется там, где есть замена.
Если редирект не срабатывает, проверьте порядок правил, кэш плагинов и кэш сервера. На некоторых хостингах старые правила могут оставаться в кэше после изменения конфигурации, и это тоже нужно учитывать.
Для WordPress самый безопасный принцип простой: при постоянной смене адреса ставьте 301, ведите сразу на конечный URL и не отправляйте пользователя через лишние промежуточные страницы. Тогда вы сохраните трафик, уменьшите число 404 и не создадите редиректные цепочки, которые потом сложно разбирать.