Автоматические редиректы в WordPress — это мощный инструмент для улучшения пользовательского опыта и SEO. Они помогают перенаправлять посетителей с устаревших или несуществующих страниц на актуальные, предотвращая ошибки 404 и потерю трафика. В этой статье разберём, как создавать и настраивать автоматические редиректы в WordPress с помощью кода и популярных плагинов, а также приведём практические примеры для типичных задач.
Зачем нужны автоматические редиректы в WordPress
Редиректы позволяют управлять переходами между URL-адресами сайта. Они актуальны в следующих случаях:
- Изменение структуры URL после обновления сайта или редизайна;
- Удаление или перемещение страниц;
- Объединение нескольких страниц или постов в один;
- Исправление опечаток в URL;
- Перенаправление пользователей с устаревших URL на новые для сохранения SEO-позиций.
Автоматизация этого процесса особенно важна при большом количестве страниц, чтобы избежать ручного добавления каждого редиректа.
Использование плагинов для автоматических редиректов в WordPress
Плагин Redirection — популярное решение для автоматизации
Redirection — один из самых популярных и функциональных плагинов для управления редиректами в WordPress. Он позволяет не только создавать простые 301 редиректы, но и настраивать комплексные правила с использованием регулярных выражений.
Чтобы настроить автоматические редиректы с помощью Redirection:
- Установите и активируйте плагин Redirection.
- Перейдите в раздел Инструменты > Redirection.
- Добавьте новые правила редиректов, например, для перенаправления старой категории на новую:
Source URL: /old-category/(.*)
Target URL: /new-category/$1
Match: URL only
Action: Redirect to URL
Regular Expression: Да
Это правило автоматически перенаправит все страницы из старой категории на соответствующие страницы новой категории.
Плагин Clearfy Pro для управления SEO и редиректами
Если вы используете Clearfy Pro, в нём есть модуль для управления редиректами с простым интерфейсом и поддержкой автоматических правил. Это удобно, если хотите комплексно оптимизировать сайт и одновременно контролировать редиректы.
Создание автоматических редиректов с помощью кода в WordPress
Если вы предпочитаете минимизировать использование плагинов, автоматические редиректы можно организовать через код в файле functions.php вашей темы или в собственном плагине.
Пример 1: Редирект по устаревшему URL с сохранением части пути
function wp_course_redirect_old_category() {
if (strpos($_SERVER['REQUEST_URI'], '/old-category/') === 0) {
$new_url = str_replace('/old-category/', '/new-category/', $_SERVER['REQUEST_URI']);
wp_redirect(home_url($new_url), 301);
exit;
}
}
add_action('template_redirect', 'wp_course_redirect_old_category');
Этот код проверяет, начинается ли текущий URL с /old-category/, и автоматически перенаправляет пользователя на аналогичный адрес в /new-category/ с кодом 301.
Пример 2: Редирект для удаления параметров из URL
Иногда нужно убрать параметры запроса, например, utm-метки, чтобы избежать дублирования контента:
function wp_course_remove_utm_parameters() {
if (!is_admin()) {
$query = $_SERVER['QUERY_STRING'];
if (strpos($query, 'utm_') !== false) {
$clean_url = strtok($_SERVER['REQUEST_URI'], '?');
wp_redirect(home_url($clean_url), 301);
exit;
}
}
}
add_action('template_redirect', 'wp_course_remove_utm_parameters');
Код проверяет наличие utm-параметров и перенаправляет на чистый URL без них.
Автоматизация редиректов при удалении или изменении записей
Для сайтов с большим количеством контента полезно создавать редиректы автоматически при изменении URL записи (например, при смене слага) или её удалении.
Пример: Создание редиректа при смене slug записи
Для этого можно использовать хук post_updated и функцию сохранения старого URL в базе:
function wp_course_create_redirect_on_slug_change($post_ID, $post_after, $post_before) {
if ($post_after->post_type !== 'post') return;
if ($post_before->post_name !== $post_after->post_name) {
$old_url = home_url('/' . $post_before->post_name . '/');
$new_url = home_url('/' . $post_after->post_name . '/');
// Здесь можно сохранить редирект в кастомную таблицу или использовать плагин для добавления правила
// Пример с использованием плагина Redirection через REST API или прямую интеграцию
}
}
add_action('post_updated', 'wp_course_create_redirect_on_slug_change', 10, 3);
Реализация сохранения правила зависит от используемого плагина или вашей архитектуры. Важный этап — отслеживание и автоматическое создание редиректов для сохранения трафика и SEO.
Рекомендации по оптимизации автоматических редиректов
- Используйте 301 редиректы для постоянных изменений — они передают SEO-вес.
- Не создавайте цепочки редиректов — каждая дополнительная пересылка замедляет загрузку.
- Тестируйте правила с помощью инструментов, например, httpstatus.io, чтобы убедиться в правильности работы.
- Регулярно проверяйте сайт на наличие ошибок 404 и оперативно добавляйте редиректы.
- Комбинируйте использование плагинов и кастомного кода для максимальной гибкости.
Заключение
Автоматические редиректы в WordPress — это необходимое решение для поддержания структуры сайта и улучшения пользовательского опыта. Использование мощных плагинов, таких как Redirection и Clearfy Pro, позволит легко управлять редиректами без особых усилий. Если же вы предпочитаете кодовые решения, приведённые примеры помогут быстро настроить необходимые перенаправления под любые задачи.
Для удобства работы с плагинами смотрите подробные инструкции и обзоры на WPSHOP.ru.