A score, the one bottleneck holding everything else back, six fixes ranked by estimated impact, and the measured evidence under each finding. Every figure below is sample data from a demo site, not a real customer's results.
Sample data, not a real site
Nothing on this page was measured on a customer site. The scores, counts, and evidence lines come from a demo WordPress install so you can see the shape of a report before you install anything. Every recovery figure in a real report is an estimate too, and it is labeled as one. How we calculate this
One score, one grade, and one sentence naming the cause. The rest of the report exists to back that sentence up.
Sample data. Score, timing, and recovery figures are estimates.
Every report names one top bottleneck. It is the finding that blocks the others from paying off, so it goes first even when other fixes look easier.
Turn on server-side full-page caching so entire HTML responses are stored and reused instead of rebuilt on every request. This is the highest-impact fix in the report: for cached pages it removes the per-request database and plugin work entirely, which is what drags time to first byte up.
Six fixes, ordered by the payoff each one is estimated to return, not by which layer of the stack they sit in. Each is independently reversible, and each carries the evidence that produced it.
Sample data. Recovery figures are estimates. How we calculate this
A severity, the part of the stack it came from, what was measured, and what it costs. Five of the thirteen sample findings are shown here.
Caching is off, so the server runs PHP, loads every plugin, and queries the database on each request. This is the root cause of the elevated time to first byte, and it stops every downstream optimization from showing a result, because each request still pays the full cost of WordPress startup and theme rendering.
PHP recompiles every file on every request because the opcode cache is off. With 53 active plugins on top of WordPress core, that is real CPU time on each hit. OPcache holds the compiled bytecode in memory so the recompilation stops.
Most images are still JPEG or PNG, which are considerably larger than the modern equivalents at the same visual quality. That extra weight lands hardest on mobile connections, where it delays the largest contentful paint.
The web server sends HTML, CSS, JavaScript, and JSON uncompressed. Text assets usually shrink by 60 to 80% with gzip or brotli, so leaving it off costs bandwidth on every request and shows up as slower loads on weak connections.
Each active plugin adds PHP execution time, database queries, and memory use to every request. Fifty-three is well past the commonly recommended threshold of under thirty, and the penalty compounds while caching is off, because every plugin runs fresh on each uncached request.
Showing 5 of 13 sample findings. A real report lists all of them, searchable and sortable.
This sample scan finished in 2 minutes 11 seconds. The report keeps the run log and the score history beside it, so you can see what changed and when.
7 audits since April 2026
Every re-audit lands on this line, so an applied fix either moves the score or it does not, and you can see which.
Sample data.
The Local Audit is free, read-only, and runs on your own server, so nothing leaves the site. You get your own score and every finding behind it in about two minutes, with no account required.