Редиректы – важная часть управления сайта на WordPress, но иногда возникают ситуации, когда нужно удалить или отключить ненужные перенаправления. В этой статье разберём, как найти и удалить редиректы, которые мешают работе сайта, а также рассмотрим примеры кода и полезные плагины для решения задач.
Что такое редиректы и почему их нужно удалять
Редиректы – это HTTP-перенаправления с одного URL на другой. Они используются для правильной работы сайта при изменении структуры ссылок, смене домена или исправлении ошибок. Но иногда редиректы могут быть установлены по ошибке, устареть или конфликтовать с другими настройками, что приводит к циклам перенаправлений, ошибкам 404 и потере трафика.
Удаление лишних или некорректных редиректов помогает повысить скорость загрузки страниц, улучшить SEO и пользовательский опыт.
Как найти редиректы в WordPress
Использование плагинов для поиска редиректов
Чтобы найти все редиректы на сайте, удобнее всего использовать специальные плагины. Вот несколько популярных решений:
- Redirection – самый популярный плагин для управления редиректами, который позволяет просматривать все существующие перенаправления, логи ошибок и создавать новые правила.
- Simple 301 Redirects – удобный для базовых задач плагин с простым интерфейсом.
- Debug HTTP Headers – плагин, который помогает увидеть какие заголовки и редиректы отдают страницы.
Используйте Redirection, чтобы открыть панель управления и проверить все правила редиректов. Часто именно здесь можно удалить или скорректировать ненужные записи.
Проверка редиректов вручную через файл .htaccess
Если сайт работает на Apache, редиректы часто прописываются в файле .htaccess. Вот как его проверить:
- Подключитесь к серверу через FTP или менеджер файлов хостинга.
- Найдите файл
.htaccessв корневой директории сайта. - Откройте файл в текстовом редакторе и ищите строки с командами
Redirect,RewriteRuleилиRewriteCond. - Удалите или закомментируйте строки, которые отвечают за нежелательные редиректы.
Будьте осторожны при редактировании .htaccess, неправильные изменения могут привести к недоступности сайта.
Как удалить редиректы в WordPress: практические методы
Удаление редиректов через плагин Redirection
Для удаления редиректа в плагине Redirection:
- Перейдите в админ-панель WordPress → Инструменты → Redirection.
- В списке редиректов найдите нужное правило.
- Нажмите на кнопку «Удалить» рядом с этим правилом.
Если редирект не отображается, возможно, он установлен в другом месте (например, в .htaccess или в коде темы/плагина).
Удаление редиректов в файле functions.php
В некоторых случаях редиректы добавлены программно в теме или плагинах, например, с помощью функций wp_redirect() или template_redirect. Чтобы удалить такой редирект, можно переопределить его в файле functions.php вашей темы или в собственном плагине.
Пример функции удаления редиректа с использованием хука template_redirect:
function wptemy_remove_redirect() { remove_action('template_redirect', 'redirect_canonical');}add_action('init', 'wptemy_remove_redirect');Этот код отключает автоматические редиректы WordPress, которые иногда вызывают нежелательные перенаправления.
Примеры кода для управления редиректами в WordPress
Создание кастомного фильтра для удаления редиректов
Можно использовать фильтр redirect_canonical, чтобы контролировать редиректы в WordPress. Например, запретить редирект для определённого URL:
function wptemy_disable_redirect_for_slug($redirect_url) { if (is_singular('post') && get_post_field('post_name', get_post()) === 'my-post-slug') { return false; // Отключаем редирект для поста с этим слагом } return $redirect_url;}add_filter('redirect_canonical', 'wptemy_disable_redirect_for_slug');Этот код отключит автоматический редирект для записи с слагом my-post-slug.
Пример удаления редиректа с проверкой запроса
Если нужно удалить редирект, который срабатывает только при определённых условиях, можно написать так:
function wptemy_conditional_redirect_disable() { if (is_page('special-page')) { remove_action('template_redirect', 'redirect_canonical'); }}add_action('template_redirect', 'wptemy_conditional_redirect_disable', 0);Так мы отключаем canonical-редирект только для страницы с названием special-page.
Плагины для удаления и управления редиректами
Кроме Redirection, существуют инструменты, которые помогают выявлять и исправлять проблемные редиректы:
- Safe Redirect Manager – лёгкий плагин для управления 301, 302 и 307 редиректами без нагрузки на сайт.
- WP Rollback – помогает откатить плагины и темы, если после обновления появились проблемы с редиректами.
- Yoast SEO – в платной версии поддерживает управление редиректами с удобным интерфейсом.
Выбор плагина зависит от задачи: если нужно просто удалить редирект – Redirection или Safe Redirect Manager подойдут лучше всего.
Как избежать проблем с редиректами в будущем
Рекомендации по работе с редиректами
Чтобы не столкнуться с проблемами, придерживайтесь следующих правил:
- Регулярно проверяйте список редиректов и удаляйте устаревшие.
- Избегайте циклов редиректов (когда страница A редиректит на B, а B обратно на A).
- Используйте плагины с логаутом и мониторингом редиректов.
- Тестируйте изменения на локальной копии сайта перед публикацией.
Использование инструментов для проверки редиректов
Для диагностики редиректов можно применять внешние сервисы и инструменты:
- Redirect Checker – онлайн-сервисы для проверки цепочек редиректов.
- Chrome DevTools – вкладка Network позволяет увидеть последовательность редиректов и заголовки.
- WP CLI – с помощью команд можно проверять и управлять перенаправлениями, если используется плагин Redirection с поддержкой WP CLI.
Эти инструменты помогут быстро выявить проблемные редиректы и понять, как их удалить.