Activity Log – Monitor User and Agent Changes
Activity Log – Monitor User and Agent Changes
Description
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:
- If someone is trying to hack your site
- When a post was published, and who published it
- If a plugin/theme was activated/deactivated
- Suspicious admin activity
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.
What’s New
- Request Source Tracking – See exactly where each change came from: the WP Admin, the REST API, WP-CLI, WP-Cron, XML-RPC, or the WP Abilities API, including which Application Password was used. Filter the log by source to quickly spot automated or API-driven changes alongside manual admin activity.
- Email Logging – Capture all emails sent from your WordPress site for streamlined debugging and compliance. Especially useful for WooCommerce stores tracking order emails alongside other site events.
- Export to CSV – Export your Activity Log data to CSV, or build support for your own format with our dedicated Export API.
- Data Privacy and GDPR Compliance – Export or erase log data directly through the WordPress Privacy Tools.
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.
With the Activity Log you can record:
- WordPress – Core updates
- Posts – Created, updated, deleted
- Pages – Created, updated, deleted
- Custom Post Type – Created, updated, deleted
- Tags – Created, updated, deleted
- Categories – Created, updated, deleted
- Taxonomies – Created, updated, deleted
- Menus – Created, updated, deleted
- Media – Created, updated, deleted
- Comments – Created, approved, unapproved, trashed, untrashed, spammed, unspammed, deleted
- Users – Login, logout, login failed, update profile, registered, deleted
- Plugins – Installed, updated, activated, deactivated, changed
- Themes – Installed, updated, deleted, activated, changed (Editor and Customizer)
- Widgets – Added to sidebar, deleted from sidebar, order widgets
- Setting – General, writing, reading, discussion, media, permalinks
- Options – Extended custom settings for 3rd party plugins
- Export – Exported activity log file
- Request Source – WP Admin, REST API, WP-CLI, WP-Cron, XML-RPC, WP Abilities, and Application Password name when used
- WooCommerce – Track products, orders, customers, and more
- bbPress – Forums, topics, replies, taxonomies, and other actions
- Emails sent from WordPress site – Sending successful, sending failed
- There’s more, of course, but you get the point…
For each event recorded by the activity log, the following details are also logged:
- Date and time of occurrence
- User and user role responsible for the change
- Source IP address from which the change originated
- Request source — WP Admin, REST API, WP-CLI, WP-Cron, XML-RPC, or WP Abilities
- Affected object where the change occurred
Data Storage and Performance
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.
Uninstall Clean-up
Uninstalling the plugin removes all of its data from your database automatically, leaving nothing behind.
What users have to say
- “Its tools, particularly for data privacy and GDPR compliance, make it indispensable for websites operating within European Union boundaries or dealing with EU citizens’ data” – HubSpot.com
- “If you’re after a competent WP security audit log plugin with all the basic features you need, Activity Log is it!” – WPAstra.com
- “Activity Log features a remarkably straightforward dashboard interface, providing administrators with an at-a-glance understanding of site interactions” – Malcare.com
- “Thanks to this step, we’ve discovered that our site was undergoing a brute force attack” – Artdriver.com
- “Activity Log lets you track a huge range of activities. Overall, very easy to use and setup” – ElegantThemes.com
Contributions:
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.
Installation
- Upload plugin files to your plugins folder, or install using WordPress’ built-in Add New Plugin installer
- Activate the plugin
- Go to the plugin page (under Dashboard > Activity Log)
Faq
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.
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.
Reviews
Good
By taki04 on October 27, 2024
woring and easy to use thank
Fantastic
By Abdullah Al Nadim (developernadimul) on January 20, 2024
Love it_ Very Easy To Use
I loveit
By matteo raggi (whichtransfers) on December 9, 2023
It is easy and I use it for 2 webitess for now and completely free, thanks!
Mandatory on a multi user install. So helpful.
By Bjarne Oldrup (oldrup) on October 14, 2023
Being able to see what preceded an error on a website is so immensely helpful that you cannot imagine it before you actually try it.
Especially when working with clients. So many times have we been able to identify the cause of an issue, as we could see that “Oh, this person edited that page last Monday” or “Aha, function x stopped working after updating plugin y”.
It's also valuable to check if someone else is working on a website, before making major changes, not disturbing each of the others work.
Activity Log is installed on all my websites, and has been for years. It fills a gap that, weirdly enough, is present in a CMS that encourages multiple users and roles.
Highly recommended. Five stars easily ⭐⭐⭐⭐⭐
Great user logs
By nicolasvsedeco on June 18, 2023
Greate user logs to go back in time to see who have done something wrong. In my opinion, this is a must plugin
Simple and Powerful Plugin
By stapolin on May 14, 2023
I have installed this plugin on all my clients websites which helps me keep track of who did what making troubleshooting any issues quick and simple when something goes wrong.
I could have created a similar plugin myself, but what's the point when the authors of Activity Log have already done such a great job? So, instead, I coded a script to send the info from this plugin to a central database where I can keep an eye on all client sites in one place, which is definitely easier than checking each one individually.
The only thing that is kind of annoying about this plugin is the Elementor ad a the top of the admin back-end. I am a big fan of Elementor for certain types of sites and use it on many sites, but I don't need or want my clients to see these ads because it looks very unprofessional.
I certainly don't mind having ads there if they support the authors in keeping plugins updated, but it can be quite annoying when they are, as the phrase goes, "in your face".
Instantly showing ads and top level nav
By Clicknathan (clicknathan) on November 8, 2022
Easy to use
By Brendan (kudoscolour) on July 8, 2022
Excellent plugin to keep an eye on your site.
By skylight (skylight9345) on June 21, 2022
Simple & Lightweight
By ddeleeuw on November 30, 2021
Changelog
2.15.0 – 2026-09-07
- New: Settings page rebuilt with React UI and REST API
2.14.1 – 2026-09-02
- Tweak: Moved Application Password badge from Source column to User column
2.14.0 – 2026-09-01
- New: Redesigned activity log admin UI built with React
- Tweak: Renamed date filter options from “Week” / “Month” to “Last 7 days” / “Last 30 days” for clarity
2.13.1 – 2026-08-26
- Fix: CSV export file missing IP column (Topic)
2.13.0 – 2026-08-24
- Removed: Email notifications feature (hidden since 2.5 for sites that never enabled it) has been fully removed
2.12.1 – 2026-08-20
- Tweak: Removed text domain loading method in favor of WordPress standard loading
- Fix: Re-release for WordPress.org after a failed deploy
2.12.0 – 2026-08-19
- New: Request Source Tracking – See where each change came from (REST API, WP-CLI, WP-Cron, XML-RPC, WP Abilities, Application Passwords)
- New: Added metadata storage for extensible log context
- Tweak: Large activity log tables no longer auto-run database migrations — an admin notice with a manual upgrade button is shown instead
2.11.2 – 2024-11-12
- Security Fix: Improved code security enforcement in theme/plugin file editor
2.11.1 – 2024-11-05
- Tweak: Added ability to search in context column
2.11.0 – 2024-07-29
- New: Added logging for enabling and disabling automatic theme updates
- New: Added logging for enabling and disabling automatic plugin updates
- New: Added logging for enabling and disabling automatic core updates
2.10.1 – 2024-04-17
- Tweak: Added option to not keep email logs (Topic)


