Description
Most performance tools tell you that your site is slow. Qaiyo Web Performance Surgeon tells you what is slow, where it comes from, and how much you would save by fixing it — then fixes the safe ones in one click.
It measures a real, anonymous visitor render (not your logged-in admin view) by running a tokened loopback request, and attributes every cost back to the exact plugin, file and line responsible.
Features
- File- and function-level attribution — every slow query, hook and asset is traced to the exact plugin, file and line responsible, not just “the database is slow”.
- Measures the real visitor render — a tokened, anonymous loopback captures the logged-out front-end page, not your admin-skewed view.
- Estimated time saving per finding — every issue is ranked with an honest millisecond estimate, so you fix the biggest wins first.
- Database profiling — per-query timing, duplicate-query detection and bloated autoloaded-option detection.
- Hook and callback timing — per-callback cost with plugin attribution, captured with low overhead (no per-call backtraces).
- Blocking HTTP detection — flags slow external requests made while the page renders.
- Asset inventory — enqueued scripts and styles listed with their owning plugin.
- Real browser metrics — Largest Contentful Paint, Cumulative Layout Shift, long tasks and navigation timing from an actual browser render.
- Image checks — finds images served far larger than they are displayed (with the wasted kilobytes) and images that render without width/height, which makes the page jump.
- Duplicate asset detection — spots the same library shipped twice by different plugins, or the same file registered under two handles.
- Server & environment tab — the performance checks WordPress itself runs (object cache, page cache, PHP and database versions, cron, debug mode), collected in one place.
- Compared with your last scan — every scan shows whether server time, query count and findings went up or down since the previous scan of the same URL.
- Performance score on your dashboard — your latest scan is condensed into a single 0–100 score on a speedometer gauge, shown in the shared Qaiyo ecosystem dashboard widget (provided by Qaiyo Admin Booster) so you see how the site is doing without opening the plugin.
- Safe one-click fixes — reversible toggles for common wins; no source files are ever modified.
- Zero overhead on live traffic — measurement only runs for a tokened scan request; normal visits pay nothing.
- Available in 11 languages.
What it measures
- Database — every query with its execution time, paired to the calling plugin/file/line (via SAVEQUERIES), plus duplicate-query and autoloaded-option detection.
- Hooks — per-callback timing with plugin attribution, captured without per-call backtraces (low overhead).
- HTTP — outbound requests made during render, flagging blocking external calls.
- Assets — enqueued scripts and styles with their owners.
- Browser — real LCP, CLS, long tasks and navigation timing, captured from an actual browser render.
Diagnosis and one-click fixes
The rule engine turns raw measurements into ranked findings with an estimated time saving for each, and offers safe, reversible one-click fixes for common wins:
- Disable the emoji detection script
- Disable wp-embed.js
- Remove jQuery Migrate
- Dequeue front-end Dashicons
- Stop autoloading a bloated option
- Remove the legacy RSD / Windows Live Writer links from the page head
- Turn off XML-RPC (only offered when nothing on the site appears to need it)
- Stop self-pingbacks when you link between your own posts
- Remove the “?ver=” query string from static assets, for caching layers that skip versioned URLs
Every fix is a toggle you can undo — no source files are ever rewritten.
Privacy
Scans run on your own site. No data is sent to any third party.
Installation
- Upload the plugin to
/wp-content/plugins/and activate it. - Open Performance Surgeon in the admin menu.
- Install the scan helper when prompted (a tiny must-use plugin that only activates during a scan and is removed on deactivation).
- Enter a URL and run a scan.
FAQ
-
Does it slow down my live site?
-
No. Measurement only runs for a tokened scan request; every normal page load exits on the first line of the scan helper at zero cost.
-
Why does it install a must-use plugin?
-
To capture the whole request — including the earliest database queries — the SAVEQUERIES flag must be set before WordPress loads its database layer. A tiny must-use loader does this, but only during a scan. It is removed automatically when you deactivate the plugin.
-
Are the estimated savings exact?
-
They are honest estimates based on measured data, shown under instrumentation. Treat them as a prioritised guide, not a guarantee.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Qaiyo Web Performance Surgeon” adalah perisian sumber terbuka. Orang-orang berikut telah menyumbang kepada pemalam ini.
Penyumbang“Qaiyo Web Performance Surgeon” telah diterjemahkan ke dalam 2 penempatan. Terima kasih kepada para penterjemah untuk terjemahan mereka.
Translate “Qaiyo Web Performance Surgeon” into your language.
Berminat dalam pembangunan?
Layari kod, periksa repositori SVN, atau langgani log pembangunan dengan RSS.
Changelog
1.4.0
- New: Performance score — every scan now produces a single 0–100 score from its findings and measured server time, shown on a speedometer gauge.
- New: the score appears as a card in the shared Qaiyo ecosystem dashboard widget and settings panel (provided by Qaiyo Admin Booster), alongside the cards other Qaiyo plugins report. Nothing is required for this to work — if Admin Booster is not installed, no card is reported and nothing changes.
- The score is now the single source of truth across the plugin: the Pro add-on’s multi-URL site health score reads the same formula, so the number on the dashboard always matches the number on the scan page.
- Fixed: uninstalling the plugin left the XML-RPC usage-monitor option behind in the database.
- Fixed: the score-band label (“Poor” / “Needs work” / “Good”) on the Qaiyo ecosystem card could render with glitchy, incorrect-looking glyphs in some browsers. It was placed inside the SVG gauge as a small
<text>element, which some browser/OS combinations render inconsistently at small sizes; it is now plain HTML text under the gauge instead. The translated strings themselves were always correct — this was a rendering issue, not a translation bug.
1.3.0
- Fixed: on sites behind a full-page cache or CDN, a scan could report “no measurements came back” even with the scan helper installed. The scanner now detects and purges known caching plugins before scanning, and — if that still fails — names the caching layer it found instead of a generic message.
- Fixed: “Turn off XML-RPC” could be offered even when the endpoint was in real use by something outside this site (a publishing app, an automation tool). It now watches for real XML-RPC calls for at least 7 days before recommending anything, and never recommends it while recent real traffic is seen.
- Fixed: findings for a page builder’s own rendering step (e.g. Elementor building the page from its saved layout) recommended adding conditional tags to code you cannot edit. These are now labelled as the builder’s own baseline cost, with guidance that is actually actionable.
- Fixed: a caching plugin writing its own page cache after render could be flagged as “slow” with advice to cache its own output. This is now recognised as the cache doing its job, not a bug.
- Fixed: WordPress’s own wp_enqueue_scripts() dispatcher could appear as a separate “slow hook” finding, double-counting time already reported under the individual plugin callbacks it fires.
1.2.0
- New one-click fix: remove the “?ver=” query string from static assets, for proxies and CDN setups that will not cache a versioned URL. Off by default and reversible — the version is also what busts caches after an update, so turn it on only if your caching layer needs it.
- Fixed: the Qaiyo plugin group in the admin sidebar could break apart on sites where another plugin (WooCommerce, Elementor, an admin-menu tool) reorders the admin menu.
1.1.0
- New: image checks — oversized images (with the wasted kilobytes) and images rendering without width/height.
- New: duplicate asset detection — the same library loaded by two different plugins, or the same file behind two handles.
- New: large-DOM finding, based on the element count from the real browser render.
- New: “Server & environment” tab showing WordPress’s own Site Health performance checks (object cache, page cache, PHP/database version, cron, debug mode).
- New: each scan is compared with the previous scan of the same URL, so you can see whether a change helped.
- New one-click fixes: remove the legacy RSD/Windows Live Writer head links, turn off XML-RPC (only offered when nothing appears to need it), and stop self-pingbacks.
1.0.1
- Deferred the scan/measurement classes to admin and scan requests only, so normal front-end page loads stay lighter.
- The enabled-fixes option is now autoloaded, removing an extra database read on every front-end request.
- Aligned all internal version constants with the plugin header and tidied a few developer-facing code annotations.
- Added a SECURITY.md with a vulnerability-disclosure contact.
1.0.0
- First public release on WordPress.org.
- File- and function-level performance attribution for SQL, hooks, HTTP and assets, measured on a real anonymous visitor render via a tokened loopback.
- Real-browser metrics (LCP, CLS, long tasks, navigation timing) captured from an actual render.
- Rule engine with ranked findings, estimated time savings, and safe reversible one-click fixes.
- Tabbed admin page (Diagnostics, Browser metrics, Loopback test) with the Qaiyo design system.
- Bundled translations for 11 languages.
- Clean uninstall: removes the plugin’s option, cached transient and scan-helper on deletion.