Создание автоматических редиректов в WordPress без плагинов

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

Зачем нужны автоматические редиректы в WordPress

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

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

Типы редиректов и когда их использовать

Чаще всего используются следующие типы редиректов:

  • 301 (Moved Permanently) – постоянный редирект, передающий основной вес страницы. Используется при окончательном изменении URL.
  • 302 (Found) – временный редирект, когда страница временно перемещена.

Для SEO важен именно 301 редирект, и именно его мы настроим в коде.

Как настроить автоматические редиректы с помощью functions.php

Самый простой способ — добавить в файл functions.php вашей активной темы код, который будет анализировать текущий URL и делать редирект, если он совпадает с заданным паттерном.

Пример: редирект со старого формата URL на новый

Предположим, раньше структура ссылок была /blog/post-name, а теперь мы хотим перенаправлять на /articles/post-name.

add_action('template_redirect', 'wpupdate_redirect_old_blog_urls');
function wpupdate_redirect_old_blog_urls() {
    if (is_404()) {
        $request_uri = $_SERVER['REQUEST_URI'];
        if (preg_match('#^/blog/(.+)$#', $request_uri, $matches)) {
            $new_url = home_url('/articles/' . $matches[1]);
            wp_safe_redirect($new_url, 301);
            exit();
        }
    }
}

Здесь мы проверяем, что текущая страница — 404, затем с помощью регулярного выражения определяем, что URL начинается с /blog/, и перенаправляем на соответствующий новый URL.

Создание динамических редиректов для массового переноса

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

add_action('template_redirect', 'wpupdate_mass_redirects');
function wpupdate_mass_redirects() {
    $redirects = [
        '/old-page' => '/new-page',
        '/product/old-product' => '/shop/new-product',
        // Добавьте свои редиректы
    ];

    $request_uri = strtok($_SERVER['REQUEST_URI'], '?'); // Убираем GET параметры

    foreach ($redirects as $old => $new) {
        if ($request_uri === $old) {
            wp_safe_redirect(home_url($new), 301);
            exit();
        }
    }
}

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

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

Иногда нужно перенаправлять URL с параметрами GET или по сложным условиям. Для этого можно использовать функции PHP для парсинга URI.

add_action('template_redirect', 'wpupdate_redirect_with_query');
function wpupdate_redirect_with_query() {
    $request_uri = $_SERVER['REQUEST_URI'];
    $parsed_url = parse_url($request_uri);
    $path = $parsed_url['path'] ?? '';
    parse_str($parsed_url['query'] ?? '', $query_params);

    if ($path === '/shop' && !empty($query_params['old_id'])) {
        $new_id = intval($query_params['old_id']);
        $new_url = home_url('/shop/product-' . $new_id);
        wp_safe_redirect($new_url, 301);
        exit();
    }
}

Здесь мы проверяем наличие параметра old_id и формируем новый URL с использованием этого параметра.

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

Чтобы убедиться, что редиректы работают корректно, используйте:

  • Расширения браузера, например Redirect Path или HTTP Headers, для просмотра кода ответа.
  • Команду curl в терминале: curl -I https://example.com/old-url — проверит заголовки и статус.
  • Логи сервера — они помогут найти циклы редиректов или ошибки.

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

Альтернатива: использование плагина Clearfy Pro для управления редиректами

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

Преимущества Clearfy Pro для редиректов:

  • Управление редиректами через админ-панель без кода
  • Массовый импорт и экспорт правил
  • Автоматическое удаление устаревших и битых ссылок
  • Интеграция с SEO-плагинами

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

При добавлении редиректов через код соблюдайте следующие рекомендации:

  • Используйте wp_safe_redirect() вместо wp_redirect() для дополнительной безопасности.
  • Не забывайте делать exit() после редиректа, чтобы остановить выполнение скрипта.
  • Минимизируйте количество проверок в template_redirect, чтобы не снижать скорость загрузки.
  • Кешируйте результаты, если логика редиректов сложная.

Заключение

Автоматические редиректы без плагинов — отличный способ контролировать перенаправления на сайте WordPress с минимальными затратами ресурсов и без установки дополнительных расширений. Используя приведённые примеры кода, вы сможете настроить нужные редиректы быстро и эффективно. Для более сложных задач рекомендуем рассмотреть специализированные плагины, например, Clearfy Pro, который упростит управление и расширит возможности вашего сайта.

Добавь в закладки и поделись с друзьями:

⭐⭐⭐⭐⭐
WooCommerce: как исправить проблему с возвратом денег при отключённой AJAX-обработке
23.04.2026
Как автоматизировать удаление старых записей в WordPress по дате
31.03.2026
Как создать автоматическое удаление старых изображений в WordPress
13.04.2026
Как отключить Emoji в WordPress для ускорения сайта
21.02.2026
Как удалить все удалённые записи из базы данных WordPress: практическое руководство
08.01.2026
×
Оптимизируй свой сайт!

Скидка -15% на премиум плагин Clearfy Pro

Купить плагин сейчас ⋙