Core Web Vitals uitgelegd: wat Google meet en hoe je scoort Core Web Vitals Explained: What Google Measures and How to Score
In dit artikel
Core Web Vitals zijn drie meetwaarden waarmee Google de gebruikservaring van je website beoordeelt: laadsnelheid (LCP), interactiviteit (INP) en visuele stabiliteit (CLS). Sinds 2021 zijn ze een directe rankingfactor. Scoor je slecht, dan kost het je posities in Google.
Maar wat meten die afkortingen precies? En hoe verbeter je ze zonder een developer in te huren? In dit artikel leggen we elke metric uit in begrijpelijke taal, inclusief concrete grenswaarden en oplossingen.
Wat zijn Core Web Vitals?
Google wil dat websites snel laden, direct reageren op klikken en niet onverwacht verspringen. Daarvoor heeft het drie metrics gedefinieerd die samen de “Core Web Vitals” vormen. Ze meten de echte ervaring van je bezoekers, niet theoretische labwaarden.
| Metric | Meet | Goed | Moet beter | Slecht |
|---|---|---|---|---|
| LCP | Laadtijd grootste element | ≤ 2,5s | 2,5s – 4,0s | > 4,0s |
| INP | Reactietijd op interactie | ≤ 200ms | 200ms – 500ms | > 500ms |
| CLS | Visuele verschuivingen | ≤ 0,1 | 0,1 – 0,25 | > 0,25 |
LCP: Largest Contentful Paint
Wat het meet: hoe lang het duurt voordat het grootste zichtbare element op je pagina is geladen. Dit is meestal je hero-afbeelding, een grote koptekst of een video-thumbnail.
Waarom het ertoe doet: LCP is de metric die het dichtst bij de beleving van “deze pagina is geladen” komt. Een LCP boven de 4 seconden voelt voor bezoekers alsof er iets mis is.
Veelvoorkomende oorzaken van een slechte LCP:
Trage serverrespons (hoge TTFB), ongeoptimaliseerde afbeeldingen, render-blokkerende CSS of JavaScript, te veel externe bronnen laden en trage hosting.
Zo verbeter je LCP:
Optimaliseer je hero-afbeelding (WebP, juiste afmetingen), gebruik een caching-plugin, kies snellere hosting, minimaliseer render-blokkerende resources en overweeg een CDN voor statische bestanden.
INP: Interaction to Next Paint
Wat het meet: hoe snel je website reageert wanneer een bezoeker klikt, tikt of typt. INP vervangt sinds maart 2024 de oude FID-metric en is strenger: het meet alle interacties, niet alleen de eerste.
Waarom het ertoe doet: een trage reactie op een klik voelt als een kapotte knop. Bezoekers klikken opnieuw, worden ongeduldig of vertrekken.
Veelvoorkomende oorzaken van een slechte INP:
Zware JavaScript die de main thread blokkeert, te veel third-party scripts (analytics, chatwidgets, social media embeds), ongeoptimaliseerde event handlers en complexe DOM-structuren.
Zo verbeter je INP:
Verminder en splits JavaScript op (code splitting), stel niet-essentiële scripts uit (defer/async), beperk third-party scripts, gebruik web workers voor zware taken en vereenvoudig je DOM.
CLS: Cumulative Layout Shift
Wat het meet: hoeveel elementen op je pagina onverwacht verschuiven terwijl de pagina laadt. Denk aan tekst die naar beneden springt als een afbeelding boven de tekst laadt, of een knop die verschuift zodat je per ongeluk ergens anders op klikt.
Waarom het ertoe doet: layout shifts zijn frustrerend. Je bent een tekst aan het lezen, en plotseling verschuift alles. Of je klikt op de verkeerde knop omdat het menu net verschoof.
Veelvoorkomende oorzaken van een slechte CLS:
Afbeeldingen zonder vaste afmetingen (width/height), dynamisch geladen advertenties of embeds, web fonts die een layout shift veroorzaken (FOUT), en elementen die boven bestaande content worden ingevoegd.
Zo verbeter je CLS:
Geef alle afbeeldingen en video’s vaste width/height attributen, reserveer ruimte voor advertenties en embeds, gebruik font-display: swap voor web fonts, en vermijd het dynamisch invoegen van content boven de vouw.
Hoe meet je Core Web Vitals?
| Tool | Type data | Gratis? | Wanneer gebruiken |
|---|---|---|---|
| PageSpeed Insights | Veld + lab | Ja | Eerste snelle check |
| Google Search Console | Velddata | Ja | Trends over tijd, alle pagina’s |
| Chrome DevTools (Lighthouse) | Labdata | Ja | Technisch debuggen |
| Web Vitals extensie | Realtime | Ja | Snel testen tijdens ontwikkeling |
| GTmetrix | Lab | Beperkt | Gedetailleerde waterfall-analyse |
Velddata vs. labdata
Velddata (field data) komt van echte bezoekers via Chrome. Dit is wat Google gebruikt voor ranking. Labdata wordt gesimuleerd in een gecontroleerde omgeving. Gebruik labdata om problemen op te sporen, maar beoordeel je score op velddata.
De 10 meest voorkomende oorzaken van slechte scores
1. Ongeoptimaliseerde afbeeldingen — Grote PNG/JPEG-bestanden zonder compressie of moderne formaten (WebP/AVIF).
2. Geen caching — Elke bezoeker dwingt de server om alles opnieuw op te bouwen.
3. Te veel plugins — Elke plugin laadt eigen CSS en JavaScript, ook op pagina’s waar het niet nodig is.
4. Trage hosting — Een hoge TTFB (Time to First Byte) maakt alle andere optimalisaties zinloos.
5. Render-blokkerende resources — CSS en JavaScript in de head die het renderen van de pagina blokkeren.
6. Geen lazy loading — Alle afbeeldingen tegelijk laden, ook de afbeeldingen onderaan de pagina.
7. Externe scripts — Google Analytics, Facebook Pixel, chatwidgets en reCAPTCHA laden veel extra code.
8. Ongeoptimaliseerde fonts — Meerdere font-varianten laden die je niet gebruikt.
9. Database-bloat — Duizenden post-revisies, spam-reacties en tijdelijke opties vertragen queries.
10. Geen CDN — Bezoekers ver van je server wachten langer op elk bestand.
WordPress-specifieke oplossingen
WordPress maakt het gelukkig relatief eenvoudig om je Core Web Vitals te verbeteren. Hier zijn de meest effectieve stappen:
Installeer een caching-plugin — WP Rocket, LiteSpeed Cache of W3 Total Cache. Dit alleen kan je LCP al met 40-60% verbeteren.
Gebruik een image optimization plugin — ShortPixel, Imagify of Smush. Ze comprimeren afbeeldingen automatisch en converteren naar WebP.
Beperk plugin-gebruik — Deactiveer en verwijder plugins die je niet gebruikt. Test met Plugin Performance Profiler welke plugins de meeste impact hebben.
Optimaliseer je thema — Gebruik een lichtgewicht thema (GeneratePress, Kadence, Astra) of laat je huidige thema optimaliseren.
Stel scripts uit — Gebruik WP Rocket’s “Delay JavaScript execution” of Flying Scripts om niet-essentiële scripts uit te stellen.
Veelgestelde vragen
Zijn Core Web Vitals echt een rankingfactor?
Ja, maar het is een van de vele factoren. Relevante content is nog steeds belangrijker. Zie Core Web Vitals als een tiebreaker: bij gelijke content-kwaliteit wint de snellere site.
Hoe lang duurt het voordat verbeteringen zichtbaar zijn?
Labdata (PageSpeed Insights) verbetert direct. Velddata in Search Console heeft 28 dagen nodig, omdat Google echte bezoekersdata verzamelt over die periode.
Mijn mobiele score is veel lager dan desktop — is dat normaal?
Ja, dat is normaal. Google simuleert mobiel een langzamere verbinding en minder processorkracht. Focus op de mobiele score, want Google gebruikt mobile-first indexing.
Kan ik een perfecte score van 100 behalen?
Technisch mogelijk, maar in de praktijk onrealistisch voor websites met functionaliteit. Een score boven 90 is uitstekend. Focus op de Core Web Vitals (alle drie groen) in plaats van een perfecte Lighthouse-score.
In this article
Core Web Vitals are three metrics Google uses to evaluate your website's user experience: loading speed (LCP), interactivity (INP) and visual stability (CLS). Since 2021, they've been a direct ranking factor. Score poorly, and it costs you positions in Google.
But what exactly do those abbreviations measure? And how do you improve them without hiring a developer? In this article, we explain each metric in understandable language, including concrete thresholds and solutions.
What are Core Web Vitals?
Google wants websites to load fast, respond immediately to clicks and not jump around unexpectedly. For this, it defined three metrics that together form the "Core Web Vitals." They measure the real experience of your visitors, not theoretical lab values.
| Metric | Measures | Good | Needs improvement | Poor |
|---|---|---|---|---|
| LCP | Largest element load time | ≤ 2.5s | 2.5s – 4.0s | > 4.0s |
| INP | Interaction response time | ≤ 200ms | 200ms – 500ms | > 500ms |
| CLS | Visual shifts | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
LCP: Largest Contentful Paint
What it measures: how long it takes for the largest visible element on your page to load. This is usually your hero image, a large heading or a video thumbnail.
Why it matters: LCP is the metric closest to the feeling of "this page has loaded." An LCP above 4 seconds makes visitors feel something is wrong.
Common causes of poor LCP:
Slow server response (high TTFB), unoptimized images, render-blocking CSS or JavaScript, too many external resources loading and slow hosting.
How to improve LCP:
Optimize your hero image (WebP, correct dimensions), use a caching plugin, choose faster hosting, minimize render-blocking resources and consider a CDN for static files.
INP: Interaction to Next Paint
What it measures: how quickly your website responds when a visitor clicks, taps or types. INP replaced the old FID metric in March 2024 and is stricter: it measures all interactions, not just the first one.
Why it matters: a slow response to a click feels like a broken button. Visitors click again, get impatient or leave.
Common causes of poor INP:
Heavy JavaScript blocking the main thread, too many third-party scripts (analytics, chat widgets, social media embeds), unoptimized event handlers and complex DOM structures.
How to improve INP:
Reduce and split JavaScript (code splitting), defer non-essential scripts (defer/async), limit third-party scripts, use web workers for heavy tasks and simplify your DOM.
CLS: Cumulative Layout Shift
What it measures: how much elements on your page unexpectedly shift while the page loads. Think of text jumping down when an image above it loads, or a button shifting so you accidentally click something else.
Why it matters: layout shifts are frustrating. You're reading text, and suddenly everything shifts. Or you click the wrong button because the menu just moved.
Common causes of poor CLS:
Images without fixed dimensions (width/height), dynamically loaded ads or embeds, web fonts causing a layout shift (FOUT), and elements inserted above existing content.
How to improve CLS:
Give all images and videos fixed width/height attributes, reserve space for ads and embeds, use font-display: swap for web fonts, and avoid dynamically inserting content above the fold.
How to measure Core Web Vitals
| Tool | Data type | Free? | When to use |
|---|---|---|---|
| PageSpeed Insights | Field + lab | Yes | First quick check |
| Google Search Console | Field data | Yes | Trends over time, all pages |
| Chrome DevTools (Lighthouse) | Lab data | Yes | Technical debugging |
| Web Vitals extension | Real-time | Yes | Quick testing during development |
| GTmetrix | Lab | Limited | Detailed waterfall analysis |
Field data vs. lab data
Field data comes from real visitors via Chrome. This is what Google uses for ranking. Lab data is simulated in a controlled environment. Use lab data to find problems, but judge your score on field data.
The 10 most common causes of poor scores
1. Unoptimized images — Large PNG/JPEG files without compression or modern formats (WebP/AVIF).
2. No caching — Every visitor forces the server to rebuild everything from scratch.
3. Too many plugins — Each plugin loads its own CSS and JavaScript, even on pages where it's not needed.
4. Slow hosting — A high TTFB (Time to First Byte) makes all other optimizations pointless.
5. Render-blocking resources — CSS and JavaScript in the head that block page rendering.
6. No lazy loading — Loading all images at once, including images at the bottom of the page.
7. External scripts — Google Analytics, Facebook Pixel, chat widgets and reCAPTCHA load lots of extra code.
8. Unoptimized fonts — Loading multiple font variants you don't use.
9. Database bloat — Thousands of post revisions, spam comments and temporary options slow down queries.
10. No CDN — Visitors far from your server wait longer for every file.
WordPress-specific solutions
WordPress fortunately makes it relatively easy to improve your Core Web Vitals. Here are the most effective steps:
Install a caching plugin — WP Rocket, LiteSpeed Cache or W3 Total Cache. This alone can improve your LCP by 40-60%.
Use an image optimization plugin — ShortPixel, Imagify or Smush. They automatically compress images and convert to WebP.
Limit plugin usage — Deactivate and remove plugins you don't use. Test with Plugin Performance Profiler to see which plugins have the most impact.
Optimize your theme — Use a lightweight theme (GeneratePress, Kadence, Astra) or have your current theme optimized.
Defer scripts — Use WP Rocket's "Delay JavaScript execution" or Flying Scripts to defer non-essential scripts.
Frequently asked questions
Are Core Web Vitals really a ranking factor?
Yes, but it's one of many factors. Relevant content is still more important. Think of Core Web Vitals as a tiebreaker: with equal content quality, the faster site wins.
How long until improvements become visible?
Lab data (PageSpeed Insights) improves immediately. Field data in Search Console needs 28 days, because Google collects real visitor data over that period.
My mobile score is much lower than desktop — is that normal?
Yes, that's normal. Google simulates a slower connection and less processing power on mobile. Focus on the mobile score, as Google uses mobile-first indexing.
Can I achieve a perfect score of 100?
Technically possible, but practically unrealistic for websites with functionality. A score above 90 is excellent. Focus on the Core Web Vitals (all three green) rather than a perfect Lighthouse score.