30% off Pro plugins with LAUNCH30 See plugins
v1.0.4
12 September 2026

Asset sizes and plugin attribution are now correct on subdirectory, relocated wp-content and mixed-scheme sites, and the loopback base works on subdirectory installs.

What's fixed in 1.0.4

  • Asset sizes are no longer 0 for local files the doctor could not find. A script or style with a scheme-relative (//), http:// or document-relative address, a percent-encoded file name, a subdirectory install, or a wp-content folder outside the WordPress directory all reported 0 bytes. Every address is now resolved against the page it was found on, then located with the site path stripped and wp-content resolved to its real directory. Only files inside the WordPress and wp-content folders are ever read.
  • Plugins get credit for their own scripts. The asset table attributed a plugin's assets to "core/other" when the address differed from the site's wp-content URL in scheme, letter case or a www. prefix, or used ../ segments, which understated that plugin's page weight. Attribution now matches on the resolved host and path.
  • DRAGONSPEEDDOCTOR_LOOPBACK_BASE works on subdirectory installs. A base with a path, such as http://app-container/wp, was prefixed onto every request and produced /wp/wp/... 404s whose timings were recorded as page performance. The base is now used as an origin only (scheme, host, port); each request keeps its own path.
  • The loopback base is validated more strictly. IP literals must be a full dotted IPv4 or bracketed IPv6 address in a loopback, private or link-local range; integer, shorthand and public IPv6 forms are refused. A hostname is accepted only when every address it resolves to is in such a range, and a name that does not resolve is refused. Signed admin probes can never leave your infrastructure.
  • Setup is verified, retried and reported. Activation recorded the install as complete even when the scans table or the signing secret had not been stored. Both are now checked first; an incomplete install is retried on each admin page load and shown as an admin notice until it succeeds. Existing sites are checked once after updating.
  • A diagnosis that cannot be saved is reported as an error. If the scan could not be started, its progress saved or its results written, it appeared to start or finish normally. It now stops with a clear message.

No settings changes. If you use the loopback base with a path, it keeps working; the path is simply ignored.

v1.0.3
8 September 2026

Wording tidied across the readme and the plugin screens for clarity. No functional changes.

v1.0.2
30 August 2026

Housekeeping release: the readme changelog now covers 1.0.1, and code comments were tidied. No functional change.

= 1.0.2 =

  • Readme: changelog and upgrade notice now cover 1.0.1, which shipped without entries.
  • Code comments reworded to describe the filter hooks they document.
v1.0.1
23 August 2026

Safety fix: a measurement run can no longer accidentally leave other plugins deactivated, and stalled scans self-recover.

= 1.0.1 =

  • Safety: during a measurement request the active-plugins list can no longer be written back to the database, so a probe can never deactivate your other plugins.
  • Reliability: an abandoned scan is reclaimed after 15 minutes so it cannot block future scans; the measurement loader is refreshed before each run.
v1.0.0
22 August 2026

Find out which plugins are slowing your WordPress site — measured, not guessed.

Dragon Speed Doctor is the modern successor to the long-gone P3 Plugin Performance Profiler. Press one button and it times your site with each plugin briefly held out of internal test requests, then tells you in plain English what each one costs — on the front end and in wp-admin — alongside a per-plugin script and stylesheet weight audit and database-bloat signals. Visitors are never affected; only the doctor's own signed internal requests are measured.

  • Per-plugin timing attribution with honest confidence ranges (and an honest "inconclusive" when the server is too noisy).
  • Asset audit: what every plugin ships to your pages, with render-blocking flags.
  • Database signals: autoloaded-option weight and probable owners.
  • Plain-English verdicts with Low / Medium / High badges, plus before/after comparison across scans.
  • WP-CLI: wp speed-doctor scan. No external services — everything runs on your own server.