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

Проблема изменения URL и необходимость автоматического редиректа

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

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

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

Плагин Redirection

Redirection — один из самых популярных и мощных плагинов для управления редиректами в WordPress. Он автоматически отслеживает изменение постоянных ссылок и создаёт 301 редиректы со старого адреса на новый.

Основные преимущества плагина:

  • Автоматическое создание редиректов при смене URL записи.
  • Подробная статистика переходов.
  • Управление и массовое редактирование редиректов.
  • Поддержка регулярных выражений.

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

Плагин Simple 301 Redirects

Simple 301 Redirects — лёгкий плагин, который позволяет быстро настраивать редиректы вручную, но не отслеживает изменения URL автоматически. Подойдёт, если у вас небольшой сайт и вы хотите контролировать редиректы самостоятельно.

Реализация автоматического редиректа через код PremiumWP

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

Ниже пример кода, который добавляет такую функциональность. Редиректы будут сохраняться в пользовательской таблице базы данных или в опциях (упрощённый вариант). Для полноценной работы лучше использовать таблицу и обработку редиректов через фильтр template_redirect.

function premiumwp_post_updated_redirect($post_ID, $post_after, $post_before) {
    // Проверяем, что это публичный тип записи
    if ($post_after->post_status !== 'publish') {
        return;
    }

    $old_slug = $post_before->post_name;
    $new_slug = $post_after->post_name;

    if ($old_slug !== $new_slug) {
        $old_url = home_url('/' . $old_slug . '/');
        $new_url = get_permalink($post_ID);

        // Сохраняем редирект в опции (пример)
        $redirects = get_option('premiumwp_redirects', []);
        $redirects[$old_url] = $new_url;
        update_option('premiumwp_redirects', $redirects);
    }
}
add_action('post_updated', 'premiumwp_post_updated_redirect', 10, 3);

// Обработка редиректа
function premiumwp_handle_redirects() {
    $redirects = get_option('premiumwp_redirects', []);
    $current_url = home_url(add_query_arg(NULL, NULL));

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

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

Как улучшить автоматический редирект: советы и рекомендации

Учитывайте разные типы записей и таксономий

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

Обработка удалённых записей и ошибок

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

Поддержка канонических URL и SEO

Редиректы должны быть 301 (постоянные), чтобы поисковые системы правильно воспринимали изменения. Также убедитесь, что на страницах установлен тег rel="canonical" с актуальным URL.

Альтернативные решения и плагины из WPShop

Если вы используете продукты из WPShop, обратите внимание на плагин Clearfy Pro. Он включает инструменты для оптимизации SEO и управления редиректами, что может упростить задачу автоматического перенаправления при смене ссылок.

Также для комплексной оптимизации сайта и управления ссылками полезны темы Reboot и Root, которые имеют встроенные возможности SEO и совместимы с плагинами редиректов.

Заключение

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

WooCommerce: как настроить авторизацию через социальные сети без плагинов
20.04.2026
WooCommerce: отложенная загрузка изображений товаров для ускорения сайта
19.05.2026
WooCommerce: как избавиться от неактивных корзин и автоматизировать их удаление
26.05.2026
Как удалить или заблокировать временно неактивных пользователей в WordPress
05.03.2026
Оптимизация загрузки и отображения библиотек JS и CSS в WordPress
25.12.2025