‹ All plugins
Plugin for WordPress Stable Free

Ravnsight Detective

See what happened inside your WordPress site – and what it is correlated with.

Version
1.2.2
WordPress
6.5+
PHP
8.1+
Tested up to
7.1
Downloads
72

You do not need WordPress to use Ravnsight. External monitoring works for any site. See what the platform does

Ravnsight Detective

About

About the plugin

Records errors, updates, cron and performance inside your WordPress site — on its own, a sharper debug log. Connected to Ravnsight (Pro) it lines those events up with what the external monitor saw, so "the site is down" becomes "the checkout broke two minutes after plugin X was updated". It observes and diagnoses; it never changes anything.

What it records

PHP errors and fatals grouped by message and attributed to the plugin or theme that raised them. Every plugin, theme and core update with version before and after. Cron and Action Scheduler runs, slow hooks, slow database queries and external HTTP requests. All of it stays on your site until you decide to connect it.

What it never does

Detective never auto-updates, never deactivates plugins on its own, never cleans your database and never optimises anything. Investigation Mode and isolation testing (both free) let you name the problem and test a hypothesis – "is it plugin X?" – in an isolated session that only you see; visitors are never affected.

Overhead budget

At most 5 ms and 2 MB on an ordinary uncached front-end request. That budget is enforced by an automated benchmark in our build pipeline; if it fails, the release does not ship.

What it does

Built to observe, never to guess

  1. 01

    Error Detective

    Fatals and warnings grouped, counted and attributed to the component that raised them.

  2. 02

    Change Detective

    A timeline of every update and configuration change, with before/after versions.

  3. 03

    Performance

    Slow hooks, slow queries and external requests – per request, without profiling tools.

  4. 04

    Correlation (Pro)

    Inside events lined up with the external monitor. Confidence is LOW / MEDIUM / HIGH / CONFIRMED, never a percentage.

  5. 05

    Ravnsight AI analysis (Pro)

    Connect the site and the platform's AI reads everything – the outside-in view, the signals and the site from the inside – summarising the current state with the most likely causes and an honest confidence level.

  6. 06

    Investigation Mode (free)

    Start from the problem — slow, white screen, broke after an update — get the likely cause with evidence and a confidence level, then confirm it with a safe isolated test only you see.

  7. 07

    Privacy by default

    No external requests until you connect the site. Secrets are redacted before anything leaves.

Free vs Pro

The plugin is free. The connection is Pro.

Everything the plugin records stays on your site and is useful on its own. Connecting the site to Ravnsight (Pro) is what lines it up with the outside view.

Free (plugin only)Pro (connected)
Grouped PHP errors with component attribution
Update and configuration timeline
Cron, Action Scheduler, slow queries, external requests
Stays entirely on your site, no external requests Opt-in connection
Correlation with external monitoring (outside + inside) –
Investigation mode – isolated test sessions –
Incidents, errors and changes across all your sites –
Alerts to Slack, SMS, webhooks –

Pro is a Ravnsight plan, not a plugin licence – one subscription covers monitoring and every connected site. See plans

Documentation

Getting started and guides

Questions & answers

Questions & answers

No. It reads and records. It never updates, deactivates, cleans or optimises anything – not even when it is sure what the cause is. Isolation testing applies changes only inside an isolated session that requires a signed cookie and an administrator login, and it never writes to the plugin list in the database.

Not for the free plugin – it works entirely inside WordPress and makes no external requests until you opt in. An account (Pro) is needed to connect the site and get the correlation with external monitoring.

The budget is 5 ms and 2 MB per uncached front-end request, enforced by an automated benchmark in our build. If a release breaks the budget it does not ship.

Like any other plugin: WordPress asks Ravnsight for the latest version and shows the update in your admin. Every release is listed in the changelog on this page with its checksum.

Free observes and diagnoses your site locally: every detector, a change timeline, the likely-cause correlator, Investigation Mode (start from the problem, get the likely cause with evidence and a confidence level), and the Testing tools (isolate a plugin one at a time, whole-site bisect, test with the default theme) — all in your own database, nothing sent anywhere. Pro adds the connection to the Ravnsight platform: external uptime/SSL/domain monitoring correlated with the inside view, synthetic-flow monitors (a real browser walks home → cart → checkout and alarms on a broken step or JavaScript error), a homepage snapshot on every site, team alerts that reach the right technician first (e-mail, SMS, Slack, Teams, Telegram, webhook), Safe updates of plugins/themes/core with automatic rollback (and a file rollback point even when you update from WordPress's own screen), on-site backup & restore, known-vulnerability detection, remote control from the dashboard and monthly client reports.

Everything is stored in your own WordPress database and pruned automatically. The free plugin sends nothing on its own — the single exception is the anonymized resolution outcome you can choose to share (error type, component and fix only; never your URL, account or messages). When you connect Pro, signals are pushed to Ravnsight every few minutes, HMAC-signed, and everything is redacted first: e-mail addresses, phone numbers, card-like numbers, query-string values and full server paths are stripped before anything leaves the server.

When an error is raised, PHP records the file it came from. Detective maps that file back to its plugin or theme folder and attributes the error there. Errors from WordPress core files are marked as core. It is a factual mapping from the failing file — not a guess. For the deeper "what changed right before it" question, Detective lines the error up against the change timeline.

A signal is one recorded observation — a fatal error, a warning, a slow request, a plugin update, a setting change, and so on. Identical repeats are folded into a single row with a count, so a hundred thousand repeats of the same warning is one line, not a flooded log. Each signal carries its type, severity, the component it belongs to, and when it was first and last seen.

Yes, and it goes further for shops: it records failed orders with the payment gateway involved (order number only, never customer data), watches Action Scheduler for failed or backlogged background jobs (order e-mails, renewals, webhooks), and the page probe understands the product, cart and checkout pages. The one question that matters on a shop — "did the last update break the checkout?" — is exactly what Detective answers.

Yes. JavaScript Detective records front-end JS errors from real visitors — dead buttons, forms that do nothing, carts that will not update — and attributes them to the plugin or theme that shipped the broken script. Errors from browser extensions and third-party scripts are marked external so you can ignore them. Reports go to your site’s own REST endpoint, never to a third party.

Yes — that is the whole design. Isolating a plugin applies only inside your own signed admin session; anonymous visitors always see the site exactly as normal. Isolation never writes to the active-plugins list in the database, expires after 60 minutes, and can always be ended three independent ways (a URL flag, a PHP constant, or removing the loader file). An automated test that proves a concurrent visitor is unaffected must pass before any release ships.

Before each update Detective saves a copy of the plugin’s current files (a rollback point). It runs the update, then loads a representative set of pages — the front page, a post, a product, the cart, the checkout and any page you name — and watches for new fatal errors, warnings, database errors or HTTP failures, and pre-checks the new version’s PHP/WordPress requirements. If something broke you see exactly which update did it and can roll the files back in one click. The database is never restored, so a shop’s orders are never touched.

Start from the problem instead of the logs: pick e.g. "Something broke after an update", "A page is slow" or "Error or white screen", and Detective proposes the most likely cause with its evidence and an honest confidence level – then offers a safe test to confirm it. It includes ready-made playbooks for checkout, cron, e-mail, redirects, 404s, stubborn caches and more. Investigation Mode is part of the free plugin.

Changelog

Changelog and patch notes

  • v1.2.22026-10-16

    • New timeline and dashboard design: every problem sits in one tidy list, severity is a small coloured dot, and an opened problem shows its details in clear, evenly spaced sections. A crisper typeface (Inter) now ships with the plugin itself — no external font requests. • The "Needs attention" card turns red only when something is critical; warnings alone show amber. • Repeated changes now show the LATEST value: a plugin updated 1.0 → 1.1 and later 1.1 → 1.2 reads "1.1 → 1.2" instead of keeping the first transition while the count climbs. The same goes for PHP version changes. • Resolving a problem is more compact: the note and Save sit on one row. • "External — safe to ignore" errors get a neutral badge, so they no longer look like warnings. • The page probe form on the isolation screen keeps its own neutral style. • Small code-quality fixes from WordPress Plugin Check.

  • v1.2.12026-10-14

    • Resolved problems are hidden from the timeline by default, so it shows what is CURRENT. A "Show resolved" toggle brings them back, and there's a setting for the default. • The dashboard now splits the last 24 hours by severity — Critical, Warnings, Notices & info — with a single "needs attention" number, so a pile of harmless notices no longer looks alarming. • "Hide from timeline" on any row tucks away a known-benign signal; it reappears on its own if it happens again. • Plugin/theme updates and other changes are labelled as changes, never "problems". • Repeated "Loading chunk failed" (dynamic import) errors now collapse into one row per plugin instead of one per chunk. • Action Scheduler failures now show WHICH background actions (hooks) are failing, not just a count. • A failed tracking/analytics beacon (e.g. pixel.wp.com) is marked as info — harmless to your site — instead of a scary "third-party API" warning. • When you resolve a problem you can add a short "what happened / how you fixed it" note. It stays on your site.

  • v1.2.02026-10-12

    • Database errors are now traced to the plugin that owns the table in the failing query, so a cryptic SQL error becomes "this is <plugin>, its <table>" instead of a guess. • JavaScript errors: the flood of browser noise (autoplay/media messages, ResizeObserver, browser-extension and in-app-browser errors) is filtered out, and the real ones now carry the file, line, column and stack — attributed to the script that failed, even for promise rejections. Cross-origin and extension errors are clearly marked "safe to ignore". • Mixed-content warnings list the exact insecure http:// URLs and name the plugin or theme that loads each one. • Failed and backlogged background actions (Action Scheduler) now name the hooks behind the count. • Slow-request reports keep a top list of the slowest pages, so you can see WHICH pages are slow, not just that some are. • Broken internal links are only reported for real page visits now — background scripts, prefetch, analytics and chat widgets hitting a 404 no longer raise false "broken link" alarms, and a dead link is no longer blamed on core. • A new "By type" overview on the dashboard shows how many of each kind of problem you have (fatals, database, JavaScript, performance, links, config …), colour-coded so urgent stands apart from harmless notices. • Config and health issues now clear themselves automatically as soon as the condition is fixed, instead of lingering until you mark them resolved; broken-link, config and abuse signals also auto-resolve once they stop. • A "Re-check now" button re-runs the polled checks on demand and clears anything that has gone quiet. • The environment summary now includes database size, PHP post max size and max input vars.

  • v1.1.02026-10-04

    • Prove it on the spot: every error now has a one-click "Prove it with an isolation test" shortcut. It disables the suspected plugin for your session only (visitors are never affected) so you can reproduce the problem and get an automatic verdict. • Copy a diagnosis bundle: one button copies everything Detective has found — each error together with its likely cause — as plain text, ready to paste into a support request so a technician sees exactly what is happening, and why. • An update is now treated as a possible fix only once the error actually stops occurring, not the moment it is installed — so "resolved" means resolved. • Debug-visibility reporting is now precise and consistent everywhere: Detective flags "errors shown to visitors" only when PHP errors genuinely reach your visitors. • Multisite: plugins activated for the whole network are now correctly recognised in environment, stack detection and error attribution. • Repeated errors group into a single entry with an accurate count even on high-traffic sites and non-standard installs (such as Bedrock). • The dashboard counts distinct errors rather than every repeat, and separates deprecation notices from real errors, so the headline number reflects reality. • Fewer database reads on every front-end page load. • File paths in messages are trimmed on non-standard installs too, so nothing more than needed ever leaves the site.

  • v1.0.02026-09-08

    First public release (1.0.0). Free: all local detectors, the timeline, Investigation Mode and isolation testing – runs locally without sending anything. Pro (connect the site): outside-in monitoring from a second country, alerts via e-mail/SMS/Slack/Teams/Discord/Telegram/webhook, the Ravnsight AI analysis on your dashboard, safe updates with rollback and backup/restore.

The Pro build's history is shown to signed-in Pro accounts under Plugin

Start with the outside view today

External monitoring is free for one site and works for any platform. Add the plugin when it ships.

Get started for free
Ravnsight assistant
Hi! I can answer questions about Ravnsight — how to monitor sites, set up alerts, use the plugin and more. What would you like to know?
Thinking …