Как настроить редирект 301 в WordPress

301-редирект нужен, когда страница переехала на новый адрес, старый URL больше не должен открываться или вы меняете структуру ссылок на сайте. В WordPress это можно сделать несколькими способами, и выбор зависит от того, где вам удобнее управлять перенаправлениями и есть ли доступ к серверным настройкам.

Если задача простая и разовая, обычно достаточно плагина. Если редиректов много или вы переносите сайт на новый URL-формат, удобнее настроить их на уровне сервера. Ниже разберём оба подхода и покажем, как проверить, что редирект действительно отдаёт код 301, а не временное перенаправление.

Когда нужен именно 301-редирект

Код 301 Moved Permanently означает, что страница окончательно переехала на новый адрес. Поисковые системы и браузеры воспринимают это как постоянное перенаправление. Это правильный вариант, если вы:

  • сменили URL записи или страницы;
  • объединили несколько материалов в один;
  • удалили старый контент, но хотите отправить пользователей на ближайшую релевантную страницу;
  • поменяли структуру ссылок после редизайна или миграции сайта;
  • перевели сайт с одного домена на другой и настраиваете переезд по страницам.

Если адрес может вернуться в будущем, 301 использовать не стоит. В таком случае нужен другой сценарий, но для обычного переноса страницы или удаления старого URL именно 301 — стандартное решение.

Самый простой способ: плагин для редиректов

Для большинства сайтов это самый безопасный путь: не нужно лезть в конфигурацию сервера, а все правила можно включать и отключать из админки WordPress. Такой вариант особенно удобен, если у вас нет доступа к .htaccess или вы не хотите рисковать ручным редактированием файлов.

После установки плагина откройте его настройки и добавьте правило:

  • Source URL — старый адрес, с которого нужно увести пользователя;
  • Target URL — новый адрес, куда должен прийти посетитель;
  • Type — 301 или Moved Permanently, если плагин использует такое название.

Чаще всего достаточно указать только путь, например /old-page/, если редирект нужен внутри одного домена. Полный URL нужен, когда вы переносите страницу на другой домен или поддомен.

Плюс этого способа в том, что вы видите список всех перенаправлений и можете быстро удалить лишнее. Минус — лишний плагин создаёт дополнительную зависимость, а на очень больших сайтах удобнее держать правила ближе к серверу.

Редирект 301 через .htaccess

Если сайт работает на Apache или LiteSpeed и у вас есть доступ к файлу .htaccess, редирект можно задать там. Это хороший вариант для одиночных правил и для случаев, когда вы хотите, чтобы перенаправление работало независимо от WordPress.

Перед изменением .htaccess обязательно сделайте резервную копию файла. Ошибка в синтаксисе может привести к 500 Internal Server Error и временно положить сайт.

Для одного адреса правило выглядит так:

Redirect 301 /old-page/ https://example.com/new-page/

Если нужно перенаправить весь раздел или старую структуру URL, обычно используют модуль mod_rewrite. Пример для переноса конкретного шаблона адресов:

RewriteEngine On
RewriteRule ^old-section/(.*)$ https://example.com/new-section/$1 [R=301,L]

В этом примере всё, что шло после /old-section/, сохраняется и подставляется в новый адрес. Такой вариант полезен, когда меняется не одна страница, а целый блок материалов.

Если вы не уверены, что сервер использует Apache или LiteSpeed, не редактируйте .htaccess вслепую. На Nginx этот файл не работает, и правило нужно задавать в конфигурации сервера.

Редирект через functions.php: когда это уместно

Иногда редирект проще добавить в тему или дочернюю тему, если речь идёт о точечном сценарии и вы не хотите ставить плагин. Но это решение стоит использовать осторожно: при смене темы правило исчезнет, если оно не вынесено в плагин или mu-plugin.

Для перенаправления по адресу можно использовать хук template_redirect. Пример:

add_action('template_redirect', function () {
    if (is_page('old-page')) {
        wp_redirect('https://example.com/new-page/', 301);
        exit;
    }
});

Здесь is_page('old-page') проверяет страницу по слагу, а wp_redirect() отправляет браузер на новый адрес с кодом 301. После вызова wp_redirect() обязательно нужен exit;, иначе WordPress продолжит выполнение и может вывести лишний контент.

Этот способ подходит, если вы понимаете, где именно должен срабатывать редирект. Для массовых правил он неудобен: код быстро разрастается, а поддерживать его сложнее, чем список перенаправлений в плагине или на сервере.

Как не сломать сайт при настройке редиректа

Самая частая ошибка — сделать цепочку перенаправлений: старый адрес ведёт на промежуточный, а тот уже на конечный. Это замедляет загрузку и мешает поисковым системам. Лучше сразу направлять URL на финальную страницу.

Ещё одна типичная проблема — редирект на сам себя. Такое правило создаёт бесконечный цикл, и страница перестаёт открываться. Перед сохранением проверьте, что старый и новый адрес не совпадают даже после нормализации со слешем в конце.

Если вы меняете адрес записи в WordPress и одновременно настраиваете редирект вручную, проверьте, не создаёт ли система автоматическое перенаправление сама. Некоторые плагины и SEO-настройки уже умеют сохранять старые URL, и дублировать это правило не нужно.

Для сайта с большим количеством старых страниц полезно сначала составить список:

  • какой URL меняется;
  • на какой новый адрес он должен вести;
  • нужно ли сохранять параметры запроса;
  • есть ли похожие адреса, которые можно случайно перепутать.

Как проверить, что редирект работает как 301

После настройки не ограничивайтесь открытием страницы в браузере. Браузер может скрыть детали, а вам нужен именно статус ответа сервера.

Проверить редирект можно несколькими способами:

  • открыть старый URL в режиме инкогнито и убедиться, что он ведёт на новый адрес;
  • посмотреть цепочку перенаправлений в инструментах разработчика браузера на вкладке Network;
  • использовать онлайн-проверку HTTP-статуса;
  • если есть доступ к консоли, выполнить curl -I https://example.com/old-page/ и посмотреть заголовки ответа.

В ответе должен быть код 301 и заголовок Location с новым адресом. Если вы видите 302, значит перенаправление временное, а это уже другой сценарий и для постоянного переезда не подходит.

Если страница всё ещё открывается по старому адресу без перенаправления, проверьте кэш. На WordPress-сайтах редирект может не проявиться сразу из-за кэша плагина, сервера или CDN. После изменения правила очистите кэш и повторите проверку.

Что выбрать в обычной практике

Если нужен один-два редиректа и вы не хотите трогать серверные файлы, берите плагин. Это самый понятный вариант для владельца сайта и редактора. Если редиректов много, а сайт работает на Apache или LiteSpeed, удобнее и надёжнее вынести правила в .htaccess. Если вы правите конкретное поведение темы или делаете точечную логику для одной страницы, можно использовать template_redirect и wp_redirect().

Главный принцип один: редирект должен вести сразу на конечный адрес, отдавать 301 и не создавать лишних переходов. Если после настройки вы проверили статус ответа и убедились, что старый URL больше не открывается напрямую, задача решена правильно.

Как отключить страницы вложений в WordPress и перенаправить их на файл или запись
13.10.2026
Как защитить WordPress от Brute Force атак: практические методы и плагины
18.09.2026
Как убрать архивы вложений в WordPress
09.10.2026
Как отключить autoload для оптимизации WordPress
18.09.2026
Как найти и удалить битые ссылки в WordPress
16.10.2026
×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше