WordPress Activity Log: Track Every Change on Your Site
It usually starts with a question nobody can answer. A page that worked yesterday is throwing an error. A product price is wrong. A plugin you don't remember installing is suddenly active. You ask the team, and the replies come back: "Not me." "Wasn't logged in." "Maybe an update?"
WordPress, out of the box, can't tell you. There's no record of who did what, when, or what the value used to be. A WordPress activity log fixes exactly that — it writes down every meaningful change on your site so that "what happened?" has an answer instead of a shrug.
This guide explains what an activity log is, what it actually records, the real situations where it earns its keep, and how to set one up today. The thread running through all of it: a good log shows you exactly what changed, not just that something changed — with complete coverage and without the clutter.
What a WordPress activity log is (and why WordPress doesn't keep one by default)
A WordPress activity log — also called a WordPress audit log or audit trail — is a running record of events on your site. Every login, post edit, plugin update, settings change, and user-role tweak becomes a timestamped entry: who did it, when, from what IP, and (for changes) what the value was before and after.
Core WordPress doesn't keep one. It tracks post revisions for content, and that's about it. It does not record logins, plugin activations, theme switches, role changes, option updates, or WooCommerce order edits. The moment something goes wrong outside the post editor, there's no history to consult.
That's deliberate, not a bug — full audit logging is a feature most sites don't strictly need until the day they suddenly need it badly. An activity log plugin fills the gap by hooking into WordPress's actions and writing each event to its own database table, where you can search, filter, and export it later.
If you've ever stared at a broken site asking who changed my WordPress site, this is the tool that answers it.
What an activity log actually records
A capable log doesn't just note "a post was updated." It captures the detail you need to actually act. Here's the breakdown.
User logins, logouts & failed login attempts
Every successful login and logout, with username, role, IP address, and timestamp. Just as important: failed login attempts. A handful of failures is someone fat-fingering a password. Two hundred against admin overnight is a brute-force attack in progress — and the log is where you spot the pattern. (We go deep on this in WordPress failed login attempts.)
Content edits — posts, pages, custom fields — with before/after
This is where a good log separates itself. Don't settle for "Page 'Pricing' was updated." You want to see what changed in that update — the old title next to the new one, the old custom-field value next to the new value, the status change from draft to published. Logify records content edits with a before/after comparison so you can read the diff at a glance instead of guessing.
That difference matters most under pressure. "The pricing page is wrong" is a panic. "The price field changed from 49 to 9 at 4:12 PM by editor jdoe" is a thirty-second fix.
Plugin, theme & core changes
Plugin installs, activations, deactivations, deletions, and updates. Theme switches and edits. WordPress core updates. This is the category that solves the classic "the site broke after something updated" mystery — the log tells you precisely which plugin went from 3.1 to 3.2 two minutes before the error appeared.
User role & settings changes
New users created, users deleted, password resets, and — critically — role changes. A subscriber quietly promoted to administrator is one of the loudest signals of a compromised site, and it's invisible without a log. Settings and option changes (permalinks, site URL, active theme, plugin options) are recorded too, so configuration drift stops being a mystery.
WooCommerce & SEO changes — your edge
Most activity logs stop at core WordPress and leave you blind where it hurts. Logify ships a dedicated WooCommerce Logger and a Yoast SEO Logger.
The WooCommerce Logger tracks order status changes, product edits (including price and stock), coupon changes, and refunds — so when a price or a discount looks wrong, you see who changed it and what it was before. (Full detail in the WooCommerce activity log guide.)
The Yoast SEO Logger captures changes to meta titles, descriptions, canonical URLs, robots directives, and redirects — the SEO settings that silently tank rankings when someone "just tidies things up." These two areas are high-intent and badly under-served by the rest of the category, and they're exactly where a missing log costs you money.
6 real situations where an activity log saves you
The value isn't theoretical. Here are the moments it pays for itself.
-
The site broke and nobody knows why. Sort the log by time, find the window before the error, and read what changed — a plugin update, an edited template, a toggled setting. You go from guessing to knowing in minutes.
-
Client accountability. A client swears they didn't touch the homepage, then it changes anyway. The log shows the edit, the user, and the timestamp — no argument, just a record. This is gold for multi-author teams where "not me" is the default answer.
-
Spotting a hack early. A new admin user at 3 AM from an unfamiliar country, a wave of failed logins, a plugin you didn't install going active — these show up in the log before they show up as visible damage. Early detection is the difference between a cleanup and a disaster.
-
Multi-author and agency teams. When five people have edit access, "who published that?" needs an answer that isn't a group email. The log attributes every action to a specific user.
-
Compliance evidence. GDPR and HIPAA reviews ask for a record of who accessed and changed what. An exportable audit trail is the artifact you hand over. (See WordPress audit log for GDPR & HIPAA compliance.)
-
Agency client reports. "Here's everything we did on your site this month" is far more convincing as a filtered, exported log than a paragraph of recollection.
How to set up an activity log in WordPress (step by step)
Setup takes a few minutes. Here's the path from install to your first exported report using Logify.
1. Install and activate
From your dashboard, go to Plugins → Add New, search for Logify, install, and activate. Logging starts immediately — there's nothing to configure before events begin recording. The full walkthrough lives in Getting Started.
2. Read the first-run dashboard
Open the Logify menu and you land on the Dashboard. Stat tiles across the top — Total Events, Today, Last 7 Days, Last 30 Days, and High Severity — give you the at-a-glance picture, with a 30-day activity chart and cards for the most active event types and users. This is your "is today normal?" view.
3. Filter by user, IP, and date
The Activity Log screen is the working surface. Use the filter bar to narrow by event type, user, minimum severity, and date range. Hunting a specific change? Filter to the user and the day and you've cut thousands of rows down to a handful. A colour-coded Severity column tells you which entries to read first.
4. Read a before/after diff
Click into a content-edit entry and you'll see the before/after comparison — the old value beside the new one. This is the step that turns "something changed" into "this changed, by this person, at this time." Don't skip it; it's the whole point.
5. Set up alerts
For the events you can't afford to miss — a new admin, a brute-force burst, a critical-severity action — set up notifications so you're tapped on the shoulder in real time via email, Slack, webhook, or syslog. Prefer a once-a-day summary? The email digest lands a curated recap in your inbox so you stay informed on the weeks you never open the dashboard.
6. Export a report
When you need to hand the log to a client, an auditor, or your future self, head to Export Logs. Apply the same filters, pick a format — CSV, JSON, HTML, plain text, or an audit-ready PDF — and download. The PDF is a paginated, titled document built to attach to a compliance record or client report without further formatting.
How to keep your log fast and your database lean
The first objection to any activity log is "won't this slow my site down?" Fair question — a log that records everything forever will bloat a database. The answer is to log smart, not log everything.
Use exclusion rules. Logify's exclusion rules let you drop noise before it's written — exclude your own admin user during heavy maintenance, exclude a cron-monitoring service's IP, and drop autosave/auto-draft churn. Excluded events never touch the database, so they never bloat it or clutter your reports. This single feature is the difference between a clean, useful log and an unreadable firehose.
Set a retention period. You rarely need three years of every informational event. Keep the full log for a defined window (say 90 or 180 days) and let older entries age out automatically, while exporting periodic snapshots for anything you must retain long-term. Data-retention controls keep the table from growing without bound.
Trust the architecture. Logify writes to its own indexed table, not into wp_options or wp_posts, and network calls for notifications run on short timeouts that can never delay a page load. Combined with exclusions and retention, that's how you get complete coverage without the performance tax — the "simple but complete" balance the cluttered alternatives miss. There's more in troubleshooting if you ever need to tune it.
Activity log vs security plugin — do you need both?
They overlap but solve different problems, and yes, most serious sites run both.
A security plugin (firewall, malware scanner, login hardening) is preventive — it tries to stop bad things from happening: blocking malicious requests, rate-limiting logins, scanning files for injected code.
An activity log is forensic and accountable — it records what actually happened so you can investigate, prove, and report. A firewall might block an attack; the log tells you what an attacker (or a careless team member) changed if something slipped through. A scanner flags a modified file; the log tells you which user account modified it and when.
Security plugins answer "is someone attacking me?" Activity logs answer "what changed, and who changed it?" You want both. Where Logify focuses is the second question — answering it with before/after clarity and coverage that reaches into WooCommerce and SEO, areas a security scanner ignores entirely. If you're weighing options, the best WordPress activity log plugins roundup and our Simple History alternative comparison put the choices side by side.
Conclusion
A WordPress activity log turns "what happened?" from a panic into a lookup. It records logins and failed attempts, content edits with before/after detail, plugin and theme changes, role and settings changes, and — where Logify pulls ahead — WooCommerce and Yoast SEO changes that most logs ignore. Set it up before you need it, keep it lean with exclusions and retention, and pair it with a security plugin for prevention.
This is a crowded, mature category, and the big incumbents log plenty. Where Logify earns a look is clarity: a fast, uncluttered UI that shows you exactly what changed, not just that something did, with complete coverage and none of the noise. Install it from WordPress.org, or see the full feature set and Pro options at kaizencoders.com/logify. Compare tiers in free vs Pro.
FAQs
How long are logs kept?
For as long as you choose. You set a retention window — keep, say, the last 90 or 180 days live and let older entries age out automatically to keep the database lean. For anything you must retain longer (compliance records, for instance), export periodic snapshots before older entries roll off.
Will it slow my site down?
Not noticeably, if it's configured well. Logify writes to its own indexed table rather than into core WordPress tables, network calls for notifications run on short timeouts that can't delay a page load, and exclusion rules let you drop noise before it's ever written. Logging smart — not logging everything — keeps both the site and the database fast.
Can I see who is logged in right now?
The activity log shows logins and logouts with timestamps, so you can see who logged in and whether they've logged out. The dashboard gives you the at-a-glance view of recent and current activity, including the most active users in the period.
Can I export logs for compliance?
Yes. The Export Logs screen produces CSV, JSON, HTML, plain text, or a paginated, audit-ready PDF — all respecting whatever filters you've applied. The PDF is built to hand straight to an auditor or attach to a compliance record. See the GDPR & HIPAA audit log guide for what reviewers typically ask for.
Does it track WooCommerce?
Yes. Logify includes a dedicated WooCommerce Logger that records order status changes, product edits (including price and stock), coupon changes, and refunds — with the same before/after detail as the rest of the log. The full breakdown is in the WooCommerce activity log guide.