SEO finding
A page is slower or heavier than the limits in a lab run
SEO Warning Severity: Medium
Part of the audit Page speed and Core Web Vitals. Finding id: seo.labPerformanceBudget.
What it costs you
Slow pages lose visitors before they see anything. A page far over the limits usually has one or two causes that are worth fixing.
What to do
Find the cause on the template, fix it and measure again.
What it checks
- Main content loads slowly
- Page layout jumps around
- Page reacts slowly to clicks
- Slow first content on screen
- Server responds slowly
- Page structure too large
- Files that delay showing the page
- Scripts take too long to run
- Outside services slow the page
How to fix it
Fix the cause on the template, then measure again
- Start from the advice in the finding.
- Pages built on the same template share the cause. Fix the template and all of them improve.
- Measure again on the same device and network profile before and after the change.
How to check: Run the lab test again: the value is under the limit.
A real case
Vodafone split paid traffic between two versions of a landing page that differed only in loading speed. The version with a 31% better Largest Contentful Paint made 8% more sales.
Thresholds
| Name | Default | Meaning |
|---|---|---|
max_lcp_ms | 2500 | Upper limit. Largest Contentful Paint in milliseconds. Google's documentation names this as the limit for a good value. |
max_cls | 0.1 | Upper limit. Cumulative Layout Shift. Google's documentation names this as the limit for a good value. |
max_inp_ms | 200 | Upper limit. Interaction to Next Paint in milliseconds. Google's documentation names this as the limit for a good value. |
max_tbt_ms | 200 | Upper limit. Total Blocking Time in milliseconds. |
max_fcp_ms | 1800 | Upper limit. First Contentful Paint in milliseconds. |
max_ttfb_ms | 800 | Upper limit. Time to first byte in milliseconds. |
max_dom_nodes | 1400 | Upper limit. Number of elements in the page. |
max_js_exec_ms | 2000 | Upper limit. JavaScript execution time in milliseconds. |
max_third_party_ms | 250 | Upper limit. Main-thread time taken by third-party scripts, in milliseconds. |
max_render_blocking | 4 | Upper limit. Number of scripts and stylesheets that block the first paint of a page. |
How to verify by hand
Field data for the same URL (Chrome UX Report, asset field_performance). If real visitors get good values, treat the lab finding as low priority.
What this relies on
A lab run on one device and network stands for what visitors get.