Technické SEO·12. prosince 2025·7 min čtení

Optimalizace CLS: jak najít a opravit, co na webu skáče

Optimalizace CLS má proti zbytku technického SEO jednu výhodu: viníka jde chytit při činu. CLS (Cumulative Layout Shift) je číslo, kterým Google známkuje nečekané poskakování obsahu — a každý takový poskok se dá v prohlížeči zvýraznit, změřit a dohledat až k prvku, který ho způsobil. Co skákání dělá s návštěvníky a proč ho Google vůbec hodnotí, jsem vysvětlila v článku CLS: proč se vám web skáče pod rukama. Tady navazuje samotná oprava: čím posuny najít, kterých pět příčin za nimi stojí skoro vždycky a co přesně kvůli nim zadat vývojáři. Cílová hodnota je podle Googlu CLS do 0,1.

Nejdřív posuny najděte

Opravovat naslepo je drahé. Než vývojář sáhne do šablony, chcete vědět dvě věci: jestli je CLS opravdu problém (na to jsou čísla) a co konkrétně se hýbe (na to je prohlížeč).

PageSpeed Insights (pagespeed.web.dev) odpoví na první otázku. Nahoře jsou polní data: skutečné návštěvy vašeho webu v Chromu za posledních 28 dní, tedy číslo, které vidí i Google. Pod nimi laboratorní test — jedno simulované načtení, které se hodí na rychlé ověření opravy, ale CLS soustavně podceňuje. Robot totiž stránku jen načte; nescrolluje, nekliká a nepočká si na banner, který doskočí po deseti vteřinách. CLS se přitom měří za celou návštěvu: posuny jdoucí rychle za sebou se sčítají do dávek a výsledné skóre je nejhorší dávka, jakou stránka návštěvníkovi předvedla. Proto existují weby s nulou v laboratoři a červenými polními daty. Máte-li Search Console, sekce Core Web Vitals vám navíc problém rozdělí po skupinách stránek: hned víte, jestli skáče celý web, nebo jen produktové detaily.

Chrome DevTools odpoví na druhou otázku. Dvě funkce stojí za to znát, i když kód psát nebudete:

  • Layout Shift Regions (v nabídce Rendering). Po zapnutí prohlížeč každý posun barevně zvýrazní přímo při prohlížení. Otevřete web, proklikejte pár stránek a dívejte se, co problikává. Rychlejší diagnóza neexistuje.
  • Záznam v panelu Performance. Spustíte nahrávání, obnovíte stránku, chvíli scrollujete a záznam zastavíte. Posuny rozvržení mají na časové ose vlastní stopu; po kliknutí na konkrétní posun uvidíte, které prvky se pohnuly a v jakém okamžiku. Tohle už je práce pro vývojáře — ale právě tenhle záznam je zadání, se kterým nemusí nic hledat.
Postup hledání layout shiftů v Chrome DevTools: Layout Shift Regions a záznam v panelu Performance

Pět viníků, za kterými se skákání skrývá skoro vždycky

Příčin může být bezpočet, u klientských webů se ale vrací pořád stejná pětice.

Infografika: nejčastější viníci CLS a jejich opravy — obrázky bez rozměrů, reklamy a embedy, webové fonty, pozdě načítané styly

Obrázky bez rozměrů

Prohlížeč skládá stránku dřív, než se stáhnou obrázky. Dokud u obrázku nevidí rozměry, nerezervuje mu žádné místo — a když obrázek dorazí, odstrčí všechno pod sebou. Oprava je nejjednodušší z celého seznamu: každý obrázek a video má mít v HTML uvedenou šířku a výšku.

<img src="produkt.webp" alt="Popis produktu" width="800" height="600">

Nebojte se, že tím obrázek „zamknete“ na 800 pixelů. CSS ho dál zmenšuje podle displeje; prohlížeč si z atributů vezme jen poměr stran a podle něj drží místo. Totéž umí v CSS vlastnost aspect-ratio. Moderní redakční systémy rozměry doplňují samy, jenže šablony a pluginy je umí zase ztratit — kontrola se vyplatí i na WordPressu.

Reklamy, embedy a mapy

Bannery, vložená videa, mapy a příspěvky ze sociálních sítí přijíždějí ze serverů třetích stran, tedy skoro vždycky později než zbytek stránky. Bez rezervovaného místa roztlačí obsah kolem sebe, a protože reklamní pozice bývají velké, jde typicky o největší posuny na stránce.

Oprava: kontejner, do kterého se reklama nebo embed načítá, dostane předem minimální výšku (min-height), vložené video poměr stran 16 : 9. Má to daň, se kterou je fér počítat — když se reklama nenačte, zůstane na stránce prázdné místo. Prázdné místo ale návštěvníka nerozčílí. Skok ano.

Webová písma

Než se stáhne vlastní font, prohlížeč vykreslí text písmem náhradním. To má jinou šířku i výšku, takže se text po výměně přeskládá. Úplně to odstranit nejde, srazit skoro na nulu ano — a je to úprava na pár řádků CSS: vlastností font-display se řídí, kdy a jestli se font vymění, a náhradní písmo se dá velikostně doladit tak, aby výměna nebyla skoro vidět. Vývojáři stačí zadání jednou větou: „ať text při načtení fontu neposkakuje.“

Klasika posledních let: stránka se vykreslí, o vteřinu později se nahoře vysune cookie lišta a celý obsah sjede o kus níž. Jeden takový posun umí zkazit CLS víc než všechny obrázky dohromady, protože se pohne prakticky celá plocha obrazovky.

Řešení je laciné: lišta, která obsah překryje (typicky připnutá dole), žádný posun nezpůsobí. Druhá možnost je rezervovat pro ni místo předem. U hotových cookie nástrojů na to většinou nepotřebujete ani vývojáře — v nastavení bývá volba pozice a lišta dole překryvem je z pohledu CLS nejbezpečnější. Totéž platí pro lišty se slevou nebo výzvou k odběru: cokoliv, co se vysune nad rozečtený obsah, se počítá.

Pozdě načítané styly

Nenápadný, ale zákeřný viník: část CSS dorazí se zpožděním, třeba proto, že ji na stránku vkládá skript, a stránka se po jejím uplatnění přeskládá. Vídám to u nástrojů na A/B testování, chatovacích widgetů a šablon, které si styly přinášejí po kouskách. Zadání pro vývojáře: styly, které ovlivňují rozložení stránky, patří do hlavičky od začátku, ne do skriptů spouštěných kdovíkdy.

Většina webů, které mi projdou rukama, ztrácí návštěvnost kvůli třem až pěti chybám. Které brzdí ten váš? Pošlete mi adresu a do 48 hodin to víte. Ručně, zdarma a bez závazku.

Chci najít své chyby

Kdy CLS řešit — a kdy nechat být

Prahy z dokumentace Googlu: do 0,1 dobré, 0,1 až 0,25 „potřebuje zlepšení“, nad 0,25 špatné. Vždy měřeno na 75. percentilu návštěv — web musí držet u tří čtvrtin lidí, ne u vás v kanceláři na rychlé síti.

Zároveň: CLS 0,15 vás v pozicích nepotopí. Core Web Vitals jsou v hodnocení Googlu slabý signál mezi mnoha silnějšími a samotnou opravou skákání konkurenci nepředběhnete. Opravujte kvůli lidem: kvůli kliknutím, která dopadla vedle, ztracenému místu v textu a košíkům opuštěným ze vzteku. A pořadí si nechte určit polními daty — když svítí CLS, řešte CLS; když je CLS zelené a kulhá načtení nebo odezva, má přednost LCP, případně INP.

Časté otázky

Laboratorní test ukazuje skoro nulu, polní data jsou špatná. Čemu věřit?

Polním datům — ta se počítají. Laboratorní robot stránku jen načte: nescrolluje, nečeká na reklamy ani na lištu, která vyskočí po pár vteřinách, takže většinu posunů z reálného prohlížení vůbec nezažije. V laboratoři se pravdě přiblížíte záznamem v panelu Performance, při kterém stránkou scrollujete jako návštěvník.

Obrázky načítám odloženě (lazy loading). Řeší to CLS?

Neřeší, spíš naopak: odložený obrázek dorazí ještě později, takže bez uvedených rozměrů udělá posun hluboko na stránce, kde už člověk čte. Rozměry potřebují odloženě načítané obrázky ze všech nejvíc. Kombinace rozměrů a lazy loadingu je v pořádku a rychlosti pomáhá.

Musím kvůli CLS omezit reklamy?

Nemusíte. Banner v předem rezervovaném prostoru s pevnou velikostí skóre nekazí — CLS měří posuny, ne přítomnost reklamy. Pozor jen na formáty, které se samy roztahují nebo vsouvají doprostřed textu — u těch se vyplatí spočítat, jestli výnos stojí za návštěvníky, které skákání odežene.

Většina oprav je otázka šablony, ne přestavby webu

Dobrá zpráva na konec: nic z téhle kuchařky není přestavba. Rozměry obrázků, rezervované sloty, lišta překryvem — to jsou zásahy do šablony, které šikovný vývojář zvládne v řádu hodin. Nejtěžší na celém CLS je něco jiného: vědět, jestli ho váš web vůbec má, na kterých stránkách a jestli je na řadě dřív než jiné opravy. A to je otázka pro SEO audit: Core Web Vitals v něm stojí vedle obsahu, indexace a odkazů, takže hodiny vývojáře investujete tam, kde webu pomůžou nejvíc, a ne do metriky, která je zrovna v módě.

Chci audit webu zdarma

Zdroje k faktům v článku:

Související články

O autorce

Ing. Jana Hrabalová

Ing. Jana Hrabalová

SEO specialistka

SEO se věnuji od roku 2012. Pomáhám firmám získat více zákazníků z Google a přežít každý algoritmus update bez škrábnutí.

Čtěte dále

Zjistěte zdarma, co brzdí váš web

Pošlete mi adresu webu a do 48 hodin víte, na čem jste — a co opravit jako první

  • Ruční kontrola, žádný automat
  • Konkrétní priority, co opravit
  • Výsledky do 48 hodin

Vyzkoušejte také mé bezplatné SEO nástroje: