Если вы поменяли адрес страницы, перенесли материал в другой раздел или закрыли старый URL, 301-редирект нужен сразу. Без него пользователи увидят ошибку 404, а поисковики будут считать старый адрес отдельной страницей. В WordPress редирект 301 можно настроить несколькими способами: через плагин, через правила сервера или прямо в коде темы, если речь о точечном переносе.
Смысл у всех вариантов один: старый адрес должен отдавать постоянный переезд на новый URL. Именно постоянный, а не временный. Для поисковых систем это сигнал передать большую часть накопленных сигналов на новый адрес и заменить старый в выдаче со временем.
Когда нужен редирект 301, а когда нет
301 используют, когда старый адрес больше не должен открываться как основная страница. Типичные случаи:
- страница переехала на новый URL;
- изменился slug записи или страницы;
- материал объединён с другой страницей;
- нужно убрать дубли с http на https, с www на без www или наоборот;
- старый адрес был ошибочным, но уже успел попасть в поиск или закладки.
Если страница остаётся доступной по старому адресу и вы просто хотите показать пользователю другой контент без смены URL, 301 не нужен. Для временных акций или технических работ обычно используют 302, но это уже другая задача: такой редирект не предполагает постоянного переноса веса и индексации.
Что проверить перед настройкой
Перед редиректом убедитесь, что новый адрес уже существует и открывается без ошибок. Если вы сначала поставите редирект, а потом забудете создать целевую страницу, пользователь попадёт в пустоту или в цепочку перенаправлений.
Полезно заранее зафиксировать:
- старый URL;
- новый URL;
- нужен ли перенос только одной страницы или целого шаблона адресов;
- есть ли на сайте уже другие правила перенаправления, которые могут конфликтовать.
Если сайт работает на кэше, после настройки редиректа его нужно очистить. Иначе вы можете проверять уже старое поведение страницы.
Самый простой способ: плагин для редиректов
Для большинства владельцев сайтов самый безопасный путь — плагин. Он не требует правки файлов сервера и подходит, если вы не хотите лезть в .htaccess или конфигурацию Nginx.
Обычно схема такая:
- Установите плагин для управления редиректами.
- Откройте раздел с перенаправлениями.
- Укажите старый путь и новый URL.
- Выберите тип редиректа
301. - Сохраните правило и проверьте переход.
Это удобно для единичных переносов и для тех случаев, когда редиректы нужно добавлять без доступа к серверу. Минус тоже очевиден: если правил станет много, ими нужно аккуратно управлять, чтобы не получить конфликтов и лишней нагрузки.
Когда плагин — лучший вариант
Плагин особенно полезен, если сайт ведёт контент-менеджер, а не разработчик. В интерфейсе проще увидеть список правил, быстро отключить лишнее и не сломать сайт одной ошибкой в конфиге. Для небольшого и среднего сайта это обычно самый практичный вариант.
Редирект через .htaccess на Apache
Если сайт работает на Apache, 301 можно задать в файле .htaccess. Этот способ быстрее на уровне сервера и не зависит от WordPress, но требует аккуратности: ошибка в синтаксисе может сделать сайт недоступным.
Перед изменением файла сделайте резервную копию. Если что-то пойдёт не так, вы сможете быстро вернуть исходное состояние.
Для одного адреса правило выглядит так:
Redirect 301 /staryy-url/ https://example.com/novyy-url/Если нужно перенаправить конкретную страницу на другой домен или другой путь, указывайте полный новый адрес. Старый путь пишется относительно корня сайта.
Если у вас уже есть блок правил WordPress в .htaccess, не удаляйте его. Обычно редирект добавляют выше стандартного блока с # BEGIN WordPress, чтобы правило отработало раньше.
Что важно учесть в .htaccess
На Apache редиректы чувствительны к слешам, регистру и уже существующим правилам. Если у вас есть несколько перенаправлений, проверьте, не создают ли они цепочку вида старый URL → промежуточный URL → новый URL. Чем короче путь, тем лучше.
Если сайт использует HTTPS, следите, чтобы конечный адрес тоже был на нужной схеме. Иначе можно случайно сделать лишний переход с http на https уже после основного редиректа.
Редирект на Nginx
На Nginx правила обычно задаются в конфигурации виртуального хоста, а не в .htaccess. Если у вас обычный shared-хостинг, доступ к этому уровню может быть закрыт. В таком случае проще использовать плагин или обратиться в поддержку хостинга.
Пример для одной страницы:
location = /staryy-url/ {
return 301 https://example.com/novyy-url/;
}Для Nginx это более правильный способ, чем пытаться имитировать поведение Apache. Но править конфиг нужно только если вы понимаете, где именно расположен нужный блок и как потом проверить синтаксис и перезагрузку сервера. Если доступа к конфигу нет, не стоит пытаться решать задачу через WordPress-файлы.
Как настроить 301 для смены URL внутри WordPress
Если вы просто поменяли slug записи или страницы в админке WordPress, старый адрес сам по себе не перенаправится. WordPress создаст новый URL, а старый может начать отдавать 404. В этом случае нужно вручную добавить редирект со старого пути на новый.
Практически это выглядит так:
- открываете старую страницу в поиске или по истории браузера;
- фиксируете старый путь;
- проверяете новый permalink в редакторе записи;
- создаёте правило 301 одним из способов выше.
Если на старый адрес уже есть внешние ссылки, не удаляйте его без редиректа. Иначе часть трафика и ссылочного веса просто потеряется.
Как проверить, что редирект работает правильно
Проверка нужна не только после настройки, но и после очистки кэша. Самый простой способ — открыть старый URL в браузере и убедиться, что он сразу ведёт на новый адрес без промежуточных страниц и ошибок.
Надёжнее проверить ответ сервера. Для этого можно использовать любой HTTP-проверщик или команду curl:
curl -I https://example.com/staryy-url/В ответе должен быть статус 301 Moved Permanently и заголовок Location с новым адресом. Если видите 200 OK, значит редиректа нет. Если получаете 302, правило настроено как временное, а не постоянное.
Ещё один полезный тест — проверить конечный URL на наличие цепочки перенаправлений. Если старый адрес сначала ведёт на http, потом на https, потом на новый путь, это лишние переходы. Лучше сократить их до одного правила.
Частые ошибки, из-за которых редирект не срабатывает
- Смешали 301 и 302. Для постоянного переноса нужен именно 301.
- Забыли про слеш в конце. На некоторых конфигурациях
/pageи/page/— разные адреса. - Настроили редирект на несуществующий URL. В итоге пользователь попадает на 404 или в петлю.
- Не очистили кэш. Браузерный, серверный или плагин-кэш может показывать старое поведение.
- Создали конфликтующие правила. Одно перенаправление перекрывает другое, и результат становится непредсказуемым.
Если после настройки всё выглядит правильно, но старый адрес всё ещё открывается как раньше, чаще всего проблема именно в кэше или в том, что правило добавлено не в тот уровень конфигурации.
Что делать после переноса страницы
Когда редирект уже работает, проверьте ещё два момента. Первый — внутренняя перелинковка: ссылки внутри сайта должны вести сразу на новый URL, а не на старый с редиректом. Второй — карты сайта и меню. Если старый адрес остался в XML-карте сайта или в навигации, поисковики и пользователи будут снова приходить на него по старой ссылке.
Если переносов много, удобно один раз пройтись по сайту и заменить внутренние ссылки на актуальные адреса. Так вы уменьшите число лишних переходов и не будете держать редиректы дольше, чем нужно.
В итоге рабочая схема простая: создаёте новый адрес, ставите 301 со старого URL, проверяете ответ сервера и убираете внутренние ссылки на старый путь. Если всё сделано аккуратно, страница переезжает без потери трафика и без лишних ошибок для пользователей.