Google's Core Web Vitals Update: What SA Web Developers Are Still Getting Wrong
Core Web Vitals have been a ranking factor since 2021. In 2024, a surprising number of SA business sites still fail the basics. Here's what the data says.
Core Web Vitals became a Google ranking signal in May 2021. Nearly three years later, a significant percentage of South African business websites still fail the assessment. Not because the fixes are complicated — but because most developers building these sites haven't checked.
Here's what the failures look like and what actually needs to be fixed.
What Core Web Vitals Measure
Google's Core Web Vitals assessment captures three things:
Largest Contentful Paint (LCP) — how long it takes for the main visible content of the page to load. Target: under 2.5 seconds.
Interaction to Next Paint (INP) — how quickly the page responds after a user interaction. Target: under 200 milliseconds. (INP replaced First Input Delay in March 2024.)
Cumulative Layout Shift (CLS) — how much the page layout shifts during loading. A banner that pushes text down, or an image that causes content to jump, scores poorly here. Target: under 0.1.
These are measurable in Google Search Console's Core Web Vitals report, which is free and available to any site owner.
The Most Common SA Site Failures
Uncompressed images cause the majority of LCP failures. An original photograph uploaded to a WordPress media library at 4MB is still 4MB when it reaches the visitor's browser. On mobile, on a 4G connection, that's a five-second image load. Most SA sites have multiple such images on the homepage.
The fix: compress images before upload (WebP format, under 200KB for most cases), or use a framework like Next.js that handles this automatically.
No explicit image dimensions cause CLS failures. When a browser loads a page without knowing an image's dimensions in advance, it reserves no space for it. When the image loads, everything shifts. The fix is as simple as adding width and height attributes to every img tag.
Third-party scripts loading synchronously cause INP failures and general slowness. Facebook Pixel, Google Tag Manager, cookie consent banners, and chat widgets all loaded in the page head block rendering until they're processed. The fix is to defer or async non-critical scripts.
No caching headers mean repeat visitors download the entire page on every visit. A properly configured caching policy delivers cached assets from the visitor's device — dramatically faster on repeat views.
Why Developers Aren't Fixing These
The most common reason: they're not looking. Most South African web development projects don't include a performance audit as a deliverable. The site is built, it works, it looks fine, it's launched.
Google Search Console shows Core Web Vitals data per URL, with field data from real users. If a site has been live for more than a month, the data is there. Most site owners have simply never been told to look at it.
The SEO Consequence Is Real
Core Web Vitals are one of many ranking signals — not the only one, and not the most important. But for two sites competing for the same local search term with similar content quality, the faster site with better vitals will consistently outrank the slower one.
For a South African service business trying to appear in local search results, this is a free competitive advantage. Fixing Core Web Vitals issues is a one-time technical task, not an ongoing cost.