You ran the audit, and one or more of the modern protocols came back missing. The good news is that fixing them is almost never a rebuild — most are a single toggle in your host or CDN, or one response header. Here's how to fix each gap, in the order that actually matters, without breaking anything.
Modern transport protocols make a site faster without you touching a single line of content — but only if they're actually switched on. Most owners never check. Here's how to confirm each one, and what to do if it's missing.
A short, opinionated kit of no-cost tools for measuring a site, securing it, and sourcing media — with honest notes on what each one is good for and where its limits are.
If you publish images with a script instead of the media library, WordPress may generate only two sizes of each. The page still works, so nothing looks broken — but every visitor downloads your full-size file.
Hosting is the one decision under every other decision. Get it wrong and no amount of theme-tuning or caching rescues a slow, flaky site. The good news: the things that matter are few, and most of them you can test before you pay.
You're mapping a messy source vocabulary onto a clean target taxonomy. The target has about 5,600 slots, so the job must be roughly 5,600 decisions — right? The backlog is already past 8,900, and still climbing.
You shipped a fix to how one field is computed, re-ran the pipeline across everything, and it reported a clean run. Then the consistency check still flags those records as wrong. The fix is in the code, the rebuild "ran" — and the records never changed. Your own optimisation skipped them.
The report said 80 duplicate groups still to resolve. You'd been resolving them for days. You run it again after a big batch and it *still* says 80-ish. The backlog isn't stubborn — the scan is counting work you already finished.
You hardened a skill in the repo, shipped the PR, and the agent kept loading the old one. Or you fixed the live skill by hand, and the versioned copy quietly stayed behind. Same root cause: the copy you run and the copy you version are two different files.