Как настроить временный редирект в WordPress с помощью кода

Временный редирект (HTTP статус 302) часто используется, когда нужно временно перенаправить пользователя с одной страницы сайта на другую, не теряя при этом SEO-значения начальной страницы. В WordPress такие редиректы можно реализовать несколькими способами, включая плагины, но в этой статье мы подробно рассмотрим, как сделать это с помощью собственного кода. Такой подход минимизирует использование сторонних плагинов и повышает производительность сайта.

Что такое временный редирект и зачем он нужен (302 Redirect)

Временный редирект отправляет посетителя и поисковые системы с одной URL на другой, сохраняя при этом исходную страницу в индексе, так как предполагается, что перенаправление временное. В отличие от постоянного (301), который говорит о том, что страница навсегда переехала, 302-редирект не передаёт весь SEO-вес целевой странице.

Примеры использования временного редиректа:

  • Тестирование новой версии страницы без потери трафика.
  • Временное отключение раздела сайта, например, при технических работах.
  • Перенаправление на страницу акции или промо, которая действует ограниченное время.

Настройка временного редиректа в WordPress с помощью функции wp_redirect()

WordPress предоставляет удобную функцию wp_redirect(), которая позволяет отправить HTTP-заголовок с кодом редиректа. Чтобы сделать временный редирект, нужно указать второй параметр функции как 302.

Рассмотрим пример кода, который нужно добавить в файл functions.php вашей темы или в собственный плагин:

function wpsystem_temporary_redirect() {
    if (is_page('old-page')) { // Проверяем, что пользователь на странице с ярлыком old-page
        wp_redirect(site_url('/new-page'), 302); // Перенаправляем на новую страницу с кодом 302
        exit; // Завершаем выполнение, чтобы не продолжать загрузку старой страницы
    }
}
add_action('template_redirect', 'wpsystem_temporary_redirect');

Здесь:

  • is_page('old-page') — условие, которое срабатывает на конкретной странице.
  • wp_redirect() — функция для отправки заголовка редиректа.
  • exit; — обязательный вызов после редиректа, чтобы прекратить дальнейшее выполнение скриптов.
  • template_redirect — хук, который срабатывает перед выводом шаблона, подходящее место для редиректа.

Использование временного редиректа для нескольких страниц

Если нужно сделать несколько редиректов, можно расширить функцию с помощью массива:

function wpsystem_multiple_temporary_redirects() {
    $redirect_map = array(
        'old-page' => '/new-page',
        'promo' => '/special-offer',
    );

    foreach ($redirect_map as $old_slug => $new_path) {
        if (is_page($old_slug)) {
            wp_redirect(site_url($new_path), 302);
            exit;
        }
    }
}
add_action('template_redirect', 'wpsystem_multiple_temporary_redirects');

Такой подход удобен для управления несколькими временными перенаправлениями без установки плагинов.

Временный редирект на основе даты — автоматизация с кодом

Иногда временный редирект нужен только в определённый период, например, во время проведения акции или до запуска новой страницы. В этом случае можно добавить проверку даты в код:

function wpsystem_date_based_redirect() {
    $current_time = current_time('timestamp');
    $start_time = strtotime('2024-06-01 00:00:00');
    $end_time = strtotime('2024-06-10 23:59:59');

    if (is_page('old-promo-page') && $current_time >= $start_time && $current_time <= $end_time) {
        wp_redirect(site_url('/promo-2024'), 302);
        exit;
    }
}
add_action('template_redirect', 'wpsystem_date_based_redirect');

Такой механизм позволяет автоматически включать и выключать редиректы без дополнительных действий администратора.

Альтернативные плагины для управления временными редиректами

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

  • Clearfy Pro — оптимизационный плагин с модулем для управления редиректами, включая временные.
  • Redirection — популярный бесплатный плагин с гибкими возможностями, в том числе поддерживает временные редиректы через интерфейс.

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

Как отследить и отладить временные редиректы в WordPress

После настройки редиректа важно проверить его работу. Для этого можно использовать несколько инструментов:

  • Браузерные инструменты разработчика: вкладка Network покажет, какой статус отправляется и куда происходит перенаправление.
  • Команда curl в терминале: curl -I https://example.com/old-page — покажет HTTP-заголовки и статус.
  • Плагины для логирования: например, Query Monitor поможет отследить хуки и редиректы внутри WordPress.

Также не забывайте очищать кэш браузера и плагинов кэширования после внесения изменений, чтобы увидеть актуальный результат.

WooCommerce: как программно удалять товар из корзины по условию
24.05.2026
WooCommerce: автоматическое обновление стоимости товара при изменении атрибутов
13.05.2026
WooCommerce: как изменить название и URL страницы корзины
26.04.2026
WooCommerce: отмена платежа и возврат денег через API и хуки
01.06.2026
WooCommerce: как использовать хук woocommerce_before_cart для добавления кастомного уведомления
04.06.2026