Skip to content
Back to Blog
Fast Websites That Rank on Google: Core Web Vitals 2026
Tech

Fast Websites That Rank on Google: Core Web Vitals 2026

INP replaced FID, and most websites are not prepared. How to get your Core Web Vitals into the green zone and why performance decides rankings.

Christopher Krah19 February 202612 min read

Fast Websites That Rank on Google: Core Web Vitals 2026

I do this regularly: sitting on the couch in the evening, phone in hand, googling local businesses in the Eifel region. Not because I need something. Because I want to see how their websites perform.

Last week I looked at ten trade businesses from the Euskirchen district. The result was sobering. Seven pages took more than four seconds to load. Three had layout shifts that made the content jump around wildly while scrolling. And on five sites, it took over a second before a tap on the "Contact" button showed any reaction.

These are not minor issues. These are ranking killers.

What Changed in 2024: INP Instead of FID

In March 2024, Google made a change to the Core Web Vitals that many people missed. FID (First Input Delay) was replaced by INP (Interaction to Next Paint). That sounds technical. It is. But the impact is significant.

FID only measured the delay of the very first interaction. Once. Then the metric was done. INP is far stricter: it measures response time across the entire visit and takes the worst value (with statistical smoothing). If your page reacts quickly to the first click but stutters on the third or fourth, that now shows up.

Why this matters for you: many websites that had green scores under FID are failing under INP. Especially pages with complex forms, slider elements, or heavy JavaScript frameworks. The red light in Google Search Console often comes as a surprise.

The Three Core Web Vitals in 2026

Google evaluates your website based on three metrics. Each one measures a different aspect of user experience.

LCP: Largest Contentful Paint

Target: under 2.5 seconds

LCP measures how long it takes for the largest visible content element in the viewport to load. That is usually an image, a heading, or a video thumbnail. The user sees a blank or half-finished page during this time. The longer it takes, the more likely the visitor leaves.

What drives LCP up:

  • Uncompressed images (the most common reason)
  • Slow server response times
  • Render-blocking CSS or JavaScript
  • Missing prioritization of the main content

INP: Interaction to Next Paint

Target: under 200 milliseconds

INP measures how quickly your page responds to user interactions. Every click, every tap, every keyboard input. The metric captures the entire chain: from the input event through JavaScript processing to the next visual update in the browser.

200 milliseconds is the threshold. That sounds like a lot, but it is not. If a click on "Add to cart" first triggers an analytics script, then a cookie check, then the animation, you are over that limit quickly.

CLS: Cumulative Layout Shift

Target: under 0.1

CLS measures how much the layout shifts during loading. You know the feeling: you want to tap a button, and at the last moment everything jumps down because an ad banner or an image loads in. That is a layout shift.

The most common causes:

  • Images without defined width and height
  • Ad banners that load after the page
  • Web fonts that reformat text during loading
  • Dynamically injected content above the current viewport

The Rendering Pipeline: From Request to Experience

To understand where performance is lost, it helps to look at the path every page load takes. Every step in this chain can become a bottleneck.

Rendering pipeline: from request to interactive experience

DNS Lookup, TLS Handshake, Server Response: these are the network steps before the browser even starts working. Then comes HTML parsing, loading CSS and JavaScript, layout construction, and finally interactivity. Each of these steps offers levers for optimization.

From my time at New Relic, I know this: most performance problems are not where you expect them. We built observability tools that made exactly this pipeline visible. What surprised me again and again: developers spent hours optimizing the wrong thing because they did not measure. That applies to Fortune 500 companies just as much as to the bakery website from a small town.

Why This Matters Especially for Regional Businesses

When someone searches Google for "plumber near me" or "hairdresser in my town," you are not competing with Amazon. You are competing with five to fifteen other local providers. And with that handful of results, Core Web Vitals can make the difference.

Google confirmed in 2021 that Core Web Vitals feed into the ranking signal. When two pages have equal content quality, the algorithm favors the faster one. In a local market where content differences are often small, performance becomes the tiebreaker.

Then there is user behavior. A 2023 Google study shows: when a mobile page takes longer than three seconds to load, 53% of visitors bounce. With local searches, impatience is even greater. Someone searching for "pizzeria nearby" on the go will not wait five seconds.

I experienced this firsthand with a client in the region. A mid-sized business, good work, good reputation, but the website took over six seconds to load on mobile. After targeted performance improvements (images compressed, JavaScript cleaned up, server relocated to Frankfurt), load time dropped below two seconds. Within eight weeks, visibility in Google Search Console increased by 40%.

That is not a magic trick. That is physics. And algorithm.

Performance Improvement in Practice

Now it gets concrete. The following techniques are not a theoretical textbook. These are the things we implement at Plexito on every project and that are standard in our services.

Images: The Biggest Lever

Images account for 50-70% of transferred data volume on most websites. This is where the biggest lever for faster load times lies.

  • WebP and AVIF instead of JPEG and PNG. WebP saves on average 25-35% compared to JPEG at the same quality. AVIF goes even further, up to 50% smaller. Both formats are supported by all modern browsers
  • Responsive images with srcset. Why should a smartphone load a 2400px wide image when the screen is only 390px wide? With srcset and sizes, the browser delivers exactly the right size
  • Lazy loading for everything below the viewport. The loading="lazy" attribute is now a native HTML standard. Images the user cannot see yet are only loaded when they scroll down. The hero image at the top gets loading="eager" and ideally fetchpriority="high"
  • Fixed dimensions in HTML. Every <img> tag needs width and height attributes. Otherwise the browser does not know how much space to reserve, and you produce layout shifts

Code: Less Is Faster

JavaScript is the most common reason for poor INP scores. Every script running on the main thread blocks interactivity.

  • Code splitting. Only load the code the current page needs. With Next.js this happens automatically per route, but libraries like Chart.js or Moment.js should be loaded separately
  • Tree shaking. If you only use one function from a library, only that function should end up in the bundle. Modern bundlers like Turbopack do this automatically, but only with ES modules
  • defer and async for third-party scripts. Analytics, chat widgets, tracking pixels: none of that belongs in the critical rendering path. defer loads the script in parallel and executes it only after HTML parsing is complete

One point I know from my work at New Relic: the worst performance killers are often not your own code but third-party scripts. A single poorly loaded chat widget can double your INP scores. Measure that. Always.

Server and Network: The Invisible Foundation

You can tune the client side all you want. If the server responds slowly, none of it helps.

  • Edge hosting in Frankfurt. For DACH customers, a server in Frankfurt am Main is the best location. Latency to a user in the Eifel region is then 5-15ms instead of 80-120ms with a server in the US. That sounds like little, but with multiple requests it adds up
  • CDN for static assets. CSS, JavaScript, images, fonts: all of this should be served through a Content Delivery Network like Vercel Edge, Cloudflare, or AWS CloudFront. The user gets the data from the nearest edge location
  • Brotli compression. Brotli compresses 15-20% better than Gzip. Most modern servers and CDNs support it. Enable it. Now
  • Set cache headers correctly. Static assets (CSS, JS, images) get Cache-Control: public, max-age=31536000, immutable. This way the browser loads them from local cache on the second visit. Zero network requests
  • HTTP/2 or HTTP/3. Multiplexing allows the browser to load many files simultaneously over a single connection. This eliminates the head-of-line blocking of HTTP/1.1

Performance Budget: How to Stay in Control

A one-time performance improvement is not enough. Without discipline, decay creeps in. A new tracking script here, an unoptimized image there, and after three months you are back in the red zone.

The solution: a performance budget.

A performance budget defines limits that must not be exceeded. The team agrees on specific numbers and integrates the check into the development process. At Plexito, this is what it looks like:

| Metric | Budget | Rationale | | ------------ | ----------------- | ----------------------------- | | LCP | < 1.8s | Google green zone with buffer | | INP | < 150ms | Well below the 200ms limit | | CLS | < 0.05 | Half the Google threshold | | Total JS | < 200 KB (gzip) | Keeps the main thread free | | Total Images | < 500 KB per page | Saves mobile data volume |

If a new feature or change exceeds the budget, it does not get deployed. Period. That sounds strict, but it works. We check this automatically on every build with Lighthouse CI.

The trick is setting the budget from the start. Not retroactively. When the website is already slow, it is much harder to make it fast again than to keep it fast from the beginning.

Common Mistakes I See in the Region

From working with businesses in the Eifel and Rhineland, I know the typical patterns.

Homepage slider with five high-resolution images. Each image 2 MB, all loaded on page load even though the user only sees the first one. That is 10 MB for a single page view. On mobile with LTE, that takes forever.

WordPress with 30 plugins. Each plugin brings its own CSS and JavaScript. Most of them are not even needed on the current page but loaded anyway. I have seen pages that shipped over 3 MB of JavaScript. For comparison: our pages at Plexito are under 200 KB.

No caching, no CDN. The server sits at a cheap hosting provider somewhere in Europe. Every page view is freshly rendered by the server, including database queries. No browser caching, no CDN. Every visitor waits the full load time.

Google Fonts loaded incorrectly. Instead of hosting the font locally, it is loaded from an external Google server. That costs an extra DNS lookup, a TLS handshake, and an HTTP request. And if the Google server is slow, it blocks the entire rendering.

What You Can Do on Monday

Enough theory. Here are concrete steps you can take this week:

  1. Measure. Open PageSpeed Insights and enter your URL. Look at the three Core Web Vitals. Green, yellow, or red? Note the values. That is your baseline

  2. Identify the biggest images. In the PageSpeed report, find the section "Serve images in next-gen formats." There you see which images waste the most data. Often it is enough to compress the three largest to significantly improve LCP

  3. Check third-party scripts. Open Chrome DevTools (F12), go to the Network tab, and sort by size. Which external scripts are being loaded? Do you really need all of them?

  4. Check Google Search Console. Under "Core Web Vitals" you see how Google evaluates your pages. The data there is based on real user data (CrUX), not lab measurements. That is the truth

  5. Check your hosting location. Where is your server? Use a tool like DNS Checker or the ping command in the terminal. If latency is above 50ms, switching to a provider with a Frankfurt location is worthwhile

If after the analysis you find your values are in the red zone: do not panic. That is the case for most sites. And it is solvable.

The Difference Between Measuring and Guessing

A phrase I took from my time at New Relic: "If you can't measure it, you can't improve it." That applies to enterprise software just as much as to your company's website.

Too many agencies and web designers work on gut feeling. "The page feels fast." That is not enough. Google measures in milliseconds. And Google decides whether you land on page one or not.

The good news: the tools are free. PageSpeed Insights, Lighthouse, Search Console, Chrome DevTools. You do not need expensive software. You need someone who reads the numbers and draws the right conclusions.

If you want to get your Core Web Vitals into the green zone and are not sure where to start: get in touch. We will look at your website and tell you honestly where the biggest levers are. No marketing speak, just numbers and concrete actions.

Share:
#seo#performance#core-web-vitals#website

Related Articles