You run a speed test, get a green score, and the site still feels sluggish when you use it. That gap is real, and it usually comes from one of a few places.
Lab data is not field data
A speed test runs from a data centre on a fast, stable connection. Your customers are on phones, on patchy mobile networks, often with a cold cache. Field data in Search Console reflects that; a lab score does not.
The largest element is loading last
If your hero image is not preloaded and not marked high priority, the browser will fetch it after stylesheets, fonts and scripts. The page paints, then sits there visibly incomplete.
Fonts blocking text
Without font-display: swap, text stays invisible while a web font downloads. The page is technically fast and functionally blank.
Too much JavaScript
A page can score well on load and still feel unresponsive if the main thread is busy executing scripts. That shows up in Interaction to Next Paint — and it is the metric most likely to be quietly failing.
What to do
Trust field data over lab scores, preload the largest contentful element, always set font-display: swap, and be genuinely ruthless about third-party scripts.
Need a hand with this?
We do this work for businesses every day. Tell us what you are dealing with and we will give you a straight answer.
Start a conversation