Как автоматизировать удаление нерабочих редиректов в WordPress

Редиректы в WordPress — мощный инструмент для управления переходами с устаревших URL на новые страницы. Однако с течением времени в базе могут накапливаться нерабочие или «битые» редиректы, которые негативно влияют на SEO и увеличивают нагрузку на сервер. В этой статье подробно рассмотрим, как автоматизировать процесс поиска и удаления таких нерабочих редиректов, используя практические примеры и плагины.

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

Нерабочие редиректы — это ссылки, которые ведут на несуществующие страницы (404), вызывают цепочки редиректов или циклы, замедляя загрузку сайта и ухудшая пользовательский опыт. Поисковые системы могут снижать рейтинг сайта из-за большого количества таких ошибок.

Регулярная очистка редиректов помогает:

  • Улучшить скорость загрузки сайта;
  • Повысить качество SEO;
  • Избежать конфликтов между правилами редиректа;
  • Облегчить администрирование и поддержку сайта.

Как обнаружить нерабочие редиректы в WordPress

Для поиска нерабочих редиректов можно использовать несколько способов:

1. Плагины для мониторинга редиректов

Плагин Redirection позволяет вести учет всех редиректов и автоматически фиксировать ошибки 404. В интерфейсе плагина можно просмотреть список редиректов с ошибками.

2. Внешние инструменты аудита

Сервисы типа Screaming Frog SEO Spider или онлайн-проверки, например Ahrefs, помогают выявить редиректы с ошибками. Однако для автоматизации лучше использовать внутренние инструменты.

3. Программный подход с помощью WP Cron

Можно написать собственный скрипт, который периодически проверяет редиректы и удаляет те, что ведут на несуществующие страницы.

Пример автоматизации удаления нерабочих редиректов с помощью кода

Рассмотрим пример функции, которая проверяет URL назначения редиректа и удаляет правило, если целевая страница возвращает ошибку 404.

function wpbe_check_and_cleanup_redirects() {
    global $wpdb;
    // Таблица редиректов плагина Redirection
    $table_name = $wpdb->prefix . 'redirection_items';
    
    $redirects = $wpdb->get_results("SELECT id, match_url, action_data FROM $table_name");

    foreach ($redirects as $redirect) {
        $target_url = maybe_unserialize($redirect->action_data)['url'] ?? '';
        if (!$target_url) continue;

        $response = wp_remote_head($target_url);
        if (is_wp_error($response) || wp_remote_retrieve_response_code($response) == 404) {
            // Удаляем редирект
            $wpdb->delete($table_name, ['id' => $redirect->id]);
        }
    }
}

// Планируем запуск проверки раз в неделю
if (!wp_next_scheduled('wpbe_weekly_redirect_cleanup')) {
    wp_schedule_event(time(), 'weekly', 'wpbe_weekly_redirect_cleanup');
}

add_action('wpbe_weekly_redirect_cleanup', 'wpbe_check_and_cleanup_redirects');

В этом коде мы подключаемся к таблице плагина Redirection, перебираем все редиректы и проверяем код ответа целевого URL. Если страница не найдена, редирект удаляется. Запуск происходит автоматически раз в неделю через WP Cron.

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

Плагин Clearfy Pro предлагает дополнительные инструменты для очистки базы данных и оптимизации редиректов. Он умеет находить и удалять неактивные правила, а также упрощает управление ими через удобный интерфейс.

Настройка Clearfy Pro для оптимизации редиректов включает:

  • Автоматическую проверку нерабочих редиректов;
  • Отчеты по ошибкам 404 и проблемным правилам;
  • Возможность массового удаления и редактирования.

Советы по предотвращению накопления нерабочих редиректов

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

  • Регулярно проверяйте сайт на ошибки 404 и исправляйте их;
  • Избегайте длинных цепочек редиректов — они замедляют сайт и создают риски ошибок;
  • Используйте качественные плагины для редиректов с возможностью мониторинга;
  • Удаляйте устаревшие редиректы при изменении структуры сайта;
  • Внедрите автоматическую проверку через WP Cron, чтобы своевременно выявлять проблемы.

Пример расширения функционала: уведомление администратора о битых редиректах

Для повышения контроля можно добавить отправку email-уведомлений при обнаружении ошибок. Вот пример функции, которая отправляет отчет на почту администратора:

function wpbe_notify_admin_bad_redirects() {
    global $wpdb;
    $table_name = $wpdb->prefix . 'redirection_items';
    $bad_redirects = [];

    $redirects = $wpdb->get_results("SELECT id, match_url, action_data FROM $table_name");

    foreach ($redirects as $redirect) {
        $target_url = maybe_unserialize($redirect->action_data)['url'] ?? '';
        if (!$target_url) continue;

        $response = wp_remote_head($target_url);
        if (is_wp_error($response) || wp_remote_retrieve_response_code($response) == 404) {
            $bad_redirects[] = $redirect->match_url . ' -> ' . $target_url;
        }
    }

    if (!empty($bad_redirects)) {
        $to = get_option('admin_email');
        $subject = 'Отчет: Нерабочие редиректы на сайте';
        $message = "Обнаружены нерабочие редиректы:\n" . implode("\n", $bad_redirects);
        wp_mail($to, $subject, $message);
    }
}

// Запускаем проверку и уведомление раз в неделю
add_action('wpbe_weekly_redirect_cleanup', 'wpbe_notify_admin_bad_redirects');

Так вы будете своевременно получать информацию о проблемах и сможете быстро удалять или исправлять нерабочие редиректы.

Выводы и рекомендации

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

Для удобства и расширенных возможностей рекомендуем обратить внимание на Clearfy Pro и Redirection. Грамотный подход к управлению редиректами поможет избежать проблем с SEO и улучшить скорость сайта.

WooCommerce: автоматическое удаление заказов по срокам без плагинов
01.06.2026
Как автоматизировать удаление нерабочих редиректов в WordPress
12.01.2026
Как удалить все посты определённого автора в WordPress
19.02.2026
Как избежать конфликтов плагинов в WordPress: практические советы и примеры кода
07.04.2026
Как удалить или изменить slug записи WordPress без потери SEO
05.01.2026