200,000+
October 18, 2026
May 23, 2013
An easy to use, fully supported WordPress activity log plugin.
Want to know exactly who does what on your WordPress site? Activity Log works like an airplane’s black box: it quietly records every action in the WordPress admin — and now every request made through the REST API, WP-CLI, WP-Cron, and more — so you always know:
The plugin doesn’t require any setup; it works right out of the box, runs on its own database table so it doesn’t slow down your site, and stays out of your way until you need it.
If you have more than a handful of users, keeping track of who did what by hand is virtually impossible. Activity Log solves that by tying every action back to the user who triggered it, in an easy-to-filter view right on your WordPress dashboard.
For each event recorded by the activity log, the following details are also logged:
All events are stored in a dedicated custom database table, keeping the impact on your site’s performance to a minimum — even under heavy traffic.
Uninstalling the plugin removes all of its data from your database automatically, leaving nothing behind.
Would you like to contribute to this plugin? You’re more than welcome to submit your pull requests on the GitHub repo. And, if you have any notes about the code, please open a ticket on the issue tracker.
Requires PHP 7.4 for list management functionality.
This plugin is released under a GPL license.
No. Activity Log stores every event in its own dedicated database table instead of mixing into WordPress’ core tables, so logging has minimal impact on your site’s performance, even under heavy traffic.
You can easily export logs with Activity Log. We also support exporting filtered results. Filter by the time the action took place, roles, users, options, action type, and more.
Yes. Each log entry records its Request Source, so you can tell whether a change was made through the WP Admin, the REST API, WP-CLI, WP-Cron, XML-RPC, or the WP Abilities API. If the request was authenticated with an Application Password, its name is shown as well. Use the Source filter on the log screen to narrow results down to a specific channel.
Yes, if you turn it on in the settings. On WordPress 6.9 or later, Activity Log adds read-only abilities through the WordPress Abilities API, so AI agents can query logs, summarize activity, and detect suspicious events.
By default, logs are kept for 30 days, but you can set your own retention period from the settings page — from a few days to forever. Failed login attempts and email logs can also be kept or discarded independently.
No. If you’d rather not store IP addresses for privacy reasons, set the “Visitor IP Detected” option to “Do not collect IP” and the IP column will be hidden going forward.
Yes. Activity Log fully supports Multisite, logging activity per site and cleaning up its data correctly when a site is removed from the network.
Yes. Products, orders, and customers are tracked right out of the box, since Activity Log records changes across any post type and taxonomy — no extra setup needed.
Yes. Beyond the built-in toggles for failed logins and email logs, developers can hook into the aal_skip_insert_log filter to skip logging for any event on demand.
You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. Report a security vulnerability.
| Version | Download | Type |
|---|---|---|
| 2.16.0 | Download | Stable |
| 2.15.0 | Download | Stable |
| 2.14.1 | Download | Stable |
| 2.14.0 | Download | Stable |
| 2.13.1 | Download | Stable |
| 2.13.0 | Download | Stable |
| 2.12.1 | Download | Stable |
| 2.12.0 | Download | Stable |
| 2.11.2 | Download | Stable |
| 2.11.1 | Download | Stable |
| 2.11.0 | Download | Stable |
| 2.10.1 | Download | Stable |
| 2.10.0 | Download | Stable |
| 2.9.2 | Download | Stable |
| 2.9.1 | Download | Stable |
| 2.9.0 | Download | Stable |
| 2.8.8 | Download | Stable |
| 2.8.7 | Download | Stable |
| 2.8.6 | Download | Stable |
| 2.8.5 | Download | Stable |
| 2.8.4 | Download | Stable |
| 2.8.3 | Download | Stable |
| 2.8.2 | Download | Stable |
| 2.8.1 | Download | Stable |
| 2.8.0 | Download | Stable |
| 2.7.0 | Download | Stable |
| 2.6.1 | Download | Stable |
| 2.6.0 | Download | Stable |
| 2.5.2 | Download | Stable |
| 2.5.1 | Download | Stable |
| 2.5.0 | Download | Stable |
| 2.4.1 | Download | Stable |
| 2.4.0 | Download | Stable |
| 2.3.6 | Download | Stable |
| 2.3.5 | Download | Stable |
| 2.3.4 | Download | Stable |
| 2.3.2 | Download | Stable |
| 2.3.1 | Download | Stable |
| 2.3.0 | Download | Stable |
| 2.2.12 | Download | Stable |
| 2.2.11 | Download | Stable |
| 2.2.10 | Download | Stable |
| 2.2.9 | Download | Stable |
| 2.2.8 | Download | Stable |
| 2.2.7 | Download | Stable |
| 2.2.6 | Download | Stable |
| 2.2.5 | Download | Stable |
| 2.2.4 | Download | Stable |
| 2.2.3 | Download | Stable |
| 2.2.2 | Download | Stable |
| 2.2.1 | Download | Stable |
| 2.2.0 | Download | Stable |
| 2.1.16 | Download | Stable |
| 2.1.15 | Download | Stable |
| 2.1.14 | Download | Stable |
| 2.1.13 | Download | Stable |
| 2.1.12 | Download | Stable |
| 2.1.11 | Download | Stable |
| 2.1.10 | Download | Stable |
| 2.1.9 | Download | Stable |
| 2.1.8 | Download | Stable |
| 2.1.7 | Download | Stable |
| 2.1.6 | Download | Stable |
| 2.1.5 | Download | Stable |
| 2.1.4 | Download | Stable |
| 2.1.3 | Download | Stable |
| 2.1.2 | Download | Stable |
| 2.1.1 | Download | Stable |
| 2.1.0 | Download | Stable |
| 2.0.7 | Download | Stable |
| 2.0.6 | Download | Stable |
| 2.0.5 | Download | Stable |
| 2.0.4 | Download | Stable |
| 2.0.3 | Download | Stable |
| 2.0.2 | Download | Stable |
| 2.0.1 | Download | Stable |
| 2.0 | Download | Stable |
| 1.0.8 | Download | Stable |
| 1.0.7 | Download | Stable |
| 1.0.6 | Download | Stable |
| 1.0.5 | Download | Stable |
| 1.0.4 | Download | Stable |
| 1.0.3 | Download | Stable |
| 1.0.2 | Download | Stable |
| 1.0.1 | Download | Stable |
| Development | Download | Trunk |