Website Speed and SEO: What Actually Matters
Core Web Vitals, the real causes of a slow site, and the fixes worth doing first — without the jargon.
"Make your site faster" is common advice that rarely comes with specifics. Google has actually been specific about this: it publishes exact metrics it uses to judge speed and responsiveness, called Core Web Vitals, and exact thresholds for what counts as good, needs improvement, or poor. This guide covers what those metrics actually measure, what typically causes a service-business site to fail them, and which fixes are worth doing first.
Core Web Vitals: Google's actual speed framework
Core Web Vitals are three specific, measurable metrics. They're not a vague "speed score" — each one targets a different way a slow or unstable page frustrates a real visitor.
LCP — Largest Contentful Paint
LCP measures how long it takes for the largest visible element on the page — usually a hero image, a headline, or a banner — to fully render. It's a proxy for "how long until this page feels loaded" from a visitor's perspective. Google's stated threshold for a good score is 2.5 seconds or less, measured from when the page starts loading. The most common cause of poor LCP is a large, unoptimized hero image or a slow server response holding up everything else on the page.
INP — Interaction to Next Paint
INP measures the delay between a visitor tapping or clicking something — a menu, a "Call Now" button, a form field — and the page visibly responding. Google replaced the older First Input Delay metric with INP because it captures responsiveness across the entire visit, not just the very first interaction. A good INP score is 200 milliseconds or less. Poor INP is almost always caused by heavy JavaScript execution tying up the browser — often from third-party scripts (chat widgets, tracking pixels, embedded booking tools) rather than the site's own code.
CLS — Cumulative Layout Shift
CLS measures visual stability — how much content unexpectedly shifts position while the page is loading. The classic example: you go to tap a button, an ad or image finishes loading above it, and the page jumps just as you tap, so you hit the wrong thing. Google's threshold for a good score is 0.1 or less. Poor CLS is usually caused by images or ads without reserved dimensions, web fonts that load late and reflow text, or content injected above existing content after the initial render.
Where these thresholds come from
Why mobile speed matters most
Google has used mobile-first indexing for years now, meaning it primarily crawls, indexes, and ranks websites using the mobile version of the page — not the desktop version — regardless of where most of your actual traffic comes from. On top of that, most local "near me" and "[service] near me" searches happen on a phone, frequently over a weaker connection than a home Wi-Fi network. A site that scores well on a developer's fast desktop connection can still fail Core Web Vitals badly on the mobile networks most of your customers are actually using. For the full set of mobile-specific factors beyond speed, see the mobile SEO checklist.
The most common real-world causes of slow service-business sites
Unoptimized images
This is the single most common cause. A photo straight off a phone or a stock photo library can easily be several megabytes — far larger than a web page needs. Multiply that across a hero image, a services grid, and a photo gallery of completed jobs, and image weight alone can account for most of a page's load time. Modern formats (WebP or AVIF), proper compression, and sizing images to their actual display size rather than shrinking a full-resolution file with CSS all address this directly.
Render-blocking scripts and fonts
Scripts and stylesheets that load before the browser can render anything visible directly delay LCP. Custom web fonts loaded without a fallback strategy cause the classic "flash of invisible text" and often contribute to CLS when the real font swaps in and reflows the layout. Chat widgets, review-badge embeds, booking calendars, and analytics scripts are frequent offenders — each one is a legitimate business tool, but each one adds JavaScript the browser has to download and execute before it can respond to a tap.
Bloated page builders, themes, and plugin stacks
Drag-and-drop page builders and heavily "featured" themes are convenient, but many generate significantly more code than a hand-built page needs — extra CSS frameworks, animation libraries, and JavaScript for features the site doesn't actually use. Add a stack of plugins (each with its own scripts and stylesheets) on top, and even a simple five-page service-business site can end up loading far more than it needs to.
Fixes, ordered by impact
- Compress and properly size every image, especially the hero image and anything above the fold. This is usually the highest-impact, lowest-effort fix available.
- Audit third-party scripts and remove or defer anything not actively earning its keep — an old analytics snippet, a chat widget nobody responds to, a tracking pixel for a campaign that ended months ago.
- Reserve space for images and embeds before they load, so the layout doesn't shift once they render — this directly targets CLS.
- Turn on caching and a CDN if your host or platform offers one, so repeat visitors and visitors far from your server both get faster load times.
- Remove unused plugins and page-builder bloat — audit what's actually active and delete what isn't, rather than leaving disabled features installed "just in case."
- Load fonts efficiently — a small set of font weights, hosted locally where possible, with a sensible fallback so text is visible while the custom font loads.
Speed and conversion, not just rankings
It's easy to treat speed as purely a ranking-signal problem, but for a service business the more immediate cost is conversion. Someone searching for an emergency plumber or a same-day HVAC repair is often mid-crisis and impatient by definition — a slow-loading page or a "Call Now" button that doesn't respond instantly to a tap loses that visitor to the next result before speed ever becomes an SEO question. A fast, stable page is what lets your actual conversion elements — phone numbers, forms, click-to-call buttons — do their job the moment someone lands.
How to actually test your site
Google's own PageSpeed Insights tool reports both lab data (a simulated test run at that moment) and, when enough real visitors have hit the page, field data pulled from the Chrome User Experience Report. Field data is what actually determines your Core Web Vitals status in Google Search Console, so treat lab scores as diagnostic detail and field data as the number that matters. Check the Core Web Vitals report in Search Console periodically — it groups URLs by issue, which is far more useful for prioritizing fixes than testing pages one at a time.
Frequently asked questions
More guides
Want this handled for you?
We build the SEO foundation and handle the ongoing work — no long-term contract, no guaranteed-rankings sales pitch.
