Stream – Activity Log & Audit Trail
Stream is a complete activity log and audit trail for your WordPress site: see what changed, who changed it, and when. From plugin activations to post edits, login attempts to new user creation, every user and system action is recorded in an audit log built for debugging, security monitoring, and compliance. Every logged action is displayed in an activity stream and organized for easy filtering by User, Role, Context, Action or IP address. Admins can highlight entries in the activity log—such as suspicious user activity—to investigate what’s happening in real time. Stream also lets you configure email alerts and webhooks for integrations like Slack and IFTTT, so your team knows the moment something goes wrong. Stream keeps its own logs healthy too: records are automatically purged on the retention schedule you choose, with batched deletion and orphaned-data cleanup that stay reliable even on very large sites. Stream is also AI-ready: its abilities are exposed through the WordPress Abilities API and MCP Adapter, so AI assistants and other tools can securely query your site’s activity records. For advanced users, Stream supports a network view of all activity records on your Multisite, exclude rules to ignore certain kinds of user activity, and a WP-CLI command for querying records. Stream is free and fully open source — development happens in the open on GitHub, maintained by XWP. With Stream’s powerful activity logging, you’ll have the information you need to responsibly manage your WordPress sites. Built-In Tracking Integrations For Popular Plugins: Advanced Custom Fields bbPress BuddyPress Easy Digital Downloads Gravity Forms Jetpack Two Factor User Switching WooCommerce Yoast SEO Built-In Tracking For Core Actions: Posts Pages Custom Post Types Users Themes Plugins Tags Categories Custom Taxonomies Settings Custom Backgrounds Custom Headers Menus Media Library Widgets Comments Theme Editor WordPress Core Updates Other Noteworthy Features: Multisite view of all activity records on a network Limit who can view user activity records by user role Set exclude rules to ignore certain kinds of user activity Live updates of user activity records in the Stream Export your Activity Stream as a CSV or JSON file WP-CLI command for querying records Configuration Most of the plugin configuration is available under the “Stream” → “Settings” page in the WordPress dashboard. Request IP Address The plugin expects the $_SERVER['REMOTE_ADDR'] variable to contain the verified IP address of the current request. On hosting environments with PHP processing behind reverse proxies or CDNs the actual client IP is passed to PHP through request HTTP headers such as X-Forwarded-For and True-Client-IP which can’t be trusted without an additional layer of validation. Update your server configuration to set the $_SERVER['REMOTE_ADDR'] variable to the verified client IP address. As a workaround, you can use the wp_stream_client_ip_address filter to adapt the IP address: add_filter( 'wp_stream_client_ip_address', function( $client_ip ) { // Trust the first IP in the X-Forwarded-For header. // ⚠️ Note: This is inherently insecure and can easily be spoofed! if ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) { $forwarded_ips = explode( ',' $_SERVER['HTTP_X_FORWARDED_FOR'] ); if ( filter_var( $forwarded_ips[0], FILTER_VALIDATE_IP ) ) { return $forwarded_ips[0]; } } return $client_ip; } ); ⚠️ WARNING: The above is an insecure workaround that you should only use when you fully understand what this implies. Relying on any variable with the HTTP_* prefix is prone to spoofing and cannot be trusted! Known Issues We have temporarily disabled the data removal feature through plugin uninstallation, starting with version 3.9.3. We identified a few edge cases that did not behave as expected and we decided that a temporary removal is preferable at this time for such an impactful and irreversible operation. Our team is actively working on refining this feature to ensure it performs optimally and securely. We plan to reintroduce it in a future update with enhanced safeguards. Contribute There are several ways you can get involved to help make Stream better: Report Bugs: If you find a bug, error or other problem, please report it! You can do this by creating a new topic in the plugin forum. Once a developer can verify the bug by reproducing it, they will create an official bug report in GitHub where the bug will be worked on. Translate into Your Language: Use the official plugin translation tool to translate Stream into your language. Suggest New Features: Have an awesome idea? Please share it! Simply create a new topic in the plugin forum to express your thoughts on why the feature should be included and get a discussion going around your idea. Issue Pull Requests: If you’re a developer, the easiest way to get involved is to help out on issues already reported in GitHub. Be sure to check out the contributing guide for developers. Thank you for wanting to make Stream better for everyone! View contributors here.
Top keywords
- stream16×1.97%
- activity13×1.60%
- ip12×1.48%
- user10×1.23%
- records8×0.99%
- address6×0.74%
- client6×0.74%
- client ip6×0.74%
- ip address6×0.74%
- activity records5×0.62%
- custom5×0.62%
- forwarded5×0.62%
User Activity Tracking and Log
Track user activity & duration on your website with this incredibly powerful, easy-to-use and well supported plugin. This plugin is privacy-friendly: it stores no cookies on users’ computers and therefore requires no cookie opt-in from users (unlike Google Analytics or Google Tag Manager). The plugin is especially useful for tracking users on membership sites, LMS online learning systems or WooCommerce sites. It can track both logged-in and anonymous users. You can track page visits, duration of the visit, login and logout time, and you can even setup event goal triggers too (ie. click of a button, PDF download, mailto links and more). Our plugin will accurately track time spent on specific pages which is very useful when you’d like to monitor user’s reading time, video watching time, tracking time in LMS online learning system, or how long users look at your e-commerce product pages before purchasing. Key Features Simple & intuitive Powerful search, export options, API endpoints Compatible with WooCommerce and other user registration plugins Tracks both logged-in and non logged-in users (ie. unknown users) GDPR / CCPA / privacy ready (IP address can be stored in anonymized format) Privacy-friendly: stores no cookies on users’ computers Local Data Storage: all user data is stored locally on your website only; we do not collect or store any of your user data on our servers Premium Features Time tracking & Session Duration: see the duration of user visits in the activity logs Login/logout time: see the exact time when users login and logout from your site Event goal tracking: setup event goal triggers for various actions that users take on your site (ie. click on a specific button, PDF download, mailto links and more) [NEW] Email notifications: receive email notifications when an event was triggered Auto logout: setup automatic logout for idle users to improve your analytics Track all custom post-types and archives Anonymize IP addresses Export logs to CSV Track specific roles: track logged-in users only or only certain roles such as subscribers Rest API endpoints for activity logs in JSON format Custom timezone Advanced Filters Download the Premium Add-on here Demo Video Event Triggers Video Tutorial Activity data that will be logged: Login date and time Logout date and time Last seen Session Duration Username & email (if user is logged-in) User role Activity Page name and URL IP address Location (by IP Address) Referrer URL Testimonials ★★★★★ “Tried many, but this one had just what I wanted. I like this plugins feature set, minimal but exactly what I need to see. Helps me to send offers on a WooCommerce digital content site when I notice users are looking at a particular product often, but not purchasing. A little nudge helps and this plugin puts that info in a place I can easily see.” – Ryan ★★★★★ “Simple to install & performs well. The reporting is clear and very useful!” – hannahfinch ★★★★★ “Very useful plugin!! I was looking for something to track users on our website. This plugin is exactly what I needed. You can track activity and users. You can see who visited which pages, and the referring page they came from. The premium version gives you even more useful features like tracking only users who are logged in, additional view options, and so on. Excellent plugin, highly recommended!!” – msiciliano About us Moove Agency is a premium supplier of quality WordPress plugins, services and support. Visit our site to learn more.