Core Web Vitals: proč jsou klíčové pro rychlost, UX a moderní SEO
Core Web Vitals (CWV) jsou souborem uživatelsky orientovaných metrik, které Google používá k měření kvality načítání, interaktivity a vizuální stability stránek. Jejich cílem je, aby se weby načítaly rychle, reagovaly plynule a nezaskakovaly uživatele neočekávaným posouváním obsahu. V kontextu AIO/AEO a optimalizace pro ChatGPT/LLM jsou CWV důležité i pro strojové „čtení“ stránek a konverzi – rychlé, stabilní a přístupné rozhraní snižuje míru odchodů a zvyšuje zapojení.
Aktuální trojice metrik: LCP, INP a CLS
- LCP (Largest Contentful Paint) – čas, kdy se vykreslí největší viditelný obsahový prvek nad přehybem (typicky velký obrázek, video poster nebo blok textu).
- INP (Interaction to Next Paint) – reprezentativní doba odezvy na interakci (klik, dotyk, klávesa) během celé návštěvy; hodnotí, jak rychle rozhraní reálně reaguje.
- CLS (Cumulative Layout Shift) – kumulativní míra neočekávaných posunů layoutu během životního cyklu stránky.
Hraniční hodnoty hodnocení: „Dobré“, „Vyžaduje zlepšení“, „Slabé“
| Metrika | Dobré | Vyžaduje zlepšení | Slabé |
|---|---|---|---|
| LCP | ≤ 2,5 s | 2,5 – 4,0 s | > 4,0 s |
| INP | ≤ 200 ms | 200 – 500 ms | > 500 ms |
| CLS | ≤ 0,1 | 0,1 – 0,25 | > 0,25 |
Hodnocení vychází z „field“ dat (reálných návštěv), nikoli pouze z laboratorních simulací. Google hodnotí 75. percentil napříč zařízeními a připojeními.
Field vs. Lab: jak měřit správně
- Field data (RUM): prohlížečové API (
PerformanceObserver), knihovnaweb-vitals, Google Analytics 4, CrUX (Chrome UX Report). Jsou rozhodující pro CWV skóre. - Lab data: Lighthouse, WebPageTest, DevTools. Slouží k diagnostice problémů, nikoli k finálnímu hodnocení.
Doporučení: nastavte si kontinuální měření (RUM) + pravidelné laboratorní testy v CI, abyste odhalili regrese dříve, než zasáhnou uživatele.
LCP do hloubky: jak zrychlit „největší prvek“
Co bývá LCP prvkem: hlaviční hero obrázek, video poster, velký blok textu (např. H1) nebo background-image nad přehybem. LCP končí, když je prvek vykreslený a viditelný.
Typické příčiny pomalého LCP
- Server pomalu odpovídá (TTFB, cold starts, neoptimalizované cache).
- Hero obrázek je velký, nekomprimovaný, bez správných rozměrů nebo je načítán pozdě.
- Render blokující CSS/JS, nevhodné pořadí zdrojů, chybějící priority.
- Webfonty způsobují FOIT/FOUT a prodlužují vykreslení textu.
Optimalizační techniky pro LCP
- Back-end: CDN a edge cache, HTTP/2 nebo HTTP/3, snížení TTFB, micro-/edge-rendering, stabilní origin cache.
- Obrázky: moderní formáty (AVIF/WebP), správné rozměry (
width/height),srcset/sizes, explicitnífetchpriority="high"u LCP obrázku,decoding="async". - Pořadí zdrojů:
rel="preload"pro kritické CSS a LCP obrázek (s atributemas),rel="preconnect"k doménám s kritickými zdroji. - CSS: kritické CSS inline, zbytek načítat neblokujícím způsobem; minimalizace a deduplikace.
- JS: odložit nekritické skripty (
defer/dynamický import), neblokovat vykreslení. - Webfonty:
font-display: swap(nebo optional), preload nejpoužívanějších font souborů, subsetting (jen potřebné glyfy).
INP do hloubky: stabilní interaktivita během celé relace
INP měří nejhorší (ale reprezentativní) latenci odezvy na interakce – od vstupu uživatele po nejbližší „repaint“ rozhraní. Odrazí latenci zpracování události, provedení logiky a vykreslení.
Typické příčiny slabého INP
- Dlouhé úlohy (Long Tasks) na hlavním vlákně (parsing, bundling, velké knihovny, hydratační špičky SPA).
- Vážná synchronní logika při klipech (validace, výpočty, re-render celého stromu).
- Nedostatečná priorita vstupu v plánovací vrstvě, žádné „yieldování“.
Optimalizační techniky pro INP
- Rozčlenění práce: rozsekat dlouhé úlohy (chunking), používat
requestIdleCallback, postupné vykreslování, „island architecture“. - Off-main-thread: Web Workers pro náročné výpočty; debounce/throttle u „input“ událostí.
- Frameworky a UI: méně re-renderů, memoizace, selektivní hydratace, serverové renderování a „streaming“.
- Bundle hygieny: code-splitting, odstranění nepoužívaného kódu, lazy-load náročných částí až po interakci.
- Prioritizace: upřednostnění vstupu a vizuální odezvy před sekundárními efekty (analytics, reklamy, widgety).
CLS do hloubky: vizuální stabilita bez překvapení
CLS agreguje posuny layoutu, které proběhly bez interakce uživatele. Malé, ale časté posuny mohou výrazně zhoršit UX.
Typické příčiny slabého CLS
- Obrázky/iframes bez pevně definovaných rozměrů (šířka/výška, nebo
aspect-ratio), dynamické reklamy. - Pozdní načítání webfontů (změna metriku písma), vkládání nadpisů/bannerů nad stávající obsah.
- Pozdě vložené komponenty (recenze, mapy, doporučení) nad již zobrazenou část.
Optimalizační techniky pro CLS
- Rezervujte prostor:
width/heightneboaspect-ratio; pro reklamy definujte kontejnery s minimální výškou. - Vyhněte se vkládání prvků nad prohlížený obsah; nové panely otevírejte „pod“ nebo překryjte overlayem.
- Stabilní fonty:
font-display, metricky kompatibilní fallbacky, preload kritických souborů. - Animace transformujte přes
transform/opacity, ne přestop/left/width/height.
Pořadí zdrojů, priority a prohlubování rychlosti
- Priority hints:
fetchpriority="high"pro LCP obrázek;lowpro nekritická média. - Resource hints:
preload,preconnect,dns-prefetch,prerenderpro předvídanou navigaci. - Lazy-loading s rozumem:
loading="lazy"pro below-the-fold; hero obsah načítat eager. - HTTP/2 a HTTP/3: nižší latence a lepší multiplexování; zjednodušte strukturu zdrojů.
- Cache-Control: dlouhá TTL pro statické assety,
ETag/Last-Modifiedpro efektivní revalidaci.
Nástroje a měřící kanály
- Google Search Console: report „Core Web Vitals“ z CrUX, skupiny problémových URL podle šablon.
- PageSpeed Insights: kombinuje lab + field data, doporučení Lighthouse.
- Chrome UX Report (CrUX): populace uživatelů – 75. percentil pro LCP/INP/CLS.
- DevTools: Performance panel (Long Tasks, hlavní vlákno), Coverage (unused code), Lighthouse.
- RUM knihovny:
web-vitalspro vlastní sběr metrik do analýzy/BI.
Core Web Vitals a SEO/AEO: dopad na viditelnost a konverze
- Rankings: CWV jsou signálem kvality stránek – nejsou jediným faktorem, ale zlepšují konkurenceschopnost při srovnatelném obsahu.
- Crawl & index: rychlejší stránky pomáhají crawlerům efektivněji procházet web a snižují chybovost načítání.
- AIO/AEO & LLM: rychlé, stabilní a sémanticky strukturované stránky (Schema.org, správné HTML) se lépe analyzují modely a asistenti je častěji doporučují.
- Obchodní metriky: kratší čas k prvnímu dojmu (LCP), plynulá interakce (INP) a stabilní layout (CLS) = vyšší míra dokončení úkolů a konverzí.
Specifika SPA a dynamických webů
- Hydratace: minimalizujte „hydration spike“ (code-splitting po komponentách, selektivní hydratace, streaming SSR).
- Routing: prefetch další stránky při hover/idle; zachovejte bfcache kompatibilitu (vyhněte se zbytečnému
unload). - Stav a efekt: omezte nadměrné global re-renders; používejte memoizaci a jemné aktualizace.
Governance, SLO a kontrola kvality
- SLO na šablonu: např. „Home/Landing LCP ≤ 2,0 s, INP ≤ 150 ms, CLS ≤ 0,08“ s monitoringem v RUM.
- CI/CD gate: Lighthouse CI s rozpočty (budgets) na velikost JS/CSS, počet requestů a čas metriky.
- Regresní testy: porovnávací běhy při změnách závislostí a deployích, automatické alerty.
- Perf kultura: „performance champs“, pravidelné audity třetích stran (tagy, A/B, reklamy).
Rychlé výhry: checklist na první 2 týdny
- Změřte baseline (GSC + RUM) a vyberte 3 nejnavštěvovanější šablony.
- Optimalizujte hero LCP prvek: správný formát, rozměry,
fetchpriority, preload kritických stylů. - Odložte nekritické skripty a rozdělte největší bundle; odstraňte nepoužívané knihovny.
- Stabilizujte layout: fixní rozměry pro média, kontejnery pro reklamy, bezpečné animace.
- Nasaďte RUM s
web-vitalsa nastavte alerty na 75. percentil.
Nejčastější omyly a jak se jim vyhnout
- „Lazy vše“: hero obsah musí být eager; bezhlavé „lazy“ zhorší LCP.
- Pouze laboratorní skóre: rozhodují real-world data; vždy sledujte 75. percentil.
- Preload bez disciplíny: nadměrné preloady snižují efekt priorit; preloadujte jen opravdu kritické zdroje.
- Ignorování třetích stran: náročné tagy a reklamy často kazí INP/CLS – sandboxujte, odkládejte a kontrolujte jejich dopad.
Implementační tipy pro tým a procesy
- Vytvořte „perf mapu“ zdrojů: co je kritické pro nad-fold, co lze načíst později.
- Zaveďte „performance budgets“ (KB/počet requestů) a napojte je na review proces.
- Měřte per segment (mobil/desktop, země, typ připojení) a optimalizujte tam, kde je největší dopad.
Kontrolní seznam podle metriky
LCP
- AVIF/WebP + správné rozměry a
fetchpriority="high"u LCP média. - Kritické CSS inline, blokující skripty přepnout na
defer. - CDN, krátké TTFB, preconnect k doménám s LCP assety.
INP
- Žádné dlouhé úlohy > 50 ms; rozsekejte práci, přesunujte výpočty do Workerů.
- Code-splitting a lazy-load těžkých modulů; prioritizujte vstup.
- Minimalizujte re-render stromu; používejte memoizaci a selektivní hydrataci.
CLS
- Vždy specifikujte rozměry/ratio u obrázků a iframes.
- Rezervujte prostor pro reklamy a dynamické moduly.
- Stabilní fonty a animace přes transform/opacity.
Propojení s přístupností a obsahem
Výkonnost a přístupnost jdou ruku v ruce: rychlé, stabilní UI usnadňuje orient


























