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

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

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

Понимание того, как пользователи взаимодействуют с сайтом, позволяет принимать взвешенные решения для улучшения UX и контента. Отчет по активности помогает ответить на вопросы:

  • Какие страницы посещают чаще всего?
  • Сколько времени проводят на сайте пользователи?
  • Какие действия совершают зарегистрированные пользователи (комментарии, заказы, заполнение форм)?
  • Какие пользователи самые активные?

Реализовать такой отчет можно разными способами — через специализированные плагины или собственный код, что дает гибкость и контроль.

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

Для начала рассмотрим готовые решения, которые помогут быстро внедрить мониторинг активности:

1. WP Activity Log

Один из самых популярных плагинов для мониторинга активности. Позволяет отслеживать входы в систему, изменения в контенте, публикации и многое другое.

Плюсы:

  • Подробные логи событий
  • Настраиваемые уведомления
  • Отчеты в удобном формате

Минусы:

  • Часть функций доступна только в премиум версии

Подробнее и скачать: WP Activity Log на WPSHOP.

2. Simple History

Легкий плагин для отображения истории действий пользователей прямо в админке.

Плюсы:

  • Простая настройка
  • Отслеживание действий в реальном времени

Минусы:

  • Меньше функций по сравнению с WP Activity Log

Создание собственного автоматического отчета по активности в WordPress

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

Сбор данных о посещениях пользователей

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

function wpkpi_track_user_visit() {
    if ( is_user_logged_in() ) {
        $user_id = get_current_user_id();
        $visits = get_user_meta( $user_id, 'wpkpi_user_visits', true );
        if ( ! is_array( $visits ) ) {
            $visits = array();
        }
        $visits[] = current_time( 'mysql' );
        // Ограничим количество записей до 100
        if ( count( $visits ) > 100 ) {
            array_shift( $visits );
        }
        update_user_meta( $user_id, 'wpkpi_user_visits', $visits );
    }
}
add_action( 'wp_head', 'wpkpi_track_user_visit' );

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

Вывод отчета в админке

Создадим страницу в админке с отчетом по активности пользователей.

function wpkpi_add_admin_menu() {
    add_menu_page(
        'Отчет активности пользователей',
        'Отчет активности',
        'manage_options',
        'wpkpi-user-activity-report',
        'wpkpi_render_user_activity_report',
        'dashicons-chart-area',
        20
    );
}
add_action( 'admin_menu', 'wpkpi_add_admin_menu' );

function wpkpi_render_user_activity_report() {
    if ( ! current_user_can( 'manage_options' ) ) {
        wp_die( 'Доступ запрещен' );
    }
    $users = get_users();
    echo '<div class="wrap"><h1>Отчет по активности пользователей</h1><table class="wp-list-table widefat fixed striped">';
    echo '<thead><tr><th>Пользователь</th><th>Последние 5 посещений</th></tr></thead><tbody>';
    foreach ( $users as $user ) {
        $visits = get_user_meta( $user->ID, 'wpkpi_user_visits', true );
        if ( ! $visits ) {
            $visits = array();
        }
        $last_visits = array_slice( $visits, -5 );
        echo '<tr><td>' . esc_html( $user->user_login ) . '</td><td>' . esc_html( implode( ', ', $last_visits ) ) . '</td></tr>';
    }
    echo '</tbody></table></div>';
}

Теперь в админке появится меню "Отчет активности" с таблицей последних посещений пользователей.

Расширение отчета: анализ действий пользователей

Кроме посещений, можно логировать другие события — публикации, комментарии, изменения профиля. Для этого стоит использовать хуки WordPress и записывать данные в пользовательские метаданные или отдельные таблицы.

Например, логирование публикаций:

function wpkpi_log_post_published( $ID, $post ) {
    $user_id = get_current_user_id();
    if ( $user_id ) {
        $posts_published = get_user_meta( $user_id, 'wpkpi_posts_published', true );
        if ( ! is_array( $posts_published ) ) {
            $posts_published = array();
        }
        $posts_published[] = array(
            'post_id' => $ID,
            'date' => current_time( 'mysql' ),
            'title' => get_the_title( $ID )
        );
        update_user_meta( $user_id, 'wpkpi_posts_published', $posts_published );
    }
}
add_action( 'publish_post', 'wpkpi_log_post_published', 10, 2 );

Так можно расширить отчет, показывая активность в разных аспектах.

Автоматизация и планировщик задач для регулярной генерации отчетов

Чтобы отчет обновлялся автоматически и отправлялся, например, на электронную почту, используйте WP-Cron.

Пример регистрации задачи:

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

function wpkpi_send_activity_report_callback() {
    // Здесь формируем отчет и отправляем на почту
    $admin_email = get_option( 'admin_email' );
    $subject = 'Ежедневный отчет по активности пользователей';
    $message = 'Здесь можно вставить сформированный отчет';
    wp_mail( $admin_email, $subject, $message );
}
add_action( 'wpkpi_send_activity_report', 'wpkpi_send_activity_report_callback' );

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

Выводы и рекомендации

Создание собственного отчета по активности пользователей в WordPress — задача, вполне решаемая с базовыми знаниями PHP и WordPress API. Вы можете комбинировать собственный код и готовые плагины, такие как WP Activity Log или Simple History, для более глубокого анализа.

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

Как добавить динамические фильтры в WordPress на примере категорий и метаполей
18.03.2026
Как создать автоматический каталог картинок в WordPress
05.01.2026
Оптимизация загрузки библиотек jQuery и других скриптов в WordPress
08.04.2026
Как создать автоматический отчет по активности пользователей в WordPress
16.02.2026
Как создать автоматический сбор данных KPI в WordPress с примерами кода
12.03.2026