Core Web Vitals to ranking factor od 2021 roku. Ten przewodnik pokazuje praktyczne techniki optymalizacji LCP, INP i CLS.
Co to Core Web Vitals
Core Web Vitals to zestaw metryk user experience mierzonych przez Google:
| Metryka | Co mierzy | Good | Needs Improvement | Poor |
|---|---|---|---|---|
| LCP | Loading (największy element) | ≤2.5s | 2.5-4s | >4s |
| INP | Interactivity (responsywność) | ≤200ms | 200-500ms | >500ms |
| CLS | Visual stability (przesunięcia) | ≤0.1 | 0.1-0.25 | >0.25 |
LCP Optimization
Co wpływa na LCP
- Hero image / video
- Duże bloki tekstu
- Background images w CSS
- SVG lub canvas elements
Techniki optymalizacji
-
Preload critical resources
<link rel="preload" href="hero.webp" as="image"> -
Optimize images
- Użyj WebP/AVIF
- Responsive images (srcset)
- Lazy load below-fold images
-
Server response time
- Użyj CDN
- Enable compression (gzip/brotli)
- Cache static assets
-
Eliminate render-blocking
<script defer src="script.js"></script> <link rel="preload" href="critical.css" as="style">
"Optymalizacja LCP to najszybszy sposób na poprawę Core Web Vitals - często jedna zmiana daje duży efekt." - Web.dev
INP Optimization
Co wpływa na INP (dawniej FID)
INP mierzy responsywność na interakcje:
- Click handlers
- Keyboard input
- Touch events
Techniki optymalizacji
-
Break up long tasks
// Zamiast jednego długiego task setTimeout(() => { /* część 1 */ }, 0); setTimeout(() => { /* część 2 */ }, 0); -
Use requestIdleCallback
requestIdleCallback(() => { // Non-critical work }); -
Defer third-party scripts
- Analytics, chat widgets, ads
- Użyj facade pattern dla video embeds
-
Optimize event handlers
- Debounce scroll/resize listeners
- Use passive event listeners
CLS Optimization
Przyczyny CLS
- Obrazy bez dimensions
- Dynamicznie wstrzykiwany content
- Web fonts (FOIT/FOUT)
- Ads i embeds bez reserved space
Techniki optymalizacji
-
Zawsze podawaj dimensions
<img src="photo.jpg" width="800" height="600" alt="..."> -
Aspect ratio boxes
.video-container { aspect-ratio: 16 / 9; } -
Font loading strategy
@font-face { font-family: 'MyFont'; font-display: swap; } -
Reserve space dla ads
.ad-slot { min-height: 250px; }
Narzędzia do testowania
| Narzędzie | Typ danych | Użyj do |
|---|---|---|
| PageSpeed Insights | Lab + Field | Ogólna diagnostyka |
| Chrome DevTools | Lab | Debugging |
| Lighthouse | Lab | CI/CD testing |
| GSC Core Web Vitals | Field | Real user data |
| CrUX Dashboard | Field | Historical trends |
Priority framework
- Fix "Poor" - najpierw czerwone metryki
- Focus on mobile - Google używa mobile CWV
- LCP first - największy wpływ na user experience
- CLS second - najczęstszy problem
- INP last - najtrudniejszy do fixowania
Podsumowanie
Core Web Vitals to nie tylko ranking factor - to realna poprawa user experience. Inwestycja w performance zwraca się w wyższych konwersjach.