Core Web Vitals
Google's metrics for user experience: loading speed, interactivity, and visual stability.
Core Web Vitals are three metrics Google uses to measure the user experience of a web page. They have been an official ranking factor since 2021.
The three metrics
LCP (Largest Contentful Paint): measures how quickly the largest visible element loads. Target: under 2.5 seconds.
INP (Interaction to Next Paint): measures how responsively the page reacts to user interaction. Target: under 200 milliseconds. INP replaced FID in March 2024.
CLS (Cumulative Layout Shift): measures how much the layout shifts during loading. Target: under 0.1.
Core Web Vitals and AI
Fast, stable websites are better crawled by both search engines and AI bots. A good technical foundation is a prerequisite for optimal visibility across all channels.
Thresholds
| Metric | Good (green) | Needs improvement (orange) | Poor (red) |
|---|---|---|---|
| LCP (Largest Contentful Paint) | ≤ 2.5 seconds | 2.5 – 4.0 seconds | > 4.0 seconds |
| INP (Interaction to Next Paint) | ≤ 200 milliseconds | 200 – 500 milliseconds | > 500 milliseconds |
| CLS (Cumulative Layout Shift) | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
Optimization tips per metric
Optimizing LCP
- Images: use modern formats (WebP, AVIF), set explicit width and height, use
loading="eager"andfetchpriority="high"for the LCP element. - Server: reduce Time to First Byte (TTFB) through caching, CDN, and faster hosting. Consider edge computing.
- Fonts: use
font-display: swaporoptional. Preload critical fonts with<link rel="preload">. - CSS: inline critical CSS and load the rest asynchronously. Remove unused CSS.
- Render-blocking resources: move non-critical JavaScript to
deferorasync.
Optimizing INP
- JavaScript: break long tasks into smaller chunks using
requestIdleCallbackorscheduler.yield(). - Event handlers: keep event handlers lightweight. Avoid synchronous DOM manipulation in click/input handlers.
- Third-party scripts: load tracking and analytics asynchronously. Consider a tag manager with lazy loading.
- Framework overhead: avoid unnecessary re-renders (React: useMemo, useCallback; Vue: computed properties).
Optimizing CLS
- Images and video: always set explicit
widthandheightattributes, or use CSSaspect-ratio. - Web fonts: reserve space with
font-display: optionalorsize-adjustin@font-face. - Dynamic content: reserve space for ads, embeds, and lazy-loaded elements using CSS
min-height. - Animations: only use
transformandopacityfor animations. Avoid animatingwidth,height, ortop.
Measurement tools
| Tool | Data type | Free | Details |
|---|---|---|---|
| PageSpeed Insights | Lab + field data (CrUX) | Yes | Combines Lighthouse scores with real user data |
| Google Search Console | Field data (CrUX) | Yes | Shows CWV status per page and reports issues |
| Chrome DevTools (Lighthouse) | Lab data | Yes | Local test, useful for debugging but no real user data |
| WebPageTest | Lab data | Yes (basic) | Advanced filmstrip, waterfall, and run comparison |
| Chrome UX Report (CrUX) | Field data | Yes (BigQuery) | Raw dataset, 28-day rolling average, per origin |
| web-vitals (JavaScript library) | Field data (own site) | Yes | Measures CWV from real visitors, send to your own analytics |
Frequently asked questions
Are Core Web Vitals an important ranking factor?
Core Web Vitals are a confirmed ranking factor, but they act as a "tiebreaker." When relevance and quality are equal, a better CWV score can make the difference. Content relevance remains the dominant factor.
What's the difference between lab data and field data?
Lab data is measured in a controlled environment (e.g., Lighthouse). Field data (CrUX) comes from real users via Chrome. Google uses field data for ranking. Lab data is useful for finding and debugging issues.
How long until CWV improvements take effect?
Google uses a 28-day rolling average of CrUX data. After an improvement, it takes at least 28 days for the new scores to be fully visible, and then it may take several more weeks before ranking effects are noticeable.
Should I worry about CWV if I have a small website?
Small websites often lack sufficient traffic to generate CrUX data. In that case, Google uses other signals. But good performance also improves user experience and conversion, regardless of ranking.
Do Core Web Vitals affect how AI bots crawl my site?
Not directly, but indirectly yes. A slow server (high TTFB) can cause bots to visit fewer pages per crawl session. Additionally, some AI bot selection processes measure a site's technical quality as a signal for source reliability.
What does our scanner check?
Our scanner measures your Core Web Vitals via the CrUX API (real user data). We report LCP, INP, and CLS with their assessments (good, needs improvement, poor) and provide specific optimization tips per metric. Test your Core Web Vitals.