Skip to content
Free · Open Source · Self-Hosted

Know what your WordPress site is really doing

Three essential monitoring tools in one clean plugin. Watch every cron execution, capture every email, audit every change — all locally stored, with zero cloud dependency and no subscription.

Modules
3
PHP
8.1+
Overhead
Zero
/wp-admin/admin.php?page=emnes-oversight
Cron
247
logged today
Email
1,834
sent · 12 failed
Audit
62
events · 2 critical
Cron Activity · 7 days
Recent Activity
14:32wp_scheduled_delete completed (182ms)
14:31Order receipt sent to customer@ex...
14:29Admin updated `siteurl` option
14:28Failed login · 203.0.113.45
v1.0.0 GPL-2.0
No telemetry Self-hosted GDPR ready

Three tools. One plugin.

Everything you wish WordPress told you, but never does.

Cron Monitor

WP-Cron fails silently. Newsletters stop sending. Backups stop running. Cache stops clearing. You find out weeks later. Oversight watches every execution — timing, memory, status, and full error traces.

  • Timing & memory per execution
  • Pause, resume, manually run
  • Custom schedules (every 5 min)
  • Overdue event detection

Email Log

WordPress silently drops emails. Password resets. Order receipts. Contact form notifications. The plugin fires wp_mail() and hopes for the best. Oversight captures everything.

  • Full body, headers & attachments
  • Originator detection via backtrace
  • One-click resend on failure
  • Delivery status & error reason

Audit Trail

"Who activated that plugin?" "When did this setting change?" "Why is this user role different?" Oversight answers with a searchable timeline filtered by user, action, context, and severity.

  • Logins, logouts, failed attempts
  • Post, user, option & plugin changes
  • Before/after values stored
  • 6 severity levels

Built for production

Everything you need. Nothing you don't.

Smart defaults. Zero overhead when modules are off. Full control when you need it.

Unified Dashboard

Stats at a glance. Three modules, one admin page. No jumping between separate logging plugins or reading three different tables.

REST API

12+ endpoints covering every module. Build your own dashboards, sync logs to external systems, or automate purge operations. emnes-oversight/v1 namespace.

WP-CLI Support

6 commands for status, purge, export, cron diagnostics, settings, and health checks. Scriptable for any ops workflow. wp oversight status.

Privacy First

All data stays in your WordPress database. No external services. No tracking. No telemetry. IP addresses only from REMOTE_ADDR; proxy headers explicitly not trusted.

GDPR Export & Erasure

Full integration with WordPress Privacy tools. Export a user's audit logs or erase them on request. Privacy policy suggestion auto-registered.

Per-Module Retention

Keep cron logs 30 days, emails 60 days, audit 90 days — or any range from 1 to 365. Configured independently. Daily automatic purge keeps the database lean.

Zero Overhead When Off

Disable a module and its providers don't even register. No dormant hooks firing. No queries running. Your site runs exactly as fast as it did before installing.

Settings Import/Export

Back up your entire plugin configuration as JSON. Restore on another site. Multisite consistency in one command. Perfect for staging / production parity.

Site Health Integration

Three custom checks for database tables, purge schedule, and module status. Show up in Tools → Site Health. Your site admins know at a glance if Oversight is running correctly.

Per-Module Toggles

Don't need email logging? Switch it off. Want audit only? Check one box. Each of the three modules is fully independent — turning one off completely disables its code path.

Modern PHP

Built on PHP 8.1+ with strict types, readonly properties, enums, and match expressions. PHPStan level 7 — fewer bugs, faster code, future-proof architecture.

Auto Cleanup

Daily background purge removes old entries based on your retention policy. No manual maintenance. No database admin needed. Set it and forget it.

Emnes Oversight Pro

Need alerts, dashboards, and log shipping?

Pro turns the free plugin into a serious observability stack. Real-time Slack alerts. Anomaly detection. Live charts. Elasticsearch, Datadog, and Syslog shipping. S3 archival. Compliance reports. Multisite network dashboard.

  • Slack & Discord real-time notifications
  • Login security — auto-block IPs & usernames on brute-force attempts
  • Google reCAPTCHA v3 with score-threshold validation
  • Anomaly detection (failed logins, bulk changes, off-hours activity)
  • Chart.js live dashboards with 7-day trends
  • Elasticsearch, Datadog, Syslog log shipping
  • S3 archival with retention policies
  • Visual diff viewer for audit changes
  • User session timelines across all three modules
  • WooCommerce order and product tracking
  • Multisite network dashboard
  • SMTP diagnostics & DNS validation
  • Compliance reports ready for auditors
  • Admin bar performance metrics
Slack
Discord
Amazon S3
Elasticsearch
Datadog
Syslog
Chart.js
WooCommerce
Multisite

Built for

Who uses Emnes Oversight?

Developers

Modern PHP 8.1+ codebase. Full REST API, WP-CLI, action/filter hooks. Extend everything without forking.

Site Owners

Find out why emails aren't sending, catch silent cron failures, and prove nobody broke the site — all from one plugin.

Hosts & Agencies

Transparent audit trails for client sites. Export logs for forensic review. Track changes to prove you didn't touch it.

Security Teams

Every failed login logged with IP and user-agent. Plugin changes tracked. Suspicious activity visible in seconds.

PHP 8.1+
Strict types, enums, readonly
PHPStan L7
Strict static analysis
12+
REST API endpoints
GPL-2.0
Open-source licensed

Technical Reference

Deep-dive documentation for every feature & service

Every module, hook, and REST endpoint — with file paths, line numbers, database schemas, and extension points. Built for developers who want to extend, integrate, or audit the code.

Questions & answers

Frequently asked

Does this slow down my site?
No. Cron hooks only fire during actual WP-Cron execution (DOING_CRON), not on regular page loads. Admin assets only load on Oversight's own pages. Modules you disable don't register their service providers — zero overhead.
Where is the data stored?
Three custom tables inside your WordPress database (wp_emnes_oversight_cron_logs, wp_emnes_oversight_email_logs, wp_emnes_oversight_audit_logs). Nothing leaves your server.
Will logs fill up my database?
Not if you set a reasonable retention. For a site sending 1,000 emails/day with 30-day retention, that's roughly 30,000 rows — a few MB at most. Tables are properly indexed. Daily automatic purge handles cleanup.
Does it work with multisite?
Yes, on individual sites within a network. Each site gets its own logs. Network-wide aggregation is available in Pro.
Is it GDPR compliant?
The plugin captures user IPs and user-agent strings in the audit trail. Disclose this in your privacy policy. We provide WordPress Privacy tool hooks so admins can export or erase user data on request. IP addresses come only from REMOTE_ADDR — proxy headers are not trusted.
Can other plugins extend it?
Absolutely. Every log operation has before/after action and filter hooks. The Pro add-on is built entirely on these extension points — no forking required. Full REST API is available to any authenticated admin.
What PHP version do I need?
PHP 8.1 or higher. The plugin uses modern language features (enums, readonly properties, match expressions) — cleaner, safer code. PHP 8.0 and earlier are not supported.

Stop flying blind. Start knowing.

Install the free plugin in two clicks. No account. No subscription. No external dependencies. Your data stays yours.

100% open source · Zero telemetry · No registration required · GPL-2.0-or-later