Zkratka proLargest Contentful Paintlárdžest kontentful pejntTakéLCP, Largest Contentful Paint metrika, největší vykreslení obsahuPokročilý
Definice
Largest Contentful Paint je metrika webového výkonu, která měří dobu od začátku načítání stránky do okamžiku, kdy se v okně prohlížeče vykreslí největší obrázkový nebo textový blok. Patří mezi Core Web Vitals od Googlu a hodnotí se jako dobrá do 2,5 sekundy měřeno na 75. percentilu reálných návštěv.
Než se na to spolehnete: Odkaz na anglickou Wikipedii ke Core Web Vitals si nejsem zcela jistý, že existuje jako samostatný článek; server jej případně zahodí. Hranice a metodika CrUX (75. percentil, 28 dní) odpovídá aktuální praxi, ale Google definici může upravit.
Co přesně LCP měří
Largest Contentful Paint sleduje jediný prvek: ten největší kus obsahu, který je vidět bez scrollování. Kandidáty jsou obrázky, pozadí načtená přes url(), videoposter, prvky <video> a textové bloky. Prohlížeč průběžně reportuje nové kandidáty, jak se stránka staví, a měření zafixuje při první interakci uživatele. Výsledkem je čas v milisekundách od navigation startu.
Metrika záměrně nesleduje, kdy se dokončí načítání celé stránky. Cílem je odhadnout okamžik, kdy návštěvník subjektivně řekne „stránka je tady“. Proto se ignorují prvky mimo viewport a od roku 2023 se u obrázků odečítá entropie: obrovský rozmazaný placeholder se za kandidáta nepovažuje.
Z čeho se výsledný čas skládá
Rozklad LCP na čtyři části je nejrychlejší cesta k nápravě, protože každá část se opravuje jinak:
- Time to First Byte: odpověď serveru, cache, redirecty.
- Resource load delay: prodleva, než prohlížeč vůbec zjistí, že má LCP zdroj stáhnout. Typicky obrázek vkládaný JavaScriptem nebo skrytý v CSS.
- Resource load duration: samotný přenos, tedy velikost souboru, formát a CDN.
- Element render delay: blokující skripty a fonty mezi dostažením zdroje a vykreslením.
Proč laboratorní číslo nesouhlasí s tím v Search Console
Lighthouse měří jeden běh na simulovaném pomalém připojení. Google Search Console ukazuje data z CrUX, tedy z reálných návštěv Chromu za 28 dní na 75. percentilu. Rozdíl bývá dramatický u stránek, kde záleží na cache stavu, geografii nebo velikosti obrazovky, protože na mobilu je LCP kandidátem často jiný prvek než na desktopu.
Nejúčinnější zásahy
Pořadí podle poměru práce a efektu bývá stabilní. Nejprve LCP obrázek vložit staticky do HTML s atributem fetchpriority="high" a nikdy ho nedávat do lazy loadingu. Dál preconnect na doménu, ze které obrázek přichází, a preload u zdrojů skrytých v CSS. Poté zmenšení souboru přechodem na AVIF nebo WebP a správným srcset. Až nakonec se řeší serverová strana: cache na edge, streamované HTML, redukce redirectů.
Fonty jsou zvláštní kapitola. Pokud je LCP prvkem nadpis, blokuje vykreslení stahování fontu; font-display: swap nebo optional problém odstraní za cenu překreslení, které se ale projeví v jiné metrice.
Jak LCP zapadá do hodnocení stránky
Largest Contentful Paint je jedním ze tří Core Web Vitals vedle Interaction to Next Paint a Cumulative Layout Shift. Google je používá jako signál page experience, jeho váha je ale malá proti relevanci obsahu. Praktická hodnota metriky leží jinde: rychlejší LCP prokazatelně souvisí s nižším podílem odchodů, což je důvod, proč ji sledují i týmy, které SEO neřeší.
Příklady z praxe
Hero obrázek e-shopu se načítá až po JavaScriptu
Karusel na homepage byl vykreslován React komponentou, takže prohlížeč se o zdroji dozvěděl až po stažení a spuštění bundlu. LCP na mobilu vycházelo kolem 4,3 s, přičemž resource load delay tvořil víc než polovinu. Vložení prvního snímku přímo do serverem generovaného HTML s vysokou prioritou stáhlo hodnotu pod 2,5 s bez jakéhokoli zásahu do backendu.
<img src="/hero-1200.avif" srcset="/hero-800.avif 800w, /hero-1600.avif 1600w" sizes="100vw" fetchpriority="high" decoding="async" alt="Zimní kolekce">Měření skutečné hodnoty u návštěvníků
Analytický tým potřeboval vědět, který prvek je LCP kandidátem na produkci, protože v Lighthouse vycházel nadpis, ale v CrUX byla data výrazně horší. Sběr přes PerformanceObserver ukázal, že u části uživatelů se jako největší prvek vyhodnotí cookie lišta s velkým textem. Úprava její velikosti odstranila falešně vysoké hodnoty.
new PerformanceObserver((list) => { const entries = list.getEntries(); const last = entries[entries.length - 1]; console.log(last.startTime, last.element); }).observe({ type: 'largest-contentful-paint', buffered: true });
Časté omyly
- MýtusStačí zrychlit server a LCP se opraví.
- Ve skutečnostiTime to First Byte je jen první ze čtyř složek LCP. U většiny stránek s velkým hero obrázkem tvoří většinu času objevení a stažení zdroje, takže rychlejší server posune výsledek jen o desetiny sekundy.
- MýtusLazy loading zrychluje načítání, takže ho dám na všechny obrázky.
- Ve skutečnostiAtribut loading="lazy" na LCP prvku výsledek naopak zhorší, protože prohlížeč odloží stahování až do fáze layoutu. Lazy loading patří výhradně na obrázky pod ohybem stránky.
- MýtusZelené LCP v Lighthouse znamená, že je stránka v pořádku.
- Ve skutečnostiLighthouse je laboratorní simulace jednoho běhu na jednom zařízení. Google hodnotí 75. percentil reálných návštěv z CrUX, kde se projeví pomalé sítě, starší telefony a studená cache.
Časté dotazy
- Jaká hodnota LCP se považuje za dobrou?
- Largest Contentful Paint do 2,5 sekundy je hodnocen jako dobrý, rozmezí 2,5 až 4 sekundy vyžaduje zlepšení a nad 4 sekundy je špatný. Klíčové je, že se hodnota nepočítá jako průměr, ale jako 75. percentil návštěv za posledních 28 dní, zvlášť pro mobil a desktop. Znamená to, že tři čtvrtiny uživatelů musí zažít načtení pod hranicí. Průměrná hodnota bývá optimističtější, protože ji táhnou dolů návštěvy s naplněnou cache a rychlým připojením.
- Který prvek na stránce se stane LCP kandidátem?
- LCP kandidátem může být obrázek v elementu img, obrázek na pozadí načtený přes CSS funkci url(), poster u videa, první snímek videa a blokové textové elementy včetně nadpisů a odstavců. Prohlížeč porovnává viditelnou plochu v rámci viewportu a vybírá největší z nich. Prvky mimo viditelnou oblast, průhledné obrázky a obrázky s nízkou informační hustotou vůči své ploše se vyřazují. Kandidát se v průběhu načítání může několikrát změnit, platí poslední zaznamenaný před první interakcí uživatele.
- Jak zjistím LCP na svém webu bez placených nástrojů?
- Pro reálná data slouží zpráva Core Web Vitals v Google Search Console a PageSpeed Insights, který u dostatečně navštěvovaných URL zobrazí sekci s daty z CrUX. Pro vlastní měření stačí PerformanceObserver v prohlížeči nebo knihovna web-vitals od Chrome týmu, která hodnotu posílá do analytiky. V Chrome DevTools panel Performance označí LCP prvek přímo v časové ose, takže je vidět, který blok obsahu za výsledek odpovídá.
- Ovlivňuje LCP pozice ve vyhledávání?
- Largest Contentful Paint je součástí signálů page experience, které Google používá při řazení výsledků. Jeho váha je ale výrazně menší než relevance a kvalita obsahu, takže samotné zezelenání metriky pořadí obvykle nepřevrátí. Reálný přínos leží v chování uživatelů: pomalé vykreslení hlavního obsahu zvyšuje podíl návštěvníků, kteří odejdou dřív, než stránku uvidí. Optimalizace LCP se proto vyplatí primárně kvůli konverzím a až sekundárně kvůli SEO.
- Proč se LCP liší mezi mobilem a desktopem?
- Rozdíl vzniká hlavně proto, že na úzkém viewportu je největším viditelným prvkem často něco jiného než na širokém monitoru, například celoplošný obrázek místo nadpisu. K tomu se přidává slabší procesor telefonu, který déle zpracovává JavaScript a CSS, a pomalejší mobilní síť. Google navíc vyhodnocuje mobilní a desktopová data odděleně, takže stránka může na desktopu splňovat limit a na mobilu ne. Optimalizace se proto vždy ladí podle mobilní varianty.
Zdroje
- Largest Contentful Paint API(otevře se v novém okně)
- LargestContentfulPaint(otevře se v novém okně)