Core Web Vitals 2026 — jak poprawić LCP, CLS i INP na WordPress

Core Web Vitals to oficjalne sygnały rankingowe Google. Dowiedz się jak mierzyć i poprawiać LCP, CLS i INP na stronie WordPress bez przebudowy całej witryny.

Core Web Vitals to trzy wskaźniki UX mierzone przez Google (LCP, CLS, INP), które bezpośrednio wpływają na pozycje w wynikach wyszukiwania od 2021 roku. Aby je poprawić na WordPress, skup się na optymalizacji serwera i obrazów (LCP), stabilności layoutu (CLS) i responsywności JavaScript (INP).

Czym są Core Web Vitals i dlaczego wpływają na SEO?

Core Web Vitals (CWV) to zestaw mierników wydajności użytkownika, który Google wbudował w swój algorytm rankingowy jako część Page Experience signals. Od marca 2024 roku INP (Interaction to Next Paint) zastąpił FID (First Input Delay), uzupełniając trójkę wskaźników:

  • LCP (Largest Contentful Paint) — czas do wyrenderowania największego elementu widocznego w viewport. Cel: ≤ 2,5 s.
  • CLS (Cumulative Layout Shift) — suma nieoczekiwanych przesunięć layoutu. Cel: ≤ 0,1.
  • INP (Interaction to Next Paint) — czas odpowiedzi strony na interakcje użytkownika. Cel: ≤ 200 ms.

Google zbiera dane CWV z Chrome w ramach Chrome User Experience Report (CrUX) i używa ich do oceny jakości strony. Strony z dobrymi wynikami CWV mogą liczyć na lekką premię rankingową w wynikach mobilnych i desktopowych.

Ważne: CWV to jeden z setek sygnałów rankingowych — treść i linki nadal dominują. Ale dla stron konkurujących w ciasnych niszach, poprawa CWV może być czynnikiem przechylającym szalę.

LCP (Largest Contentful Paint) — co to i jak poprawić

LCP mierzy jak szybko ładuje się główna treść strony — najczęściej to baner hero, featured image posta lub największy nagłówek H1. Google uważa LCP powyżej 4 sekund za słabe, między 2,5 a 4 s za wymagające poprawy, a poniżej 2,5 s za dobre.

Najczęstsze przyczyny słabego LCP na WordPress

  • Obrazy nie są kompresowane ani konwertowane do WebP/AVIF.
  • Brak atrybutu fetchpriority="high" na obrazie LCP.
  • Hosting współdzielony z wolnym TTFB (Time to First Byte).
  • Brak cache'owania pełnych stron (page cache).
  • Duże pliki CSS/JS blokujące renderowanie.

Jak poprawić LCP krok po kroku

1. Dodaj preload na obraz LCP:

<link rel="preload" as="image" href="/wp-content/uploads/baner-hero.webp"
      fetchpriority="high"
      imagesrcset="/wp-content/uploads/baner-hero-400.webp 400w,
                   /wp-content/uploads/baner-hero-800.webp 800w"
      imagesizes="100vw">

2. Konwertuj obrazy do WebP: WordPress 5.8+ generuje WebP automatycznie. Możesz też użyć wtyczki Imagify lub ShortPixel, albo przekonwertować masowo przez CLI:

find /var/www/html/wp-content/uploads -name "*.jpg" -exec cwebp {} -o {}.webp \;

3. Skróć TTFB — włącz page cache:

# LiteSpeed Cache (dla hostingów LiteSpeed/OpenLiteSpeed)
wp ls-cache flush

4. Użyj CDN: Cloudflare (bezpłatny) lub BunnyCDN znacząco redukują TTFB dla użytkowników z różnych lokalizacji.

5. Usuń render-blocking resources — defer dla nieistotnych skryptów:

// functions.php
add_filter( 'script_loader_tag', function( $tag, $handle, $src ) {
    $defer = [ 'google-analytics', 'facebook-pixel' ];
    if ( in_array( $handle, $defer ) ) {
        return str_replace( ' src', ' defer src', $tag );
    }
    return $tag;
}, 10, 3 );

CLS (Cumulative Layout Shift) — przyczyny i metody naprawy

CLS mierzy jak bardzo treść "skacze" podczas ładowania strony. Wynik 0 oznacza brak przesunięć. Typowe winowajce na WordPress to reklamy bez zarezerwowanej przestrzeni, obrazy bez atrybutów width i height, czcionki webowe powodujące FOUT/FOIT i elementy wstrzykiwane przez JavaScript.

Najczęstsze przyczyny CLS i poprawki

  • Obrazy bez wymiarów — przeglądarka nie może zarezerwować miejsca:
    <!-- Źle -->
    <img src="foto.jpg" alt="Opis">
    
    <!-- Dobrze -->
    <img src="foto.jpg" alt="Opis" width="800" height="600">
  • Reklamy bez min-height:
    .ad-wrapper {
        min-height: 250px;
        background: #f5f5f5;
    }
  • Czcionki webowe — FOUT:
    @font-face {
        font-family: 'MojFont';
        src: url('mojfont.woff2') format('woff2');
        font-display: swap;
    }
  • Elementy wstrzykiwane po załadowaniu strony — bannery cookie, pasy powiadomień. Umieszczaj je zawsze na dole strony lub używaj position: fixed żeby nie przesuwały treści.

INP (Interaction to Next Paint) — nowy wskaźnik od 2024

INP zastąpił FID w marcu 2024 roku i jest znacznie surowszym miernikiem responsywności. O ile FID mierzył tylko czas do pierwszej interakcji, INP mierzy wszystkie interakcje podczas wizyty i raportuje najgorszą z 75. percentyla. Cel: INP ≤ 200 ms.

Co powoduje wysoki INP na WordPress?

  • Ciężkie skrypty JS blokujące główny wątek — Elementor, WooCommerce JavaScript, analytics.
  • Długie zadania (Long Tasks) — zadania zajmujące main thread powyżej 50 ms.
  • Nadmiar event listenerów dodawanych przez wtyczki.

Jak poprawić INP

// Defer non-critical JavaScript — functions.php
add_filter( 'script_loader_tag', function( $tag, $handle ) {
    $no_defer = ['jquery-core', 'jquery-migrate'];
    if ( in_array( $handle, $no_defer ) ) return $tag;
    return str_replace( ' src=', ' defer src=', $tag );
}, 10, 2 );

Użyj Interaction to Next Paint debugger w Chrome DevTools (zakładka Performance → Interactions) aby zlokalizować konkretne interakcje z wysokim INP.

Narzędzia do pomiaru Core Web Vitals

  • PageSpeed Insights (pagespeed.web.dev) — dane lab (Lighthouse) + dane field z CrUX. Startuj tutaj.
  • Google Search Console → raport Core Web Vitals — dane field dla całej domeny, podział na mobile/desktop.
  • Chrome DevTools → Lighthouse, Performance, INP debugger.
  • WebPageTest.org — szczegółowy waterfall, filmstrip, porównania A/B.
  • web-vitals.js — zbieranie CWV z prawdziwych sesji i wysyłanie do GA4:
<script type="module">
import { onCLS, onINP, onLCP } from 'https://unpkg.com/web-vitals@4/dist/web-vitals.attribution.js';
function sendToGA(metric) {
    gtag('event', metric.name, {
        value: Math.round(metric.name === 'CLS' ? metric.value * 1000 : metric.value),
        metric_id: metric.id,
    });
}
onCLS(sendToGA); onINP(sendToGA); onLCP(sendToGA);
</script>

WordPress-specyficzne optymalizacje (wtyczki, kod, hosting)

Wtyczki do optymalizacji CWV

  • WP Rocket — kompleksowe rozwiązanie: page cache, minifikacja CSS/JS, defer JS, lazy load, CDN. Płatna, ~60 USD/rok.
  • LiteSpeed Cache — darmowa, bardzo wydajna na hostingach z LiteSpeed. Oferuje QUIC.cloud CDN.
  • Imagify / ShortPixel / Smush — automatyczna kompresja obrazów do WebP przy wgrywaniu.
  • Flying Scripts — opóźnianie ładowania skryptów po interakcji użytkownika.

Konfiguracja krytycznego CSS (Critical Path CSS)

<!-- Krytyczny CSS wbudowany inline w <head> -->
<style>
body { font-family: system-ui, sans-serif; margin: 0; }
.hero { min-height: 60vh; background: #0d47a1; }
.hero h1 { color: #fff; font-size: clamp(1.5rem, 4vw, 3rem); }
</style>

<!-- Pozostałe style ładowane asynchronicznie -->
<link rel="preload" href="/style.css" as="style" onload="this.onload=null;this.rel='stylesheet'">

Hosting a Core Web Vitals

Słaby hosting to częsta przyczyna słabego LCP i wysokiego TTFB. Minimalne wymagania dla dobrego TTFB na WordPress w 2026 roku: VPS z NVMe SSD, PHP 8.2+, Redis/Memcached dla object cache, OPcache włączony. Na hostingu współdzielonym TTFB powyżej 600 ms jest normą — VPS redukuje go często do 100-200 ms.

# Sprawdź TTFB za pomocą curl
curl -o /dev/null -s -w "%{time_starttransfer}" https://twojadomena.pl/

Potrzebujesz profesjonalnej optymalizacji Core Web Vitals na swojej stronie WordPress? Skontaktuj się z nami — audytujemy i optymalizujemy CWV, często osiągając wynik Dobry już po pierwszej sesji pracy.

Często zadawane pytania

Czy Core Web Vitals bezpośrednio wpływają na pozycje w Google? +
Tak, ale są tylko jednym z wielu sygnałów rankingowych. Google potwierdził, że strony z dobrymi CWV mogą liczyć na lekką premię w SERP. Treść, linki i E-E-A-T nadal dominują — CWV ma większe znaczenie gdy strony są podobnie oceniane pod kątem treści.
Jaka jest różnica między danymi lab i danymi field w CWV? +
Dane lab (Lighthouse, PageSpeed Insights) to pomiary w kontrolowanym środowisku. Dane field (CrUX, Search Console) to rzeczywiste dane od użytkowników Chrome. Google używa danych field do rankingowania. Możesz mieć doskonały wynik w lab i słaby field, gdy użytkownicy mają wolne połączenia mobilne.
Jak szybko Core Web Vitals poprawiają się po wdrożeniu optymalizacji? +
Dane field w CrUX są aktualizowane raz w tygodniu i opierają się na 28-dniowym oknie. Efekty wdrożonych optymalizacji będą widoczne w Google Search Console po 4-6 tygodniach. Dane lab (PageSpeed Insights) odzwierciedlają zmiany natychmiast po wdrożeniu.
Co to jest INP i czym różni się od FID? +
FID mierzył czas do pierwszej interakcji użytkownika ze stroną. INP mierzy wszystkie interakcje podczas wizyty i raportuje najgorszą z 75. percentyla. INP jest surowszy: strona musi być responsywna przez cały czas, nie tylko przy pierwszym kliknięciu. INP zastąpił FID jako wskaźnik CWV od marca 2024.

Masz podobny problem do rozwiązania?

Napisz — wycenię i powiem szczerze czy warto.

Skontaktuj się →