Редиректы играют ключевую роль в поддержании SEO-здоровья сайта на WordPress, особенно при изменении структуры URL или удалении страниц. Плагин YoastSEO предлагает удобные инструменты для управления редиректами, которые помогут избежать потери трафика и ухудшения позиций в поисковых системах. В этой статье подробно разберём, как правильно настроить и автоматизировать редиректы с помощью YoastSEO, а также рассмотрим примеры кода для расширения функционала.
Зачем нужны редиректы и как их использовать для SEO
Редиректы – это перенаправления пользователей и поисковых роботов с одного URL на другой. Основные причины использования редиректов:
- Изменение структуры сайта (например, смена категории или название страницы);
- Удаление или объединение контента;
- Исправление ошибок 404;
- Оптимизация канонических URL для предотвращения дублей.
Если не настроить перенаправления корректно, поисковые системы могут считать страницы удалёнными, что приведёт к потере позиций и трафика. YoastSEO помогает автоматизировать процесс создания редиректов и управлять ими через удобный интерфейс.
Настройка автоматического управления редиректами в YoastSEO
В YoastSEO для WordPress есть модуль Yoast SEO Premium, который включает встроенный менеджер редиректов. Вот как его настроить:
- Перейдите в админ-панель WordPress → SEO → Редиректы;
- Включите автоматическое создание редиректов при изменении URL страниц и записей;
- Настройте тип редиректа (301 — постоянный, 302 — временный, 410 — удаление);
- Добавляйте редиректы вручную через интерфейс или импортируйте CSV с адресами.
Автоматизация позволяет YoastSEO самостоятельно создавать редиректы при смене слага (URL) страниц, что исключает ручную работу и уменьшает риск ошибок.
Пример автоматического редиректа при смене URL
Когда вы меняете слаг записи, YoastSEO автоматически создаёт редирект с предыдущего URL на новый. Это работает без кода, но можно дополнить функционал через хуки.
Использование хука yoastseo_redirect для кастомизации редиректов
Если нужно программно управлять редиректами, YoastSEO предоставляет хук yoastseo_redirect, позволяющий добавлять свои правила.
add_filter('yoastseo_redirect', 'yoastseo_custom_redirect', 10, 2); function yoastseo_custom_redirect($redirect, $post_id) { // Получаем объект поста $post = get_post($post_id); if (!$post) { return $redirect; } // Пример: при смене категории 123 делаем редирект на главную $categories = wp_get_post_categories($post_id); if (in_array(123, $categories)) { $redirect = home_url('/'); } return $redirect;}В этом примере, если запись принадлежит категории с ID 123, редирект перенаправит пользователя на главную страницу сайта. Такой подход полезен для комплексных правил, которые нельзя реализовать через стандартный интерфейс.
Как управлять редиректами с помощью бесплатных плагинов в связке с YoastSEO
Если у вас нет Yoast SEO Premium, можно использовать бесплатные плагины для управления редиректами, которые хорошо работают в связке с YoastSEO:
- Redirection — один из самых популярных плагинов для управления редиректами;
- Simple 301 Redirects — простой и понятный интерфейс;
- Clearfy Pro — оптимизационный плагин с расширенным функционалом для SEO.
Эти инструменты помогут отслеживать 404 ошибки и создавать редиректы вручную или по шаблонам.
Практические советы по работе с редиректами и YoastSEO
1. Используйте 301 редиректы для постоянных изменений
Для SEO важно использовать именно 301 редиректы, чтобы передать вес страницы новому URL. YoastSEO по умолчанию использует тип 301, но при необходимости вы можете выбрать другой.
2. Проверяйте цепочки редиректов
Слишком длинные цепочки редиректов (например, страница А → Б → В) снижают скорость загрузки и ухудшают SEO. Рекомендуется свести их к минимуму, используя YoastSEO и дополнительные инструменты для анализа.
3. Регулярно мониторьте 404 ошибки
Используйте встроенный отчет YoastSEO или плагины типа Redirection, чтобы видеть ошибки 404 и быстро реагировать на них, создавая нужные редиректы.
Пример создания пользовательского редиректа через функции темы
Для более тонкой настройки редиректов можно добавить код в файл functions.php вашей темы. Ниже пример функции, создающей редирект для определённого URL:
function yoastseo_ru_custom_redirects() { if (is_404()) { $requested_url = $_SERVER['REQUEST_URI']; if ($requested_url === '/staraia-stranica/') { wp_redirect(home_url('/novaya-stranica/'), 301); exit; } }} add_action('template_redirect', 'yoastseo_ru_custom_redirects');Этот код проверяет, если запрошенный URL равен /staraia-stranica/, то происходит редирект на /novaya-stranica/ с кодом 301. Такой метод полезен для точечных случаев, когда нужно обойтись без плагинов.