Skip to content
SEO

Core Web Vitals for Contractors: Fix the Scores That Affect Your Rankings

·6 min read

Google ranks websites on content relevance, authority, and user experience. The user experience component has a formal name: Page Experience signals. Core Web Vitals are the three specific scores Google uses to measure page experience, and they directly affect where your site ranks when homeowners search for your services.

Most home service business websites fail at least one of these three scores. If yours does, it is actively costing you rankings against competitors who have fixed theirs. Two of the three are usually fixable in a day without a developer.

What Core Web Vitals Measure

Google introduced Core Web Vitals as a ranking factor in 2021 and has continued weighting them more heavily each year. Unlike a general site speed score, each metric measures something specific: how fast your main content appears, how quickly your page responds to user interactions, and how visually stable your layout is while loading.

Google scores your site using real-world data from Chrome users who have visited your pages. To pass, at least 75% of visits must score “Good” on each metric. Check your scores at PageSpeed Insights (pagespeed.web.dev) or in the Core Web Vitals report inside Google Search Console.

MetricWhat It MeasuresGoodNeeds WorkPoor
LCPMain content load timeUnder 2.5s2.5 to 4.0sOver 4.0s
INPPage response to taps and clicksUnder 200ms200 to 500msOver 500ms
CLSVisual layout stabilityUnder 0.10.1 to 0.25Over 0.25

LCP: Largest Contentful Paint

LCP measures how long it takes for the largest visible element on your page to appear. On most contractor websites, that element is the hero image: the photo of your truck, your team, or a finished job. For a homeowner on a mobile device, LCP is roughly when the page stops looking like a blank white screen.

Contractor websites fail LCP for three consistent reasons:

  • Uncompressed hero images. A 3MB JPEG of your crew takes 3 to 5 seconds to download on a typical mobile connection. Converting it to WebP format and compressing it below 150KB cuts that to under half a second. Squoosh.app handles this in two minutes for free.
  • No priority loading on the hero image. By default, browsers treat all images equally. Adding fetchpriority="high" and loading="eager" to your hero image tag tells the browser to load it first. This single change typically improves LCP by 0.5 to 1.5 seconds.
  • Slow server response time. Shared WordPress hosting can take 1 to 2 seconds just to respond before any content downloads. Switching to Cloudflare’s free CDN, or moving to a host with edge caching such as WP Engine or Kinsta, addresses this without touching your site design.

INP: Interaction to Next Paint

INP replaced the older First Input Delay metric in March 2024. It measures how quickly your page responds when someone taps a button, opens a menu, or submits a form. If your site loads fine but feels sluggish to interact with, a failing INP score is usually why.

Contractor websites fail INP almost exclusively because of too much JavaScript blocking the main thread. Every WordPress plugin you install adds JavaScript. Chat widgets, lead tracking scripts, popup tools, and review aggregator badges all compete for the same processing resources. When a visitor taps your phone number button, the browser must finish executing all of those scripts before it registers the tap.

  • Audit and remove unused plugins. In WordPress, go to Plugins and deactivate anything you’re not actively using. Industry audits consistently find that the average contractor WordPress site runs 8 to 12 plugins that serve no active business purpose.
  • Defer non-critical scripts. Analytics, chat, and social proof widgets do not need to run before the page is interactive. In WP Rocket or LiteSpeed Cache, this is a single checkbox. Without a caching plugin, add defer or async attributes to non-critical script tags directly.
  • Replace heavy chat widgets. Live chat plugins are among the worst INP offenders. Run PageSpeed Insights on any page that hosts one and check the JavaScript impact. Many contractors generate the same lead volume from a simple contact form that adds zero JavaScript overhead.

CLS: Cumulative Layout Shift

CLS measures how much your page shifts visually while loading. When a homeowner goes to tap your phone number and the page jumps at the last second causing them to hit something else instead, that is a CLS failure. Google penalizes it because it signals a disruptive user experience, regardless of how fast the page loaded overall.

The most common CLS causes on contractor websites:

  • Images without dimensions. If your HTML does not specify the width and height of images, the browser cannot reserve space for them during load. When the images download, everything below them shifts down. Adding width and height attributes to every image tag is a one-time fix that eliminates the most common CLS cause.
  • Late-loading banners and popups. Cookie consent bars, promotional headers, and exit-intent popups that appear above existing content after load cause layout shifts. Position them below the fold or inject them before the initial render.
  • Web fonts loading after render. If your fonts load after the page displays, text reflows as the font swaps in and shifts surrounding elements. Adding font-display: swap in your CSS and preloading critical fonts with a link rel="preload" tag prevents this shift.

How to Check Your Scores in Five Minutes

Go to PageSpeed Insights and enter your homepage URL. Run the analysis for mobile: Google uses mobile-first indexing, so mobile scores are what affect your rankings. The report shows a pass or fail for each Core Web Vital and identifies the specific elements causing failures, with an estimated improvement in seconds for each fix.

For site-wide data across all your pages, open Google Search Console, navigate to Experience, and click Core Web Vitals. This report shows which pages are failing and how many visits are affected. Start with your highest-traffic service pages. An HVAC repair page or emergency plumbing page with 500 monthly visitors is worth more to fix than a staff bio page with 10.

What Failing Scores Actually Cost You

In competitive local markets like HVAC, plumbing, and electrical, the difference between ranking third and ranking first on a service page often comes down to a few quality signals working together. Core Web Vitals are one of those signals. When two contractor sites have similar content quality and backlink profiles, the one with passing Core Web Vitals consistently outranks the one that fails. Google has confirmed this in its Page Experience documentation.

At $100 to $150 per lead in a competitive metro, the gap between position 1 and position 3 on a key service page is worth several thousand dollars a month in additional booked jobs. Most contractor sites have at least one failing metric caused by a single uncompressed image or an unused plugin. Both are 10-minute fixes. Run PageSpeed Insights today, identify your worst-scoring page, and fix the top flagged issue. That’s the entire starting point.

Want this done for you?

Get a free audit of your website, SEO, and GEO presence.