PageSpeed Insights shows two different reports on one page: real data from Chrome users over the last 28 days and a lab test by Lighthouse on an emulated low-end phone. So a score of 42 in a red circle does not yet mean the site is slow for your customers, and a green "passed" in the top block matters more than any number below it. Here is how to read the report, which recommendations to fix first, who should actually do it and why chasing a score of 100 rarely pays off.

You open pagespeed.web.dev, paste a URL and wait about twenty seconds. The top block is titled "Discover what your real users are experiencing". This is field data from the Chrome User Experience Report (CrUX): anonymous statistics from actual visitors of your site using Chrome over 28 days. Google looks at the 75th percentile, in other words the experience of three quarters of users, and issues the verdict "Core Web Vitals passed" or "failed". This verdict is what Search takes into account. If traffic is low, the block stays empty: there is not enough data for the page or even the whole domain.
Below it comes the lab test from Lighthouse. A Google server loads the page once, emulating a mid-range Android phone on slow 4G, and computes a score from 0 to 100. This is synthetic: one run, one location, artificially throttled CPU and network. The numbers in the two blocks disagree all the time, and that is normal. Field data tells you what actually happens. The lab tells you where the bottleneck is and hands you a list of recommendations.
A practical rule we use at Query: read the field verdict as the diagnosis and the lab score as a hint about where to start. Arguing with a client over 67 versus 71 in the lab makes no sense; two consecutive runs can differ by 10 points.
The website speed score in Lighthouse is a weighted blend of five metrics. As of publication: Total Blocking Time 30%, Largest Contentful Paint 25%, Cumulative Layout Shift 25%, First Contentful Paint 10%, Speed Index 10%. Colour zones: 0 to 49 red, 50 to 89 orange, 90 to 100 green.
Three things worth knowing about this score. First, it is non-linear. Taking a site from 30 to 60 is usually cheaper than from 85 to 95. Second, the score is computed for one page, not the site. The homepage can sit at 90 while a product page with a reviews widget sits at 35. Third, Google does not use the lab score in ranking. What matters for Search is the field Core Web Vitals, and those thresholds are softer than a "green hundred".
So the practical target for a commercial site, in our experience: consistently above 50 on mobile in the lab and "passed" in field data. Beyond that, every point costs more and the business effect fades. The exception is media and large catalogues with traffic in the millions, where every tenth of a second shows up in revenue.
The first three are the Core Web Vitals that drive the verdict. What each one means physically and how to improve them one by one, we covered in detail in our article on Core Web Vitals, so we will not repeat that here.
Under the metrics, Lighthouse prints two lists. "Opportunities" come with an estimated saving in seconds: "Serve images in next-gen formats, estimated savings 3.2 s". "Diagnostics" have no seconds; these are structural notes: "Avoid an excessive DOM size", "Minimize main-thread work". Both lists often run to 15 or 20 items, and the developer who received a screenshot has no idea where to begin.
We sort differently: first by which metric the recommendation affects (LCP and CLS weigh 25% each), then by the estimated saving, and only then by effort. Even more important is deciding who owns each item, because half of the notes are not for the developer at all.
| Report recommendation | Typical cause | Who fixes it |
|---|---|---|
| Modern formats / properly sized images | 4000 px JPEGs uploaded as is | Content manager or developer |
| Server response time (TTFB) | Weak hosting, no cache | Hosting and developer |
| Render-blocking resources | Dozens of CSS and JS in head | Developer |
| Third-party code impact | Chats, pixels, maps, widgets | Marketer + developer |
| Text visible during font load | No font-display: swap | Developer |
| Images without width and height | Space not reserved | Developer |
| Unused JavaScript / CSS | Theme loads every script | Developer, plugin swap |
| Static asset caching | No Cache-Control | Hosting or developer |
| Large DOM | Mega menu, 50-slide slider | Developer + designer |

This list is built from what most often produced the biggest gains on typical sites running WordPress, OpenCart, Laravel and site builders. The order is approximate; every site has its own bottleneck.
defer.font-display: swap. Often half a second off FCP.fetchpriority="high" and preconnect to the CDN.Items 1, 2 and 6 usually cover the path from red to orange. Items 3 to 5 get you to a green verdict in field data. Item 8 is for those who need 90+.
PSI shows separate tabs, and a gap of 30 to 40 points between them is common. Desktop is tested without CPU throttling and on a fast network, so it is almost always green. The mobile test emulates a mid-range phone on slow 4G, and that is the one showing the real picture for most audiences: in commercial niches mobile traffic passed the halfway mark long ago. Google also indexes sites by their mobile version. So look at the mobile tab and plan the work around it. The desktop score is useful mainly for B2B sites visited from office computers.
The most common mistake after optimisation: one PSI run, 48 instead of 45, conclusion "it did not help". The working routine looks like this.
If you cannot close the list on your own, we do this kind of work as part of technical site improvements: report audit, splitting items between hosting, content and code, the fixes themselves, control measurements. The main takeaway from this article: a PageSpeed Insights report is not a grade on a report card but a list of hints, and you read it from the top, starting with field data, not from the colour of the circle.