Proč „war room“ pro Core Web Vitals
Core Web Vitals (CWV) – Largest Contentful Paint (LCP), Interaction to Next Paint (INP) a Cumulative Layout Shift (CLS) – jsou dnes operativní i strategické metriky. War room je dočasný nebo trvalý způsob řízení výkonu s vysokou kadencí rozhodování: propojuje produkt, vývoj, infrastrukturu, obsah a SEO do jednoho rytmu. Cílem je zkrátit dobu mezi detekcí zhoršení a zásahem, udržet metriky nad prahovými hodnotami a minimalizovat ztráty v SEO a konverzích.
Architektura měření: „field“ + „lab“
- Field (RUM): reálná data uživatelů segmentovaná podle lokality, zařízení, sítě, šablony, experimentu a vstupních stránek. Poskytují pravdivý obraz pro SEO (proxy CrUX), dopad na byznys a stanovení priorit refaktoringu.
- Lab (syntetika): kontrolované testy s emulací zařízení a sítí, spouštěné při CI/CD i pravidelně. Vhodné k diagnostice regresí a ověřování hypotéz.
- CrUX: externí referenční zdroj (souhrnná data za posledních 28 dní) pro sledování stavu ve srovnání s trhem; ve war roomu slouží jako „externí ověření“ trendů.
Metriky a prahové hodnoty
| Metrika | Prahová hodnota „Good“ | Operativní cíl (p90) | Poznámka |
|---|---|---|---|
| LCP | ≤ 2,5 s | ≤ 2,3 s | Optimalizujte TTFB, resource hints, formáty obrázků a render path. |
| INP | ≤ 200 ms | ≤ 180 ms | Upřednostněte vstupní události, odlehčete main thread, omezte dlouhé úlohy. |
| CLS | ≤ 0,1 | ≤ 0,08 | Vyhraďte prostor pro média a reklamy, stabilizujte fonty a kostry rozhraní. |
Organizace war roomu
- Rytmus: každodenní 15minutový standup + týdenní bilanční hodina; během incidentu režim „swarm“ (ad hoc až do vyřešení).
- Role: Incident commander (koordinace), Metrics owner (RUM/CrUX), Frontend lead, Infra/edge, SEO owner, PM/UX, Ads/3rd-party.
- Komunikační kanál: vyhrazený kanál s botem pro upozornění, rozhodnutí a postmortems.
Dashboard, který smysluplně vede k akci
- Řezy podle stránek: šablona (domovská stránka, kategorie, produkt, článek), vstupní stránky „Hero“, stránky programmatic SEO, AMP/alternativy.
- Publikum: zařízení (mobil/desktop), síť (3G/4G/5G/Wi-Fi), geografie, prohlížeč a jeho verze.
- Technika: TTFB p75, délka main thread, počet dlouhých úloh (>50 ms), velikost JS/CSS, počet obrázků nad přehybem stránky, počet skriptů třetích stran.
- Byznys: konverze/1000 návštěv, CTR z organického vyhledávání, míra okamžitého opuštění, čas do interakce s klíčovým prvkem (např. „Přidat do košíku“).
SLO a error budget pro CWV
Nastavte Service Level Objective pro p75/p90 a přiřaďte error budget. Když se vyčerpává, pozastavují se nové releasy funkcí a prioritu dostává výkon.
| SLO | Definice | Error budget | Spouštěcí pravidlo |
|---|---|---|---|
| LCP p75 ≤ 2,5 s | napříč mobilními zařízeními, všechny šablony | 5 % dní/měsíc mimo SLO | 2 po sobě jdoucí dny mimo SLO → „perf freeze“ |
| INP p75 ≤ 200 ms | mobil, nepřihlášení uživatelé | 5 % | „Swarm“ + blokace nových skriptů |
| CLS p75 ≤ 0,1 | všechny šablony | 3 % | Okamžité vypnutí nestabilních modulů/reklam |
Playbook pro incidenty: od detekce po vyřešení
- Detekce: upozornění z RUM (p90 LCP > 3 s na „/produkt/*“ mobil EU).
- Třídění: ověřit rozsah dopadu (vážený návštěvností), identifikovat poslední releasy/konfigurace (edge, CDN, A/B).
- Zmírnění dopadu: feature flag off, snížit resource priority, dočasně odložit skripty třetích stran, použít záložní menší hlavní obrázek.
- Diagnostika: profilování main thread, waterfall, blokující zdroje, typ a zdroj prvku Largest Contentful Element.
- Oprava: preload/priority hints pro prostředek LCP, zmenšení obrázku, lazy loading/parsování JS, kompozice CSS.
- Ověření: syntetické testy na totožných URL + sledování trendu RUM po nasazení.
- Postmortem: hlavní příčina, co upozornění zachytilo či nezachytilo, trvalá opatření.
Hypotézy a experimenty pro zlepšení LCP
- Server: snížení TTFB (edge SSR/ISR, cachování, stale-while-revalidate), optimalizace dotazů/plánů databáze.
- Síť: preconnect ke kritickým doménám, náhrada http/2 push za preload, priority hints (
importance=high). - Klient: obrázky AVIF/WebP, srcset/sizes, content-visibility, vložení CSS kritické cesty přímo do stránky, odložení nepotřebného JS.
Hypotézy a experimenty pro zlepšení INP
- Rozdělení úloh: rozdělit dlouhé tasks (>50 ms) pomocí scheduler, requestIdleCallback a yielding.
- Zpracování událostí: minimalizovat práci při oninput/onscroll, používat pasivní posluchače, debounce/throttle.
- Reaktivita: vyhnout se náročným opakovaným vykreslením, využívat memoizaci, Server Components/partial hydration.
Hypotézy a experimenty pro zlepšení CLS
- Vyhrazení prostoru:
width/heightnebo CSS aspect-ratio pro obrázky/video; ad slots s „sticky“ vyhrazeným prostorem. - Fonty: font-display: optional/swap, metrika podobných záložních fontů, size adjust.
- Kostry rozhraní: stabilní kostry místo modulů/panelů, které se náhle objeví.
Skripty třetích stran a reklamy: přísné řízení rizik
- Kontrolní seznam: každý skript má vlastníka, verzi, důvod existence, SLA pro dopad na CWV a test v syntetice.
- „Consent gating“: nenačítat skripty před udělením souhlasu; defenzivní načítání (async/defer).
- Ochrana před vkládáním na edge: zákaz dynamického vkládání skriptů mimo allowlist; kontrola Subresource Integrity.
Programmatic SEO a CWV: vzájemná souvislost
Při tisících až milionech automaticky generovaných vstupních stránek se i malé zhoršení šablony násobí. War room řídí refaktoring šablon a postupné nasazování na procento návštěvnosti:
- Canary na 1–5 % URL/podmapy, měřeno odděleně; pokud p90 LCP vzroste o > 10 %, nasazování se zastaví.
- Štítky v RUM: template_id, experiment_id, content_version pro přesnou atribuci.
- Obsahové zábrany: generátory nesmějí bez ověření měnit obsah nad přehybem stránky (LCP); obrázkům nastavujeme intrinsic size.
Automatizace a háčky CI/CD
- Kontroly před sloučením: Lighthouse/PSI na reprezentativních URL, limity pro JS bundle, long tasks a rozdíly CLS.
- Syntetické testy po nasazení: okamžité smoke tests s prahovými hodnotami; automatický rollback při jejich překročení.
- Ochrana RUM: pokud p90 LCP na mobilních zařízeních vzroste v průběhu 60 minut o ≥ 300 ms, feature flags se automaticky stáhnou.
Edge a CDN jako nástroje pro zvýšení výkonu
- Cachování HTML s variantami podle jazyka/segmentu, stale-while-revalidate pro hladké releasy.
- Obrázková služba: formát, změna velikosti, dpr, lazy policies a priority hints přímo na edge.
- Dělení podle tras: náročné skripty pouze na stránkách, kde jsou potřeba; jinde zůstává web „čistý“.
Rozhodnutí v UX, která mění metriky
- Minimalismus hlavního prvku: nad přehybem stránky pouze obsah LCP (text/hlavní obrázek), žádné karusely ani automaticky přehrávaná videa.
- Interakční cíle: první klikací prvek je dostupný bez blokování (cookie wall až po první interakci, ne před ní).
- Postupné odkrývání obsahu: skryté sekce načítat až na vyžádání; prefetch pro následující kroky.
Analytika a dopad na SEO
- Model dopadu: statistická kontrola v čase (CUSUM/Shewhart) + difference-in-differences mezi skupinami URL.
- SEO metriky: změny v impressions/CTR/pozicích u šablon ve vztahu k CWV; pozor na zpoždění CrUX a proměnlivost SERP.
- Propojení s konverzemi: propojte segmenty CWV (good/needs-improvement/poor) s konverzemi; investice směřujte do šablon s nejvyšší návratností.
Kontrolní seznam před obdobím špičkové návštěvnosti
- CDN cache hit rate > 90 %, aktivní stale-if-error.
- Obrázky AVIF/WebP s definovaným intrinsic size; hlavní obrázek ≤ 100 kB (ideálně text + SVG).
- JS budget < 170 kB gz nad přehybem stránky; žádné blokující skripty třetích stran.
- Upozornění RUM otestována; scénář automatického rollbacku ověřen.
- Šablony programmatic SEO ověřeny na canary; experimenty během špičky pozastaveny.
Časté anti-patterny a jak se jim vyhnout
- „Perf by PR“: optimalizace pouze příležitostně; místo toho nastavte trvalé SLO a automatizované ochranné mechanismy.
- „Syntetika = realita“: ignorování RUM; skutečnost se ukazuje v terénu, ne v laboratoři.
- „One-size-fits-all“: stejná řešení pro všechny šablony; segmentujte podle dopadu a nákladů.
- „Zázračné“ knihovny: bez profilování; vždy nejprve měřte, teprve potom zavádějte.
War room pro Core Web Vitals je operační systém výkonu: propojuje měření z terénu, syntetickou diagnostiku, stabilní SLO a rychlé zásahy. V kontextu měření, automatizace a programmatic SEO představuje nejkratší cestu od problému k výsledku – vyšší skóre CWV, lepší organické signály a měřitelný nárůst konverzí.
