Core Web Vitals for Contractors: What the March 2026 Update Changed
Google's March 2026 core update changed two Core Web Vitals thresholds. Largest Contentful Paint (LCP) now requires content to load in under 2.0 seconds to pass. The previous threshold was 2.5 seconds, so any contractor site loading between 2.0 and 2.5 seconds now fails where it previously passed. Separately, Interaction to Next Paint (INP), which replaced First Input Delay in 2024, became a primary-weighted ranking signal. Contractor sites with slow-responding contact forms or booking tools are now carrying a ranking penalty that may not appear connected to page interactivity until you look at your Core Web Vitals report.
Industry analysis published after the March update found that sites failing the updated thresholds dropped an average of 0.8 to 4 positions on competitive queries. For a contractor ranking fourth for "AC repair [city]," a two-position drop means losing 40 to 60 percent of the clicks that page would otherwise capture. The failures are predictable. Most contractor sites fail for three specific reasons, each with a documented fix a developer can implement in a single day.
What Changed and What Did Not
| Metric | What It Measures | Old "Good" Threshold | Current "Good" Threshold |
|---|---|---|---|
| LCP (Largest Contentful Paint) | How fast the main content loads | Under 2.5 seconds | Under 2.0 seconds |
| INP (Interaction to Next Paint) | How fast the page responds to taps and clicks | Under 200ms | Under 200ms (now primary ranking signal) |
| CLS (Cumulative Layout Shift) | How much content moves while loading | Under 0.1 | Under 0.1 (unchanged) |
Google measures all three at the 75th percentile of real visits. That means 75 percent of your page loads need to meet each threshold. A site that loads quickly on fiber but slowly on an older phone at reduced signal can fail the 75th percentile even when the average time looks acceptable. Field data from real visitors is what Google uses for ranking decisions, not the simulated scores in developer tools.
How to Check Your Scores
Google PageSpeed Insights at pagespeed.web.dev: Enter any page URL and review the field data section at the top, labeled "Discover what your real users are experiencing." These numbers reflect actual visitor sessions. The lab data section below is simulated and does not represent what Google uses for ranking. Run your homepage and your two or three highest-traffic service pages separately: scores vary significantly between pages on the same domain.
Google Search Console Core Web Vitals report: Under Experience, then Core Web Vitals, the Mobile report groups your URLs by which metric is failing and at what severity. "Poor" pages are being actively downranked. "Needs Improvement" pages are flagged but carry less ranking pressure. Start with "Poor" URLs and cross-reference them with your organic traffic data. A service page that appears in both your "Poor" CWV list and your traffic decline report has a probable cause and a fixable one.
The Four Failures That Hit Contractor Sites Hardest
Unoptimized hero images: the primary LCP problem
The full-width hero image at the top of most contractor homepages is the Largest Contentful Paint element. A 3 MB PNG or uncompressed JPEG will not load in under 2.0 seconds on a mobile connection. Converting hero images to WebP format reduces file size by 40 to 60 percent at equivalent visual quality. Adding fetchpriority="high" to the hero img tag tells the browser to prioritize that resource immediately. These two changes combined reduce LCP by 0.4 to 0.8 seconds on most contractor sites, often moving a failing score to passing in an afternoon of work.
Contact form and booking widget JavaScript: the primary INP problem
Third-party contact forms, quote tools, and scheduling widgets load JavaScript that runs on the browser's main thread. When a homeowner taps "Get a Free Estimate," the browser has to finish executing pending scripts before it can respond to the interaction. INP measures that delay. Deferring non-critical scripts using the defer or async attribute loads the page content first, then runs scripts after the initial paint. Most contractor sites have three to six third-party scripts that can be safely deferred with no change to user-facing behavior. A developer familiar with JavaScript loading order can complete this in two to three hours.
Third-party embeds adding render-blocking weight
Live chat tools, review display widgets, and lead-capture scripts from Angi or Bark load external JavaScript that competes with your page's main content. Some add 0.5 to 1.5 seconds to LCP on their own. PageSpeed Insights lists each one under "Reduce render-blocking resources" with the exact script name and the time it costs. Audit every third-party script on your site and evaluate the return: a chat widget producing three leads per month on a site generating 300 organic visits per week may cost more in ranking signal than it returns in leads. Removing or lazy-loading low-value third-party scripts is the fastest CWV improvement for sites that have already addressed image optimization.
Images without explicit dimensions: the CLS problem
Cumulative Layout Shift measures how much content moves while the page loads. The most common contractor site CLS failure: certification badges, review logos, and gallery photos without explicit width and height attributes in the HTML. Without those attributes, the browser cannot reserve space for the image before it downloads, so other content shifts when the image appears. Adding width and height to every img tag is a mechanical pass a developer completes across an entire site in one to two hours. CLS scores typically move from "Needs Improvement" to "Good" in a single pass.
Fix Priority by Impact
| Priority | Fix | Developer Time | Metric |
|---|---|---|---|
| 1 | Convert hero images to WebP, add fetchpriority="high" | 1 to 2 hours | LCP |
| 2 | Defer non-critical JavaScript on each page | 2 to 3 hours | INP |
| 3 | Audit and remove low-value third-party scripts | 1 hour | LCP |
| 4 | Add width and height attributes to all images | 1 to 2 hours | CLS |
Three Actions for This Week
- Run PageSpeed Insights on your homepage and your top service page. Focus on the field data section, not the lab scores. If LCP is above 2.0 seconds or INP is above 200ms, you have an active ranking penalty from the March update. The "Opportunities" section lists every recommended fix sorted by time savings. Screenshot it and send it to your developer as a work order. The top three items account for the majority of the score improvement available on that page.
- Check Search Console for pages flagged as "Poor." Go to Experience, then Core Web Vitals, then open the Mobile report. Any page listed as "Poor" is being actively downranked. The report groups pages by the specific failing metric, which tells your developer exactly where to start. A service page with a notable traffic drop that also appears in the "Poor" CWV list has a probable cause and a clear fix.
- Ask your developer to convert images to WebP on your top pages. This is the highest single-impact CWV fix available for most contractor sites. On WordPress, plugins like ShortPixel or Imagify handle the conversion automatically. On a custom site, it is a one-time manual pass on the hero image and above-the-fold photos for each core service page. Your developer should complete this in under four hours, and LCP scores in PageSpeed Insights should improve measurably within 24 hours of deployment.
Google measures Core Web Vitals continuously against real visitor data, so scores shift as your site gains new content, plugins, or third-party embeds. Run PageSpeed Insights on your core pages once per quarter and check the Search Console Core Web Vitals report monthly. Most contractor competitors have not audited their scores since March. The ones who check and fix first carry a technical ranking advantage on every competitive query in their service area until competitors catch up.