Со временем в базе данных WordPress накапливаются записи о 301 редиректах, особенно если вы используете плагины для управления перенаправлениями или меняли структуру URL. Эти устаревшие редиректы могут замедлять загрузку сайта и создавать лишнюю нагрузку на сервер. В этой статье мы подробно рассмотрим, как безопасно найти и удалить старые 301 редиректы из базы данных, используя как готовые плагины, так и собственные скрипты на PHP.
Почему важно удалять старые 301 редиректы
Редиректы помогают направлять пользователей и поисковые системы с устаревших URL на актуальные страницы. Однако если редиректы не актуализируются и не удаляются, их количество растёт, что приводит к:
- Увеличению времени обработки запросов сервера.
- Накоплению мусора в базе данных.
- Возможным конфликтам и ошибкам при работе плагинов перенаправления.
Поэтому регулярное обслуживание базы данных и чистка неактуальных редиректов — важная часть оптимизации WordPress.
Где хранятся 301 редиректы в базе данных WordPress
Способ хранения зависит от плагина или метода, которым вы управляете редиректами. Рассмотрим популярные варианты:
Редиректы в плагине Redirection
Плагин Redirection сохраняет правила в отдельной таблице wp_redirection_items. Чтобы очистить старые записи, можно выполнить SQL-запрос, например, по дате создания или по статусу.
Редиректы в плагине Rank Math или Yoast SEO
Некоторые SEO-плагины также могут хранить редиректы в своих таблицах или в пользовательских типах записей.
Редиректы, заданные через файл .htaccess
Редиректы, прописанные в .htaccess, не хранятся в базе данных и удаляются вручную из файла.
Как найти и удалить старые 301 редиректы через SQL-запросы
Для плагина Redirection можно использовать следующий пример запроса, который удалит редиректы старше 6 месяцев:
DELETE FROM wp_redirection_items WHERE last_accessed < DATE_SUB(NOW(), INTERVAL 6 MONTH);Перед выполнением команды сделайте резервную копию базы данных!
Если таблица имеет другой префикс, замените wp_ на актуальный.
Использование плагинов для очистки редиректов
Если вы не хотите работать с SQL напрямую, можно воспользоваться специализированными плагинами:
- Redirection — имеет встроенный интерфейс для управления и удаления редиректов.
- WP-Sweep — позволяет очистить устаревшие записи, включая трансенты и метаданные, иногда помогает с редиректами.
Для примера рассмотрим, как удалить редиректы через API плагина Redirection:
function wpcheck_delete_old_redirects() {
global $wpdb;
$table = $wpdb->prefix . 'redirection_items';
$wpdb->query($wpdb->prepare(
"DELETE FROM {$table} WHERE last_accessed < %s",
date('Y-m-d H:i:s', strtotime('-6 months'))
));
}
add_action('wp_loaded', 'wpcheck_delete_old_redirects');Этот код можно добавить в functions.php вашей темы или в отдельный плагин. Он удалит все редиректы, которые не использовались более 6 месяцев.
Советы по оптимизации работы с редиректами в WordPress
- Регулярно проверяйте и удаляйте неиспользуемые редиректы.
- Используйте плагины с хорошей репутацией и оптимизированным кодом.
- Настройте мониторинг использования редиректов через WPCheck, чтобы видеть, какие правила востребованы.
- Избегайте дублирующих правил и циклических редиректов.
Дополнительные инструменты для работы с редиректами
Для комплексного управления редиректами и мониторинга состояния сайта рекомендуем обратить внимание на продукт Clearfy Pro. Этот плагин помогает оптимизировать базу данных, отключать ненужные функции и повышать скорость сайта.
Также полезен плагин WPCheck для диагностирования проблем с редиректами и другими аспектами WordPress.