BD Activity Log

Getting Started with BD Activity Log

Updated March 9, 2026 4 min read

Introduction

BD Activity Log is a standalone activity logging plugin for WordPress that provides a comprehensive audit trail of everything happening on your site. It tracks user logins, content changes, plugin and theme management, user account activity, and WordPress settings changes — all displayed in a beautiful, filterable dashboard with CSV export.

Requirements

  • WordPress 5.6 or later
  • PHP 7.4 or later
  • A valid BD Activity Log license key (required for activity logging to be active)

Installation

  1. Download the bd-activity-log plugin ZIP file from your BDShield account at getbdshield.com/shop.
  2. In your WordPress admin, go to Plugins → Add New → Upload Plugin.
  3. Select the ZIP file and click Install Now, then Activate.
  4. After activation, you will be redirected to the BD Activity Log dashboard at BD Activity in your admin sidebar.

Activating Your License

  1. Go to BD Activity → License tab.
  2. Enter your license key and click Activate.
  3. Once activated, the header displays a green “Licensed” pill and your tier badge (Starter, Professional, or Agency).
  4. License details including expiration date and activated site count are displayed below the key.

Important: A valid license is required for activity logging to be active. Without a license, the plugin will not record new events. However, any existing log data is still viewable, filterable, and exportable even without a license.

What Events Are Tracked

BD Activity Log tracks 20 distinct event types across five categories. Each event records the user who performed the action, their role, the affected object, the user’s IP address, user agent, and a timestamp.

Login Events (3 types)

Event TypeDescriptionDetails Recorded
login_successA user successfully logged inUser ID, username
login_failedA failed login attempt was madeAttempted username (user ID is 0)
logoutA user logged outUser ID, username

Content Events (3 types)

Event TypeDescriptionDetails Recorded
post_publishedA post or page was publishedPost ID, title, post type, previous status
post_trashedA post or page was moved to trashPost ID, title, post type, previous status
post_deletedA post or page was permanently deletedPost ID, title, post type

Note: Post revisions and autosaves are automatically excluded from logging to avoid cluttering the activity log with automatic WordPress operations.

Plugin and Theme Events (6 types)

Event TypeDescriptionDetails Recorded
plugin_activatedA plugin was activatedPlugin basename (e.g., my-plugin/my-plugin.php)
plugin_deactivatedA plugin was deactivatedPlugin basename
plugin_updatedA plugin was updatedPlugin basename
theme_switchedThe active theme was changedNew theme name
theme_updatedA theme was updatedTheme slug
core_updatedWordPress core was updatedNew WordPress version number

User Management Events (5 types)

Event TypeDescriptionDetails Recorded
user_createdA new user account was createdNew user ID and username
user_deletedA user account was deletedDeleted user ID and username
role_changedA user’s role was changedUser ID, username, old roles, new role
password_changedA user changed their password via profileUser ID, username
password_resetA user’s password was resetUser ID, username

Settings Events (1 type)

Event TypeDescriptionDetails Recorded
option_updatedA tracked WordPress option was changedOption name

Settings tracking is limited to the following important WordPress options to avoid noise:

  • blogname (Site Title)
  • blogdescription (Tagline)
  • siteurl (WordPress Address)
  • home (Site Address)
  • admin_email (Admin Email)
  • users_can_register (Membership setting)
  • default_role (New User Default Role)

Data Recorded Per Event

Every logged event stores the following information in the bdal_activity_log database table:

  • User ID — The WordPress user ID of the person who performed the action (0 for failed logins or system events).
  • Username — The user’s login name, or “system” for automated events.
  • User Role — The user’s WordPress role(s) at the time of the event.
  • Event Type — One of the 20 event types listed above.
  • Object Type — The type of object affected: user, post, plugin, theme, core, or option.
  • Object ID — The ID of the affected object (post ID, user ID, etc.), or 0 if not applicable.
  • Object Name — A human-readable name for the affected object (post title, plugin basename, username, option name).
  • Details — A JSON-encoded string with additional context (e.g., old and new roles for role changes, post type and old status for content events, WordPress version for core updates).
  • IP Address — The client’s IP address, with support for proxy headers (CF-Connecting-IP, X-Forwarded-For, X-Real-IP).
  • User Agent — The browser user agent string (truncated to 512 characters).
  • Timestamp — The date and time of the event in UTC.

Dashboard Overview

The BD Activity Log dashboard is accessible via BD Activity in your WordPress admin sidebar. It has three tabs:

Activity Log Tab

The main tab displays the activity log in a paginated table with 50 entries per page. The table shows six columns: Time, User, Event, Object, Details, and IP Address. Events are displayed in reverse chronological order (newest first).

Above the table, a filters bar lets you narrow results by event type, username, and date range. An actions row shows the total event count and provides buttons to export as CSV or clear the log.

Settings Tab

Configure which event categories to track and set the log retention period. Individual event categories can be toggled independently.

License Tab

Manage your license key, view your plan details, and compare features across Starter, Professional, and Agency tiers.

Next Steps

Continue to Filtering, Export & Settings to learn how to filter logs, export data as CSV, configure retention, and manage your settings.