{"id":6935,"date":"2026-11-10T10:33:30","date_gmt":"2026-11-10T09:33:30","guid":{"rendered":"https:\/\/wpmastertoolkit.com\/module\/activity-log\/"},"modified":"2026-11-10T11:23:23","modified_gmt":"2026-11-10T10:23:23","slug":"activity-log","status":"publish","type":"module","link":"https:\/\/wpmastertoolkit.com\/en\/module\/activity-log\/","title":{"rendered":"Activity Log"},"content":{"rendered":"<h1 class=\"wp-block-heading\">Activity Log Module: A history of everything that happens on your WordPress site<\/h1>\n\n\n\n<p class=\"wp-block-paragraph\">Who edited this page? Who disabled this extension? When did this account's role change? The module <strong>Activity Log<\/strong> WPMasterToolKit logs actions performed on your site (users, content, media, menus, comments, plugins, themes, settings, and\u2014in the Pro version\u2014WooCommerce) and displays them in a log that can be viewed from the admin panel. The plugin is available in a free version; certain features are exclusive to the Pro version.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Which plugin can this module replace?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Activity Log covers most of what activity log extensions offer, such as <strong>Simple History<\/strong>, <strong>WP Activity Log<\/strong> or <strong>Stream<\/strong> : connections, content changes with before-and-after values, installing and updating extensions, and changes to sensitive settings. That's one less extension to install and maintain.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Main features<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">More than 100 events, sorted by category<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Users:<\/strong> logging in, logging out, creating, deleting, changing roles, registering, changing passwords, email addresses, display names, or websites, Super Admin privileges, application passwords, and password reset requests.<\/li>\n\n\n\n<li><strong>User Access<\/strong> (disabled by default): Viewing another user's profile; access denied by the administration.<\/li>\n\n\n\n<li><strong>Content:<\/strong> creating, moving to the trash, restoring, and deleting content; field-by-field edits (title, content, excerpt, author, permalink, publication date, status, visibility, featured image, template, categories, tags, etc.); taxonomy terms; media; navigation menus.<\/li>\n\n\n\n<li><strong>Content Access<\/strong> (disabled by default): content opened in the editor, content viewed, access granted or denied to password-protected content.<\/li>\n\n\n\n<li><strong>Comments:<\/strong> creation, reply, edit, approval, spam, trash, restore, permanent deletion.<\/li>\n\n\n\n<li><strong>Website and software:<\/strong> Enabling, disabling, installing, updating, and removing plugins and themes; updating WordPress; changing the site address, the administrator email address, the permalink structure, search engine visibility, user registration settings, and the default user role.<\/li>\n\n\n\n<li><strong>WooCommerce (Pro):<\/strong> products and variations, orders, refunds, coupons, shipping zones and methods, taxes, payment gateways, and WooCommerce settings, with details on the modified fields (price, SKU, inventory, order status, etc.). The category <strong>WooCommerce Access<\/strong> (Pro, disabled by default) also tracks product views, orders, and file downloads.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Each event can be enabled or disabled individually in the \u00abEvents to Record\u00bb section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1352\" height=\"490\" src=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-events-to-record.webp\" alt=\"Activity Log: Selecting Events to Log by Category\" class=\"wp-image-6946\" srcset=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-events-to-record.webp 1352w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-events-to-record-300x109.webp 300w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-events-to-record-1024x371.webp 1024w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-events-to-record-768x278.webp 768w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-events-to-record-18x7.webp 18w\" sizes=\"(max-width: 1352px) 100vw, 1352px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">An easy-to-read log with before-and-after details<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The \u00abRecent Activity\u00bb section displays events from newest to oldest: date (UTC), event, user, and affected object. Clicking \u00abDetails\u00bb reveals useful information: old and new values, content title, and source of the action (interface, system, or WP-CLI). You can select the day you want to view from the list of daily logs. In the Pro version, filters by event, user, and object let you find an action in just a few seconds.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1350\" height=\"620\" src=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-recent-activity.webp\" alt=\"Activity Log: &quot;Recent Activity&quot; table with filters and before\/after details\" class=\"wp-image-6945\" srcset=\"https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-recent-activity.webp 1350w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-recent-activity-300x138.webp 300w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-recent-activity-1024x470.webp 1024w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-recent-activity-768x353.webp 768w, https:\/\/wpmastertoolkit.com\/wp-content\/uploads\/2026\/11\/wpmtk-activity-log-recent-activity-18x8.webp 18w\" sizes=\"(max-width: 1350px) 100vw, 1350px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Retention and Purge<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In the free version, the history is retained for one month. With the Pro version, you can choose to keep everything or delete events older than a certain number of days, months, or years (3 months by default). The cleanup runs daily via the WordPress cron job, and the \u00abPurge Old Data\u00bb button triggers an immediate purge.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Exclusions (Pro)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">To maintain a relevant log, the Pro version allows you to exclude certain users, roles, IP addresses (IPv4, IPv6, or CIDR ranges), or content types from being logged. Entries that have already been logged remain unchanged.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Restricted Access (Pro)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">By default, all administrators can view the log. In the Pro plan, the \u00abOnly me\u00bb option restricts access to the administrator who configured it; if that account loses its administrative privileges, access is restored to the other administrators.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to use this module<\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Activate the <strong>Activity Log<\/strong> in WPMasterToolKit, then open <strong>WPMasterToolkit &gt; Activity Log<\/strong>.<\/li>\n\n\n\n<li>Under \u00abEvents to record,\u00bb expand each category and check the events you want to track. Enable \u00abUser access\u00bb or \u00abContent access\u00bb if you also want to track page views.<\/li>\n\n\n\n<li>In Pro, configure the retention period, exclusions, and access to the module.<\/li>\n\n\n\n<li>Click \u00abSave.\u00bb.<\/li>\n\n\n\n<li>Check the activity in the \u00abRecent Activity\u00bb section and click \u00abDetails\u00bb to see what has changed.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">Our technical choices<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Daily files rather than the database:<\/strong> Events are recorded in <code data-no-auto-translation=\"\">wp-content\/wpmastertoolkit\/activity-log\/<\/code>, one file per day (and per site in a multisite installation), in JSON format, with one line per event. The database does not grow, and purging involves deleting entire files.<\/li>\n\n\n\n<li><strong>Protected logs:<\/strong> Each file begins with a PHP statement that returns a 404 error if called directly, with restricted access permissions. The module regularly checks to ensure that the logs are not accessible from the web, and suspends writing if they are.<\/li>\n\n\n\n<li><strong>Sensitive data masked:<\/strong> Certain data (billing and shipping addresses, promo codes, webhook URLs, etc.) are stored in a masked format.<\/li>\n\n\n\n<li><strong>Reliable IP blocking:<\/strong> The comparison is based on the connection address as seen by the server, without relying on proxy headers, which may be forged.<\/li>\n\n\n\n<li><strong>A Preserved History:<\/strong> Disabling the module stops the scheduled purge without deleting existing logs.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">For Developers<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Every event involves action <code data-no-auto-translation=\"\">wpmastertoolkit\/activity_log\/event<\/code>, including the event ID, user, object type, object ID, and details. You can connect to it using <code data-no-auto-translation=\"\">add_action()<\/code> to respond to an activity, such as forwarding it to an external tool.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Activity Log provides a clear overview of who is doing what on your site, without requiring any additional plugins and without slowing down the database. The free version already covers users, content, comments, and plugins; the Pro version adds WooCommerce, filters, exclusions, and a configurable retention period.<\/p>","protected":false},"excerpt":{"rendered":"<p>The Activity Log module in WPMasterToolKit logs actions performed on your WordPress site (logins, content, media, menus, comments, plugins, themes, settings) with before-and-after details in secure daily log files. Pro Version: WooCommerce support, filters, exclusions by user, role, IP address, or content type, and configurable retention period.<\/p>","protected":false},"featured_media":0,"parent":0,"template":"","meta":{"_acf_changed":false,"_surecart_dashboard_logo_width":"180px","_surecart_dashboard_show_logo":true,"_surecart_dashboard_navigation_orders":true,"_surecart_dashboard_navigation_invoices":true,"_surecart_dashboard_navigation_subscriptions":true,"_surecart_dashboard_navigation_downloads":true,"_surecart_dashboard_navigation_saved":true,"_surecart_dashboard_navigation_billing":true,"_surecart_dashboard_navigation_account":true},"wpmtk_module_category":[],"class_list":["post-6935","module","type-module","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/module\/6935","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/module"}],"about":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/types\/module"}],"wp:attachment":[{"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/media?parent=6935"}],"wp:term":[{"taxonomy":"wpmtk_module_category","embeddable":true,"href":"https:\/\/wpmastertoolkit.com\/en\/wp-json\/wp\/v2\/wpmtk_module_category?post=6935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}