Core Web Vitals Thresholds
Core Web Vitals are the three metrics that Google uses for search ranking and page experience evaluation. Values are measured at the 75th percentile of page visits.To rank well in Google Search, 75% of your page visits must meet the “Good” threshold for all three metrics.
The Three Metrics
| Metric | Measures | Good | Needs Improvement | Poor |
|---|---|---|---|---|
| LCP Largest Contentful Paint | Loading performance | ≤ 2.5s | 2.5s – 4.0s | > 4.0s |
| INP Interaction to Next Paint | Interactivity and responsiveness | ≤ 200ms | 200ms – 500ms | > 500ms |
| CLS Cumulative Layout Shift | Visual stability | ≤ 0.1 | 0.1 – 0.25 | > 0.25 |
- LCP Details
- INP Details
- CLS Details
Largest Contentful Paint (LCP)Measures when the largest visible content element renders. Usually:
- Hero image or video
- Large text block
- Background image (with CSS)
- SVG element
- Slow server response (TTFB > 800ms)
- Render-blocking resources
- Slow resource load times
- Client-side rendering delays
Lighthouse Score Targets
Lighthouse audits produce scores from 0-100 for each category. These are the recommended target scores:| Category | Target Score | Priority |
|---|---|---|
| Performance | ≥ 90 | High |
| Accessibility | 100 | Critical |
| Best Practices | ≥ 95 | High |
| SEO | ≥ 95 | Medium |
Why Accessibility Should Be 100
Why Accessibility Should Be 100
Unlike other categories where some issues are recommendations, accessibility issues directly impact users’ ability to access your content. A score below 100 means some users cannot fully use your site. This is both an ethical concern and a legal risk in many jurisdictions.
Performance Score Breakdown
Lighthouse Performance score is weighted:| Metric | Weight | Target | Impact |
|---|---|---|---|
| LCP (Largest Contentful Paint) | 25% | < 2.5s | Loading |
| TBT (Total Blocking Time) | 30% | < 200ms | Interactivity |
| CLS (Cumulative Layout Shift) | 25% | < 0.1 | Visual Stability |
| FCP (First Contentful Paint) | 10% | < 1.8s | Loading |
| Speed Index | 10% | < 3.4s | Visual Progress |
INP (Interaction to Next Paint) is measured separately as a Core Web Vital and is not part of the Lighthouse Performance score calculation, though it’s reported in Lighthouse 10+.
Performance Budget Recommendations
Performance budgets help prevent regression. These budgets assume 3G network connection (4 Mbps):Resource Size Budgets
| Resource Type | Budget (Compressed) | Budget (Uncompressed) | Rationale |
|---|---|---|---|
| Total page weight | < 1.5 MB | ~3-4 MB | 3G loads in ~4s |
| JavaScript | < 300 KB | ~900 KB | Parsing + execution time |
| CSS | < 100 KB | ~300 KB | Render blocking |
| Images (above-fold) | < 500 KB | N/A | LCP impact |
| Fonts | < 100 KB | N/A | FOIT/FOUT prevention |
| Third-party scripts | < 200 KB | ~600 KB | Uncontrolled latency |
- JavaScript Budget
- CSS Budget
- Image Budget
- Font Budget
Why 300 KB compressed?
- 300 KB gzipped ≈ 900 KB uncompressed
- Parse time: ~100-200ms on mid-tier mobile
- Execution time: Varies by code complexity
- Total impact: Can block main thread for 300-500ms
- Critical JS: < 50 KB (inline or preloaded)
- Main bundle: < 150 KB
- Lazy-loaded routes: < 100 KB each
Timing Budgets
| Metric | Budget | Category |
|---|---|---|
| TTFB (Time to First Byte) | < 800ms | Server |
| FCP (First Contentful Paint) | < 1.8s | Loading |
| LCP (Largest Contentful Paint) | < 2.5s | Loading |
| TTI (Time to Interactive) | < 3.8s | Interactivity |
| TBT (Total Blocking Time) | < 200ms | Interactivity |
| INP (Interaction to Next Paint) | < 200ms | Responsiveness |
| CLS (Cumulative Layout Shift) | < 0.1 | Stability |
Accessibility Conformance Levels
WCAG 2.1 defines three conformance levels. Most organizations target Level AA as it balances accessibility with implementation practicality:| Level | Requirement | Target | Legal Status |
|---|---|---|---|
| A | Minimum accessibility | Must pass | Often legally required |
| AA | Standard compliance | Should pass | Legally required in many jurisdictions |
| AAA | Enhanced accessibility | Nice to have | Rarely legally required |
WCAG 2.1 Level AA Requirements
1. Perceivable
1. Perceivable
Text Alternatives (1.1)
Media Alternatives (1.2)
- All images must have alt text
- Decorative images:
alt="" - Complex images: Use
aria-describedby
| Text Size | Minimum Contrast (AA) | Enhanced Contrast (AAA) |
|---|---|---|
| Normal text (< 18px or < 14px bold) | 4.5:1 | 7:1 |
| Large text (≥ 18px or ≥ 14px bold) | 3:1 | 4.5:1 |
| UI components & graphics | 3:1 | 3:1 |
- Videos must have captions
- Audio must have transcripts
- Pre-recorded video should have audio descriptions (AA)
2. Operable
2. Operable
Keyboard Accessible (2.1)
- All functionality available via keyboard
- No keyboard traps
- Skip links provided
- Focus indicators must have 3:1 contrast ratio
- Focus indicators always visible (never
outline: nonewithout replacement)
- Users can extend time limits
- No auto-advancing content without pause control
- Interactive elements: ≥ 44×44 CSS pixels
- Mobile tap targets: ≥ 48×48 CSS pixels (recommended)
3. Understandable
3. Understandable
Page Language (3.1.1)
<html lang="en">must be set- Language changes marked:
<span lang="fr">
- Navigation order consistent across pages
- Navigation mechanisms in same location
- Form errors clearly described
- Error messages associated with fields (
aria-describedby)
- All form inputs have labels
- Labels visible (not placeholder-only)
4. Robust
4. Robust
Valid HTML (4.1.1)
- No duplicate IDs
- Properly nested elements
- Valid ARIA attributes
- Interactive elements have accessible names
- Correct ARIA roles
- State changes announced
SEO Thresholds
While SEO doesn’t have strict “pass/fail” thresholds like Core Web Vitals, these are recommended targets:On-Page SEO Targets
| Element | Target | Maximum | Notes |
|---|---|---|---|
| Title tag | 50-60 characters | ~60 | Google truncates around 600px |
| Meta description | 150-160 characters | ~160 | Truncates at ~920px |
| H1 heading | 1 per page | 1 | Primary page topic |
| URL length | < 75 characters | < 100 | Shorter is better |
| Alt text | 125 characters | 250 | Screen readers may truncate |
| Internal links per page | 50-100 | < 150 | Avoid excessive linking |
Technical SEO Targets
| Metric | Target | Impact |
|---|---|---|
| TTFB (Time to First Byte) | < 800ms | Search ranking |
| Core Web Vitals | All “Good” | Search ranking |
| Mobile usability | 100% pass | Mobile-first indexing |
| HTTPS | 100% | Ranking factor |
| Crawl errors | 0 | Indexing |
| Broken links | 0 | User experience + crawling |
Page Speed Targets for SEO
Google considers page speed as a ranking factor, especially for mobile:| Device | LCP Target | FCP Target | Lighthouse Score |
|---|---|---|---|
| Mobile | < 2.5s | < 1.8s | ≥ 90 |
| Desktop | < 2.0s | < 1.5s | ≥ 95 |
Mobile performance is more important for SEO since Google uses mobile-first indexing.
Security Best Practices Thresholds
Security Headers Scores
| Header | Required | Target Score | Notes |
|---|---|---|---|
| HTTPS | Yes | A+ | Enable HSTS |
| HSTS | Yes | max-age ≥ 31536000 | One year minimum |
| CSP | Recommended | Strict | No unsafe-inline/unsafe-eval |
| X-Frame-Options | Yes | DENY or SAMEORIGIN | Prevent clickjacking |
| X-Content-Type-Options | Yes | nosniff | Prevent MIME sniffing |
Vulnerability Thresholds
| Severity | Action | Timeframe |
|---|---|---|
| Critical | Immediate fix required | < 24 hours |
| High | Must fix before deploy | < 7 days |
| Medium | Should fix soon | < 30 days |
| Low | Fix when convenient | < 90 days |
Summary Table: All Critical Thresholds
Quick reference for the most important thresholds:- Performance
- Accessibility
- SEO
- Security
| Metric | Target |
|---|---|
| LCP | ≤ 2.5s |
| INP | ≤ 200ms |
| CLS | ≤ 0.1 |
| FCP | ≤ 1.8s |
| TBT | ≤ 200ms |
| Lighthouse Score | ≥ 90 |
| Page Weight | < 1.5 MB |
| JavaScript | < 300 KB |