Как установить автоматический редирект на новый URL в WordPress

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

Почему важен правильный редирект и какие бывают типы

Редирект — это перенаправление пользователя и поисковых роботов с одного URL на другой. Существует несколько типов редиректов:

  • 301 (Permanent Redirect) — постоянный редирект, сигнализирует поисковикам о том, что страница навсегда перемещена на новый адрес.
  • 302 (Temporary Redirect) — временный редирект, используется, если перенаправление временное.

Для SEO важно использовать именно 301-редирект при смене URL, чтобы поисковые системы правильно обновили индексацию и не потерялись позиции в выдаче.

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

Плагин Redirection

Redirection — один из самых популярных бесплатных плагинов для управления редиректами. Позволяет создавать правила редиректов вручную и автоматически отслеживать изменения URL.

  • Установка и настройка просты.
  • Есть возможность логировать 404 ошибки и быстро создавать редиректы.
  • Поддерживает регулярные выражения для гибкой настройки.

Скачать и узнать подробнее можно на wpshop.ru.

Плагин Simple 301 Redirects

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

Автоматический редирект при смене URL записи с помощью кода

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

Пример реализации в functions.php

function wpdream_redirect_old_url( $post_id ) {
    // Проверяем, что это не автосохранение
    if ( wp_is_post_autosave( $post_id ) || wp_is_post_revision( $post_id ) ) {
        return;
    }

    // Получаем объект поста
    $post = get_post( $post_id );
    if ( !$post || $post->post_status !== 'publish' ) {
        return;
    }

    // Получаем старый URL из метаполя
    $old_url = get_post_meta( $post_id, '_wpdream_old_url', true );

    // Получаем текущий URL
    $new_url = get_permalink( $post_id );

    if ( $old_url && $old_url !== $new_url ) {
        // Сохраняем правило редиректа — здесь можно сохранить в базе или в .htaccess
        // Для примера сохраним в опции
        $redirects = get_option( 'wpdream_redirects', array() );
        $redirects[ $old_url ] = $new_url;
        update_option( 'wpdream_redirects', $redirects );
    }

    // Обновляем метаполе с текущим URL
    update_post_meta( $post_id, '_wpdream_old_url', $new_url );
}
add_action( 'save_post', 'wpdream_redirect_old_url' );

Данный код при сохранении записи проверяет, изменился ли URL, и если да — сохраняет старый URL и новый в настройках сайта. Далее нужно добавить обработку редиректа на уровне шаблона или через хук template_redirect.

Обработка редиректа по сохранённым правилам

function wpdream_handle_redirects() {
    $redirects = get_option( 'wpdream_redirects', array() );
    $current_url = home_url( add_query_arg( array(), $_SERVER['REQUEST_URI'] ) );

    if ( isset( $redirects[ $current_url ] ) ) {
        wp_redirect( $redirects[ $current_url ], 301 );
        exit;
    }
}
add_action( 'template_redirect', 'wpdream_handle_redirects' );

Этот код проверяет текущий URL и если он есть в массиве редиректов — выполняет 301 редирект на новый URL.

Редиректы для WooCommerce: особенности и примеры

Если на вашем сайте установлен WooCommerce, смена URL товаров и категорий требует отдельного внимания. WooCommerce использует свой формат URL с таксономиями и слагами.

  • Для автоматических редиректов при смене слагов категорий рекомендуем использовать плагин Clearfy Pro, который умеет автоматически создавать редиректы при смене URL товаров и категорий.
  • При ручной смене URL товаров используйте фильтр wpdream_redirect_old_url, описанный выше, адаптируя под посты типа product.

Как проверить и протестировать редиректы

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

  • Инструменты браузера: нажмите F12, перейдите на вкладку Network, и посмотрите статус ответа сервера при переходе по старому URL.
  • Онлайн-сервисы: например, https://httpstatus.io/ позволяет проверить цепочку редиректов.
  • Плагины для WordPress: Redirection ведёт логи 404 ошибок, что помогает выявлять сломанные ссылки.

Советы по безопасности и производительности

При использовании собственного кода для редиректов избегайте хранения большого количества правил в опциях без кеширования — это может замедлить сайт. Для больших проектов лучше использовать серверные правила в .htaccess или nginx.

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

Как удалить дубликаты постов в WordPress: практическое руководство с примерами
01.03.2026
Как удалить ненужные стили и скрипты в WordPress для ускорения сайта
30.11.2025
Оптимизация базы данных WordPress: как ускорить сайт и уменьшить нагрузку
20.11.2025
Как добавить динамические поля в WordPress без плагинов
14.03.2026
Как создать собственный виджет в WordPress: практическое руководство
17.11.2025