Как создать автоматический отчет по активности пользователей в WordPress

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

Зачем нужен отчет по активности пользователей в WordPress

Отчет по активности пользователей позволяет получать структурированные данные о поведении посетителей и зарегистрированных пользователей на сайте. Это помогает:

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

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

Использование плагинов для сбора данных об активности

Плагин WP Activity Log

Один из самых популярных и функциональных плагинов — WP Activity Log. Он ведет подробный журнал активности, фиксирует авторизацию, изменения постов, настройку сайта и многое другое.

Плагин доступен в бесплатной и премиум-версиях. Для создания автоматических отчетов удобна именно платная версия с расширенными функциями экспорта и рассылки по email.

Плагин Simple History

Если вам нужен более легкий вариант — обратите внимание на Simple History. Он сохраняет изменения в админке и действия пользователей, отображая их в удобном виде. Экспорт данных можно делать вручную, а для автоматизации потребуется дополнительный код.

Создаем собственный механизм сбора и отправки отчетов

Если вы хотите гибко контролировать данные и формат отчетов, можно написать собственный код для сбора активности и рассылки отчетов. Ниже приведен пример, как с помощью пользовательских хуков и WP Cron создать ежедневный отчет по входам пользователей.

Шаг 1. Сбор данных о входах пользователей

Добавим функцию, которая будет сохранять события входа в пользовательскую таблицу или в опцию как массив записей.

function wpbit_log_user_login( $user_login, $user ) {
    $log = get_option( 'wpbit_user_login_log', [] );
    $log[] = [
        'user_id' => $user->ID,
        'user_login' => $user_login,
        'time' => current_time( 'mysql' ),
        'ip' => $_SERVER['REMOTE_ADDR'],
    ];
    update_option( 'wpbit_user_login_log', $log );
}
add_action( 'wp_login', 'wpbit_log_user_login', 10, 2 );

Этот код сохраняет в опции wpbit_user_login_log массив с данными о каждом входе пользователя: ID, логин, время и IP.

Шаг 2. Создаем функцию для генерации отчета

Пишем функцию, которая формирует текст отчета по активности за последние 24 часа.

function wpbit_generate_daily_user_login_report() {
    $log = get_option( 'wpbit_user_login_log', [] );
    $date_from = strtotime( '-1 day' );
    $report_lines = [];
    foreach ( $log as $entry ) {
        $entry_time = strtotime( $entry['time'] );
        if ( $entry_time >= $date_from ) {
            $report_lines[] = sprintf(
                'Пользователь %s (ID: %d) вошел в %s с IP %s',
                $entry['user_login'],
                $entry['user_id'],
                $entry['time'],
                $entry['ip']
            );
        }
    }
    if ( empty( $report_lines ) ) {
        return 'За последние 24 часа входов пользователей не зафиксировано.';
    }
    return implode( "\n", $report_lines );
}

Шаг 3. Отправка отчета по email с помощью WP Cron

Регистрируем событие, которое будет запускаться раз в сутки, и отправлять отчет на указанную почту.

function wpbit_schedule_daily_report() {
    if ( ! wp_next_scheduled( 'wpbit_send_daily_user_login_report' ) ) {
        wp_schedule_event( time(), 'daily', 'wpbit_send_daily_user_login_report' );
    }
}
add_action( 'wp', 'wpbit_schedule_daily_report' );

function wpbit_send_daily_user_login_report() {
    $to = get_option( 'admin_email' );
    $subject = 'Ежедневный отчет по активности пользователей';
    $message = wpbit_generate_daily_user_login_report();
    wp_mail( $to, $subject, $message );
}
add_action( 'wpbit_send_daily_user_login_report', 'wpbit_send_daily_user_login_report' );

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

Расширение функционала: отчет по просмотрам страниц и действиям

Отслеживание просмотров страниц

Для более детального анализа можно отслеживать просмотры страниц. Это можно сделать с помощью хука template_redirect и записи данных в базу.

function wpbit_log_page_view() {
    if ( is_user_logged_in() ) {
        $user_id = get_current_user_id();
        $page = get_permalink();
        $log = get_option( 'wpbit_page_view_log', [] );
        $log[] = [
            'user_id' => $user_id,
            'page' => $page,
            'time' => current_time( 'mysql' ),
        ];
        update_option( 'wpbit_page_view_log', $log );
    }
}
add_action( 'template_redirect', 'wpbit_log_page_view' );

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

Создание отчета с фильтрацией по дате и пользователю

Для удобства можно дополнить функцию генерации отчета аргументами для фильтрации по дате и ID пользователя, чтобы получать выборочные данные.

Это полезно, если нужно анализировать активность конкретного редактора или группы пользователей.

Использование WPGPT и Expert Review для анализа активности

Для автоматизации анализа и создания отчетов можно использовать продукты из WPSHOP, например, WPGPT для генерации текстовых отчетов на базе искусственного интеллекта и Expert Review для экспертного анализа данных сайта.

Эти решения помогут не только собирать данные, но и автоматически формировать понятные и полезные отчеты, экономя время администраторов.

Как добавить автоматическое отображение отзывов в WordPress
16.04.2026
Как автоматизировать создание и удаление туториалов в WordPress
26.02.2026
Как добавить автоматическое сохранение в формы WordPress
04.01.2026
Как использовать REST API WordPress для автоматизации задач
15.12.2025
Автоматическое удаление пустых комментариев в WordPress
03.02.2026