Audits
An audit is nimo checking how your site performs, explaining what matters, and saving the result so future changes can be compared. It is the find-the-gap step of the workflow: everything else, from recommendations to alerts, starts from audit evidence.
How an audit works
Each audit combines two kinds of measurement. Field data comes from real Chrome visitors through the Chrome UX Report (CrUX). Lab data comes from one controlled Lighthouse run through PageSpeed Insights. While Lighthouse runs, nimo also inspects the page's HTML and pulls context from any integrations you connected.
- 1
Fetching field data
Chrome UX Report data from real visitors, plus its trend history.
Full audit - 2
Running Lighthouse
A PageSpeed Insights lab run, usually the longest step.
- 3
Generating summary
Metrics, diagnostics, detected platform, and the change since the last run.
- 4
Planning recommendations
Measured evidence becomes a ranked list of next steps.
- 5
Audit complete
The report is saved to history and alerts go out if you enabled them.
Runs alongside Lighthouse
- Page HTML inspection
- Search Console
- Google Analytics 4
- PostHog
- Ahrefs
- Cloudflare detection
- Previous audit
- Link check (full audit)
The Lighthouse step usually takes the longest, often a minute or more. You can leave the page: the audit keeps running and the report is saved when it finishes.
Run an audit
You can start an audit wherever you work with nimo.
Pick the site
Use the dashboard, /site in Telegram, or list_sites through MCP.
Start the audit
Trigger it from the UI, /audit in Telegram, /nimo audit in Slack, by asking in chat, or with the run_audit MCP tool.
Wait for the report
nimo shows progress while it checks real visitor data, runs Lighthouse, and plans recommendations. If Telegram or Slack is connected, nimo messages you there when the report is ready.
Audits test the mobile experience by default. Each saved audit counts toward your plan's monthly audit allowance; see Billing and API keys. Agents can also use the audit_url MCP tool for a one-off performance check of any public URL, which is not saved to a site's history.
Full and quick audits
| Full audit | Quick audit | |
|---|---|---|
| CrUX field data and trend history | Yes | Skipped |
| Lighthouse lab run | Yes | Yes |
| Page HTML inspection and connected sources | Yes | Yes |
| Broken link check | Yes | Skipped |
| Comparison with the last matching audit | Yes | Yes, against the last quick audit |
| Best for | First audit, scheduled checks, client reports | Re-testing right after a fix ships |
Field data changes slowly because CrUX is a rolling 28-day window, so a quick lab re-run is the faster way to see whether a deploy moved the needle. Confirm the result later with a full audit once real visitors have seen the change.
Read the results
nimo leads with the plain-language verdict, then shows metrics and recommendations. Every number carries its source.
Mobile visitors wait about 3.4 s for the main content. Start with the hero image.
LCP
3.4 s
Field
INP
180 ms
Field
CLS
0.04
Field
Lab LCP improvedTBT stableCLS stable
Serve the hero image in a smaller, modern format
It is the LCP element and the largest image transfer on the page.
ImagesScriptsThird partiesFonts
- 1Verdict: one plain sentence about what visitors feel and where to start.
- 2Metric cards: each value carries its source, so field and lab numbers are never mixed silently.
- 3Change since last audit: only moves bigger than normal noise are called better or worse.
- 4First fix: the top ranked recommendation, with the evidence that put it there.
- 5Diagnostics: images, scripts, third parties, fonts, and page structure behind the metric.
LCP
How long visitors wait before the main content appears. nimo describes this as page load, not as a metric acronym. See the LCP glossary entry.
CLS
How much the page shifts while visitors try to read or click. See CLS.
INP
How responsive the page feels when visitors interact. Field data only. See INP.
Diagnostics
Images, scripts, stylesheets, fonts, third parties, and page structure that explain why a metric is slow.
Reports can also include your detected platform, unused code, image savings, broken links, whether the site runs behind Cloudflare, and search or traffic context from connected integrations. The Reports and sharing guide covers each section in depth.
Reading your scores
Metric ratings use fixed boundaries. nimo rates each metric the same way Google does, and prefers field data when CrUX has enough real visits for your site.
- Field dataReal Chrome visitors, 28-day window
- Lab dataOne controlled Lighthouse run
- Search dataSearch Console when connected
- Traffic dataGA4 or PostHog when connected
The Lighthouse performance score (0 to 100) is a lab summary: 90 and above is good, 50 to 89 needs work, below 50 is poor. It is useful for spotting a trend, but it is not a Core Web Vital and it can move between identical runs. When field and lab disagree, trust field data for what visitors experience and use lab data to find the cause. The field vs lab guide explains why they differ.
Lighthouse scores can move between runs. nimo focuses on metric values, history, and real visitor impact.
Compare changes
Run an audit before and after a fix. nimo can compare two audits and show what improved, what got worse, and what stayed the same.
A change only counts as improved or degraded when it is larger than normal run-to-run noise. The threshold is the larger of a fixed floor and a percentage of the previous value, with a cap so very slow pages do not need huge swings.
| Metric | Lab threshold | Field threshold |
|---|---|---|
| LCP | 300 ms or 25%, capped at 2 s | 100 ms or 5% |
| CLS | 0.02 or 20%, capped at 0.05 | 0.01 or 10% |
| INP | Not measured in lab | 20 ms or 10% |
| TTFB | 100 ms or 20%, capped at 500 ms | 50 ms or 10% |
| FCP | 200 ms or 20%, capped at 1.5 s | Lab only |
| TBT | 200 ms or 30%, capped at 600 ms | Lab only |
| Speed Index | 400 ms or 15%, capped at 2 s | Lab only |
| Performance score | 5 points | Lab only |
Example: if lab LCP was 2,000 ms, 25% is 500 ms, so the next run has to land below 1,500 ms or above 2,500 ms before nimo calls it a real change. Anything in between is reported as stable.
nimo compares like with like: the same page, the same device, and the same audit type.
Comparison prompt
Compare my last two audits. Which metrics changed enough to trust?
Use audit history
Audit history helps nimo tell the difference between a one-off slow run and a real trend. It also helps you explain client work with before-after evidence.
- Schedules: set each site to daily, weekly, or manual audits. Scheduled audits build the history nimo uses for regression alerts. See Monitoring and alerts.
- Field trends: full audits also read CrUX history, so reports can show whether real-visitor metrics are drifting over recent months.
- Page changes: nimo notices when a page's structure changed between audits, which helps explain sudden jumps.
For important pages, run a manual audit before deploying a fix. Then run another audit after the change has shipped.
When an audit cannot finish
"PageSpeed Insights couldn't audit this page." Lighthouse could not load the page. Check that the URL is publicly reachable without a login, VPN, or IP allowlist, then try again.
No field data. CrUX only publishes data for sites with enough real Chrome traffic. New or low-traffic sites get lab data only, and nimo labels the report that way instead of guessing.
Results differ from PageSpeed Insights. Lab runs vary with network conditions and server load. Compare metric values across several audits, and read the noise thresholds above before treating a small difference as real.
Some links show as likely bot-blocked. Many CDNs and firewalls reject automated requests. nimo flags these separately so they are not mistaken for broken links.
The audit was skipped. An audit for the same site may already be running, or you reached your plan's audit allowance or a short-term rate limit. Wait for the running audit to finish, then try again.
Run an audit
Get the first report, then use history to prove whether each fix worked.