Как создать автоматические редиректы в WordPress для исправления ошибок 404

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

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

Когда посетитель сталкивается с ошибкой 404, он может покинуть сайт, что увеличивает показатель отказов. Для поисковых систем множество 404-ошибок ухудшают позиции сайта. Автоматические редиректы помогают перенаправлять пользователей на актуальные страницы без ручного вмешательства, что особенно важно при массовых изменениях структуры сайта.

К тому же, автоматизация сокращает время поддержки сайта и минимизирует риск потери трафика.

Популярные плагины для автоматических редиректов

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

Плагин Redirection

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

Преимущества:

  • Удобный интерфейс в админке
  • Логирование 404 ошибок
  • Поддержка групп и условий

Для скачивания и установки посетите страницу плагина Redirection.

Плагин Safe Redirect Manager

Safe Redirect Manager — легкий и простой плагин для создания редиректов с возможностью указывать код ответа (301, 302). Идеален для тех, кто хочет минималистичный инструмент без лишних функций.

Его можно скачать здесь.

Создание автоматического редиректа с помощью кода

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

function wpexamples_redirect_old_urls() {
    $redirects = array(
        '/staryi-url/' => '/novyi-url/',
        '/old-page/' => '/new-page/',
        '/product/123/' => '/product/456/'
    );

    $request_uri = $_SERVER['REQUEST_URI'];

    foreach ($redirects as $old_url => $new_url) {
        if (strpos($request_uri, $old_url) !== false) {
            wp_redirect(site_url($new_url), 301);
            exit;
        }
    }
}
add_action('template_redirect', 'wpexamples_redirect_old_urls');

Этот код проверяет текущий URL и если он совпадает с ключом массива $redirects, происходит редирект с кодом 301 на новый URL.

Как расширить функционал

Для более умного решения можно добавить регистрацию 404 ошибок и динамическое добавление редиректов. Например, с помощью фильтра template_redirect ловить 404 и записывать URL в базу для последующего анализа.

Отслеживание и логирование 404 ошибок

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

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

function wpexamples_log_404_errors() {
    if (is_404()) {
        $log  = date('Y-m-d H:i:s') . ' - ' . $_SERVER['REQUEST_URI'] . "\n";
        error_log($log, 3, WP_CONTENT_DIR . '/404-logs.txt');
    }
}
add_action('template_redirect', 'wpexamples_log_404_errors');

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

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

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

Пример функции для редиректа всех URL, начинающихся с /old-category/ на /new-category/:

function wpexamples_redirect_regex() {
    $request_uri = $_SERVER['REQUEST_URI'];
    if (preg_match('#^/old-category/(.*)#', $request_uri, $matches)) {
        $new_url = '/new-category/' . $matches[1];
        wp_redirect(site_url($new_url), 301);
        exit;
    }
}
add_action('template_redirect', 'wpexamples_redirect_regex');

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

Рекомендации по работе с редиректами

  • Всегда используйте код ответа 301 для постоянных перенаправлений — это сигнал поисковикам о смене адреса.
  • Не создавайте цепочки редиректов — это ухудшает скорость и SEO.
  • Регулярно анализируйте логи 404 и обновляйте правила.
  • Перед внесением изменений делайте резервные копии сайта и базы данных.

Для удобного управления редиректами и мониторинга 404 ошибок рекомендуем использовать плагин Redirection. Если хотите уменьшить нагрузку и не устанавливать плагинов — применяйте кодовые решения из статьи и расширяйте их под свои задачи.

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

⭐⭐⭐⭐⭐
Как создать настройку для отключения Emoji в WordPress с примерами кода
25.12.2025
Как создать автоматическую очистку базы данных WordPress от устаревших данных
05.04.2026
WooCommerce: как избежать сбоев при массовом обновлении товаров
06.05.2026
Как создать автоматическое сохранение через AJAX в WordPress
02.12.2025
Как сделать автоматический откат обновлений WordPress при ошибках
01.04.2026
×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее