Skip to content
Intermediate

Website Performance Audit with Lab and Field Evidence

Measure representative pages and interactions, identify the actual bottleneck, compare a controlled change and monitor real-user Core Web Vitals separately.

developersSEO specialists

Workflow

  1. Choose representative journeys and measurement conditions

    Select important page types and tasks, including navigation, search, forms or checkout as appropriate. Record the build version, device, browser, network, cache state and test location. Review available field data and its coverage, then choose local test conditions that answer the observed problem. Define the performance budget you intend to compare.

  2. Measure loading and actual interactions

    Run repeatable lab captures and preserve their reports, network waterfalls and traces. Inspect available field LCP, INP and CLS for the relevant device segment and period. A navigation-only Lighthouse run cannot measure field INP; exercise actual interactions and inspect their timings. Keep missing field data distinct from a passing result.

  3. Locate the resource or work causing delay

    Identify the actual LCP element and its request/render path, the work around slow interactions and the sources of layout shifts. Inspect transferred versus decoded resource sizes, dependencies and cache behavior. Use the header parser for one pasted response block when examining Content-Encoding or Cache-Control; it does not measure transfer time or effective caching by itself.

  4. Apply a targeted change and check behavior

    Choose a change supported by the trace: for example, improve discovery of the LCP resource, remove unused work, split a long task or reserve space for content. Avoid applying compression quality, preload or cache rules universally. Verify that images remain acceptable and navigation, forms and other critical interactions still work on the production artifact.

  5. Repeat comparable measurements

    Repeat the same pages and interactions with the same declared conditions and enough runs to understand variation. Compare metric values and distributions rather than only a single composite score. Use percentage arithmetic for a defined before/after quantity with matching units; a percentage improvement in one lab run is not a field-performance or retention result.

  6. Document the result and monitor the released version

    Save the original issue, trace evidence, change, checks and remaining uncertainty. After the normal release process, review real-user measurements over their stated reporting period and device segments. Monitor regressions in the affected flow and keep a rollback path. Download the audit record with direct references to the captured reports.

Tools Used

Checklist

0 / 6 completed

Loading your checklist…

Scope

Baseline

Diagnosis

Change

Comparison

Monitoring

Reference Materials

Core Web Vitals and measurementStandard

The current Core Web Vitals are LCP, INP and CLS. Evaluate field performance at the 75th percentile by device segment; lab testing is useful for diagnosis but does not replace field evidence.

Field thresholds and interpretationTable

Keep these task-specific records with the tested version and review date.

RecordIncludeVerify
LCPGood: ≤2.5 seconds75th-percentile loading experience
INPGood: ≤200 millisecondsReal interactions; navigation-only lab runs do not measure it
CLSGood: ≤0.1Visual stability across the measured experience
Audit comparison recordTable

Keep these task-specific records with the tested version and review date.

RecordIncludeVerify
ConditionsBuild, device, network, cache and taskComparable between runs
EvidenceTrace, waterfall, field coverage and datesSupports the identified cause
OutcomeBefore/after values, variation and functional checksLab results and field outcomes reported separately
  • Inspect the actual LCP element

    It may be text, an image or another supported element; identify it before optimizing a presumed hero image.

  • Retest interaction states

    A fast first paint can still lead to a slow or broken task after the user clicks.