BACK TO DIRECTORY

Dragon Speed Doctor – Find What Slows Your Site Down

by Dragon Core

0.0
(0 ratings)

Every slow WordPress site raises the same question: which plugin is doing this? Dragon Speed Doctor answers it with measurements, not guesswork.

Install the measurement loader, press Run diagnosis, and the doctor times your site over a few minutes of internal test requests, with each plugin briefly left out of those test requests only, then tells you what each plugin actually costs:

  • Per-plugin timing, front-end and wp-admin: “Adds about 180–260ms to page loads.” Real measured ranges, never invented precision. When results are too noisy to trust, it says so instead of making a number up.
  • Asset audit: every script and stylesheet on your pages, attributed to the plugin that ships it, with sizes and render-blocking flags. Sometimes a plugin’s PHP is fast but it sends 900KB of JavaScript to every visitor, and the doctor catches that too.
  • Database signals: autoloaded-option weight (a common hidden slowdown) with probable owners.
  • Plain-English verdicts with Low / Medium / High impact badges, sorted worst first, and an Inconclusive badge when the timings cannot support an answer.
  • Before/after comparison: run a scan before updating plugins and another after, and see what changed.
  • Speed monitoring (optional, off until you turn it on): a scan weekly or daily at a quiet hour, plus a follow-up scan 10 minutes after a plugin, theme or WordPress update. When a scan finds the site or a plugin slower than the scans before it, a second scan an hour later has to show the same before anything is reported. A confirmed slowdown is emailed to the addresses you choose (the site’s admin email until you change it), naming the plugin that got slower, or saying that pages as a whole got slower, with roughly how many milliseconds were added and the plugin, theme or WordPress update that coincides with it.
  • 12-month history: every diagnosis, run by hand or automatically, is kept for a year. The History tab charts front-end and wp-admin page times week by week with markers where plugins, the theme or WordPress changed, lists the biggest movers between the newest scan and any earlier one, and keeps the confirmed slowdowns.
  • Site Health: Tools > Site Health says whether speed monitoring is off, keeping up, blocked (and why) or stopping before it finishes, and reports a slowdown confirmed in the last two weeks.
  • Dependency awareness: plugins that declare they need another plugin (a WooCommerce payment gateway, say) are measured together and labelled honestly; a plugin the site cannot run without is reported as “could not be measured”, never as harmless.
  • WP-CLI: wp speed-doctor scan.

Visitors are never affected: plugin loading is only altered for the doctor’s own internal, cryptographically signed test requests. Your live traffic always sees the site exactly as configured.

Features

  • Per-Plugin Timing – What each plugin costs on the front end and in wp-admin, as honest measured ranges
  • Asset Audit – Every script and stylesheet on your pages, attributed to the plugin that ships it, with render-blocking flags
  • Database Signals – Autoloaded-option weight and probable owners, a common hidden slowdown
  • Plain-English Verdicts – Low, Medium, High and Inconclusive badges, sorted worst first, no jargon
  • Before & After – Scan before updating plugins and again after, and see exactly what changed
  • Scheduled Scans – Weekly or daily at a quiet hour, and after every update, once you switch them on
  • Confirmed Slowdown Emails – Sent only after a second scan agrees, naming what changed and how much it costs
  • 12-Month History – Weekly trend charts, biggest movers and every confirmed slowdown on one tab
  • Site Health Check – Monitoring off, overdue or blocked, and recent confirmed slowdowns, in Tools > Site Health
  • Dependency Awareness – Plugins that cannot be separated are measured together and labelled honestly
  • Honest Confidence – Rates a plugin Low only when the top of every measured range stays at or below 100ms, never calls a difference smaller than the server’s own noise a cost, and says “inconclusive” when the server is too noisy, or when a small cost on one page sits next to a page that was not measured, instead of inventing a number
  • WP-CLI – wp speed-doctor scan for scripted or scheduled diagnosis
  • No External Services – Everything runs on your own server; nothing is sent to Dragon Core or anyone else, and slowdown emails go only to the addresses you enter

Everything above is free, fully functional and unlimited.

How it measures

The method is built for noisy shared hosting: repeated interleaved timings, medians with confidence bands, warmup passes discarded, early stopping when a result is already clear, retries for passing server errors, and honest “inconclusive” verdicts when server noise wins. Script and stylesheet weight counts towards a plugin’s badge only for what it loads on front-end pages; wp-admin-only assets are listed on the Assets tab but never described as shipped to visitors. A pre-scan check verifies your site can be measured (loopback requests allowed, no page cache serving the test requests, no background jobs adding noise) before anything runs.

The measurement loader

Timing a plugin’s absence requires briefly loading the site without it, for signed internal requests only. A small helper file in mu-plugins does this. It is installed only when you click Install loader on the Doctor screen (or run wp speed-doctor scan), shown there with its status, does nothing for any normal request, and is removed automatically when you deactivate the plugin. Once installed, it is brought up to date by itself after each plugin update, and a loader you removed stays removed.

Speed monitoring

Monitoring is off until you turn it on under Tools > Speed Doctor > Settings, because every automatic scan sends a few minutes of test requests to your own server. Once on:

  • A scan runs weekly or daily, starting within 20 minutes after the quiet hour you pick, whenever WP-Cron next runs. It runs in small steps through WP-Cron, so it needs no open browser tab.
  • With “After an update” ticked, a follow-up scan runs 10 minutes after a plugin, theme or WordPress update. A run of updates (automatic updates often come one after another) shares one scan, booked no later than an hour after the first.
  • Automatic scans time the front end only: WP-Cron runs with no one logged in, so wp-admin cannot be measured there. Run a diagnosis from the Doctor tab to time wp-admin.
  • Each automatic scan is compared with up to four earlier automatic scans. A slowdown is only reported when a second scan, about an hour later, flags the same page and the same plugin against the same earlier scans; one slow scan on its own never sends anything. Manual and WP-CLI diagnoses are kept in the history but never compared or alerted on.
  • The email says which plugin got slower (or that pages as a whole got slower), by about how much, and since when, and names the plugin, theme or WordPress update, or the new plugin, that coincides with it. It goes to the addresses saved in Settings (the site’s admin email until you save your own list, at most ten), through your site’s own email set-up. Use “Send a test email” to check that it arrives.
  • The measurement loader is never installed by an automatic scan. Without it, scheduled scans are skipped and the History tab and Site Health say why.

External services

None. The doctor measures your site by requesting your own pages from your own server. Nothing is sent to Dragon Core or any third party. No telemetry, no accounts, no cloud. If you turn on speed monitoring, slowdown emails are sent with WordPress’s own wp_mail() to the addresses you save; what happens to an email after that depends on your site’s email set-up.

Credits

The WordPress.org listing icon is drawn with glyphs from Lucide (https://lucide.dev), ISC License. Copyright (c) for portions of Lucide are held by Cole Bemis 2013-2022 as part of Feather (https://feathericons.com, MIT License). All other copyright (c) for Lucide are held by Lucide Contributors 2022. The plugin itself does not include these icons.

Screenshots

The Doctor tab: install the measurement loader, then run a diagnosis. The latest verdicts are summarised at the top.

The Doctor tab: install the measurement loader, then run a diagnosis. The latest verdicts are summarised at the top.

Results: plain-English verdicts with impact badges, worst first. Low-impact plugins are folded away.

Results: plain-English verdicts with impact badges, worst first. Low-impact plugins are folded away.

Assets: what every plugin ships to your pages, with render-blocking counts.

Assets: what every plugin ships to your pages, with render-blocking counts.

Database: autoloaded option weight and probable owners.

Database: autoloaded option weight and probable owners.

A diagnosis running: preflight checks passed, with live progress and elapsed time.

A diagnosis running: preflight checks passed, with live progress and elapsed time.

Plugin Details

Active Installs
0
Total Downloads
505
Version
1.2.0
Requires WP
6.2
Requires PHP
8.0
Tested Up To
7.1.4
Added
2026-09-18
Last Updated
2026-10-10 4:51am GMT

Ratings

5
0
4
0
3
0
2
0
1
0