Автоматическое удаление неактивных пользователей WordPress

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

Почему важно удалять неактивных пользователей WordPress

Неактивные пользователи — это учетные записи, которые давно не заходили на сайт и не проявляли активности. Их можно определить по дате последнего входа или активности. Вот почему важно их удалять:

  • Безопасность: устаревшие аккаунты могут быть взломаны, особенно если пользователь использует слабый пароль.
  • Производительность: большое количество пользователей загружает базу данных, что влияет на скорость и стабильность.
  • Упрощение управления: легче контролировать активных пользователей и управлять ролями.

Регулярное удаление таких аккаунтов — хорошая практика для поддержания порядка и безопасности.

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

По умолчанию WordPress не хранит дату последнего входа пользователя, поэтому для определения неактивных аккаунтов необходимо использовать дополнительные методы:

Использование плагинов для отслеживания активности

Например, плагин WP Activity Tracker позволяет фиксировать дату последнего входа и активности пользователя. После настройки можно легко фильтровать неактивных пользователей.

Добавление мета-поля с датой последнего входа

Если не хотите использовать плагин, можно добавить код, который будет сохранять дату последнего входа в пользовательские мета-данные:

function wpstuff_update_last_login($login, $user) {
    update_user_meta($user->ID, 'last_login', current_time('mysql'));
}
add_action('wp_login', 'wpstuff_update_last_login', 10, 2);

Этот код обновляет мета-поле last_login при каждом входе пользователя.

Как автоматически удалять неактивных пользователей с помощью кода

После того, как у вас есть данные о последнем входе, можно написать функцию, которая будет удалять пользователей, неактивных определённый период. Например, удалим всех пользователей, не заходивших более 180 дней:

function wpstuff_delete_inactive_users() {
    $args = array(
        'meta_key' => 'last_login',
        'meta_value' => date('Y-m-d H:i:s', strtotime('-180 days')),
        'meta_compare' => '<',
        'fields' => 'ID',
        'number' => 100,
    );
    $users = get_users($args);
    foreach($users as $user_id) {
        // Исключаем администраторов
        if (!user_can($user_id, 'administrator')) {
            wp_delete_user($user_id);
        }
    }
}

// Запускаем функцию ежедневно через wp-cron
if (!wp_next_scheduled('wpstuff_daily_delete_inactive_users')) {
    wp_schedule_event(time(), 'daily', 'wpstuff_daily_delete_inactive_users');
}
add_action('wpstuff_daily_delete_inactive_users', 'wpstuff_delete_inactive_users');

Этот код настроит ежедневную проверку и удаление неактивных пользователей. Исключение сделано для администраторов для безопасности.

Использование плагинов для автоматизации удаления неактивных пользователей

Если вы предпочитаете не писать код, существуют плагины, которые помогут автоматизировать процесс:

  • User Cleanup: позволяет удалять пользователей по различным критериям — по дате регистрации, последнему входу и активности.
  • Inactive User Deleter: удаляет пользователей, которые не заходили на сайт определённое время.

Вы можете найти и установить эти плагины через админку WordPress, а для интеграции с WPShop рекомендуем использовать Clearfy Pro, который включает функции оптимизации и очистки базы данных, в том числе работу с пользователями.

Резервное копирование перед удалением пользователей

Перед автоматическим удалением пользователей обязательно настройте резервное копирование сайта. Лучше использовать решения с возможностью быстрого восстановления, например WPBackup или аналогичные.

Это позволит избежать потери важных данных, если кто-то из пользователей окажется нужным.

Советы по безопасному удалению пользователей

Чтобы избежать проблем при удалении, следуйте рекомендациям:

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

Заключение

Автоматическое удаление неактивных пользователей — важный элемент поддержки безопасности и производительности WordPress-сайта. С помощью приведённых методов и кода вы сможете настроить надежную систему очистки базы пользователей. Используйте плагины для упрощения и не забывайте о резервном копировании.

Как использовать Custom Post Types в WordPress для создания нестираемых структур
04.04.2026
Как отключить AJAX в WooCommerce без потери функциональности
21.04.2026
Как добавить пользовательское поле в REST API WordPress
21.01.2026
Как автоматизировать создание и удаление черновиков в WordPress
10.04.2026
Как удалить неиспользуемые таксономии в WordPress
25.02.2026