NovéStaviam na Claude od AnthropicAI automatizácia procesovAI v marketingu

Vyskakovacie okná, cookie lišta a prekrytia: čo z toho škodí SEO

Cookie lišta, ponuka zľavy a výzva na odber newslettera majú spoločné to, že stoja medzi návštevníkom a obsahom, pre ktorý na stránku prišiel. Google k nim má samostatnú dokumentáciu aj konkrétne odporúčania, pričom povinné prekrytia z nich výslovne vyníma, takže cookie lišta sama osebe problém nie je. Problém vzniká na troch iných miestach: keď sa hlavný obsah načíta až po kliknutí na súhlas, keď lišta rozhádže rozloženie stránky a zhorší Core Web Vitals a keď je navrhnutá tak, že súhlas nie je platný ani podľa pravidiel ochrany údajov. Tento článok prechádza všetky tri a opiera sa o dokumentáciu Google Search Central, o metriky z web.dev a o správu pracovnej skupiny EDPB k cookie lištám.

1. Čo Google o prekrytiach naozaj hovorí

Prekrytie obsahu nie je iba vec vkusu, keďže Google mu venuje samostatný dokument a rozlišuje v ňom dve podoby. Dokumentácia Search Central opisuje rušivé prekrytia a dialógy ako prvky stránky, ktoré bránia používateľovi vo výhľade na obsah a zvyčajne slúžia na propagáciu, pričom prekrytie leží na celej stránke, kým dialóg zakrýva len jej časť a niekedy obsah pod sebou znejasňuje (Avoid intrusive interstitials and dialogs).

Dôvod, prečo to patrí do technického SEO a nie do dizajnu, je v tom istom dokumente povedaný priamo, lebo rušivé dialógy a prekrytia podľa neho sťažujú Googlu aj ostatným vyhľadávačom pochopiť váš obsah, čo môže viesť k slabému výkonu vo vyhľadávaní. Rovnaký text pripomína aj druhú stranu veci, keďže prerušovanie rušivými prekrytiami návštevníkov frustruje a narúša ich dôveru vo web, takže sa naň potom neradi vracajú.

Odporúčanie Google sa dá zhrnúť do jedinej vety. Namiesto celostránkových prekrytí má web používať bannery, ktoré zaberú iba malý zlomok obrazovky, pretože banner zaručí, že sa používatelia aj vyhľadávače dostanú k obsahu hneď po príchode na stránku. Dokument to ilustruje na výzvach na inštaláciu aplikácie, kde odkazuje na bannery podporované prehliadačom, a dodáva, že rovnaké malé prvky sa dajú použiť aj na iné oznámenia, napríklad na výzvu na odber newslettera.

Zoznam chýb je krátky a stojí za doslovné prečítanie, pretože sa v ňom skrýva výnimka, ktorá rozhoduje o zvyšku článku. Pokiaľ prekrytie nie je právne povinné, má sa web podľa dokumentácie vyhnúť dvom veciam: zakrývaniu celej stránky prekrytím a presmerovaniu používateľa kvôli súhlasu alebo zadaniu údajov na samostatnú stránku. Prekrytie sa navyše neposudzuje samostatne, ale ako súčasť používateľského dojmu zo stránky, kde dokumentácia uvádza šesť kontrolných otázok a jedna z nich znie, či sa vaše stránky vyhýbajú rušivým prekrytiam (Understanding page experience in Google Search results).

Tá istá stránka zároveň mierni očakávania oboma smermi, lebo v odpovediach na časté otázky uvádza, že jediný signál používateľského dojmu neexistuje a základné hodnotiace systémy Google sledujú viacero signálov naraz. Prekrytie teda nie je vypínač, ktorý by web zrazil dole, no je jedným z prvkov, ktoré sa pri hodnotení sčítavajú s ostatnými.

Prvok na stránkeAko ho Google berieČo s ním
Celostránkové prekrytie so zľavourušivé prekrytie, obsah je zakrytýnahradiť bannerom cez zlomok obrazovky
Cookie lištaprávne povinné prekrytie, vyňaté z pravidielponechať, ale nezakrývať ňou celú stránku
Veková bránapovinné prekrytieobsah vrstviť pod bránu, nepresmerúvať
Výzva na inštaláciu aplikáciepropagačný dialógbanner podporovaný prehliadačom alebo malý banner v HTML
Samostatná stránka so súhlasompresmerovanie, ktoré Google odrádzazrušiť, súhlas zbierať na pôvodnej adrese

2. Cookie lišta ako povinné prekrytie

Cookie lišta má oproti propagačnému okienku výhodu, ktorú Google pomenúva sám. Zoznam chýb je totiž uvedený podmienkou, že platí, pokiaľ prekrytia nie sú právne povinné, a samostatná časť dokumentu hovorí, že povinné prekrytia sú z opísaných pravidiel vyňaté. Z výnimky však nevyplýva, že na tvare lišty nezáleží, pretože hneď za ňou nasledujú tri konkrétne odporúčania pre weby, ktoré prekrytie zobraziť musia.

Prvé odporúčanie sa týka toho, ako prekrytie vzniká, a znie, že obsah má byť prekrytím prekrytý, teda že sa naň prekrytie vrství navrch. Dôvod je uvedený rovno v dokumente, keďže takto Google dokáže aspoň časť obsahu zaindexovať a prípadne ju zobraziť vo výsledkoch vyhľadávania. Prakticky to znamená, že lišta má byť ďalšou vrstvou nad hotovou stránkou, a nie stavom, v ktorom sa obsah na stránku vôbec nedostane.

Druhé odporúčanie je tvrdšie a mieri na riešenie, ktoré sa stále objavuje pri redizajnoch. Prichádzajúce požiadavky HTTP sa nemajú presmerovať na inú stránku kvôli zberu súhlasu alebo údajov, lebo presmerovanie všetkých adries na jednu stránku podľa dokumentácie odstráni z výsledkov vyhľadávania všetky okrem tejto jedinej, keďže Googlebot dokáže načítať iba ju. Ak teda web posiela každého nového návštevníka najskôr na adresu so súhlasom, nejde o kozmetickú chybu, ale o priamu stratu indexovaných stránok, ktorej príčiny sa inak hľadajú veľmi ťažko. Súvisiace stavy z prehľadu indexovania rozoberá článok o tom, prečo Google neindexuje stránky.

Tretie odporúčanie ukazuje, ako ďaleko je Google ochotný zájsť pri obsahu, ktorý sa bez brány zobraziť nesmie. Pri obsahu za povinnou vekovou bránou pre dospelých dokumentácia odporúča umožniť Googlebotu prehľadávať obsah bez toho, aby sa brána spustila, a to overením požiadaviek Googlebota a doručením obsahu bez brány. Ide o odporúčanie pre konkrétny prípad, takže z neho nerobte pravidlo pre všetky prekrytia, keďže politiky spamu definujú cloaking ako predkladanie odlišného obsahu používateľom a vyhľadávačom so zámerom manipulovať poradie a zavádzať používateľov (Spam policies for Google web search).

3. Googlebot vašu lištu neodklikne

Najčastejšia technická škoda nevzniká z prekrytia samotného, ale z toho, čo sa za ním načíta až neskôr. Dokumentácia k odkladanému načítaniu obsahu to formuluje jednou vetou, keď pri odporúčaných metódach zdôrazňuje, že sa nespoliehajú na akcie používateľa, teda na skrolovanie ani na klikanie, čo je dôležité preto, lebo vyhľadávanie Google so stránkou neinteraguje (Fix lazy-loaded content). Ak sa teda hlavný text, obrázky alebo recenzie načítajú až po kliknutí na tlačidlo súhlasu, Google ich nemá z čoho prečítať.

To isté pravidlo platí pre nekonečné zoznamy, ktoré sa dopĺňajú pri skrolovaní. Dokumentácia žiada, aby web podporoval stránkované načítanie jednotlivých častí, teda aby každá časť mala vlastnú trvalú a jedinečnú adresu a aby obsah zobrazený na danej adrese zostal pri každom načítaní v prehliadači rovnaký. Rovnaká logika sa oplatí pri prvkoch typu „zobraziť viac“, pretože text schovaný za takým tlačidlom sa načítava tou istou cestou, na ktorú sa Google nespolieha. Širšie súvislosti rozoberá článok o JavaScript SEO.

Overenie je pritom otázka niekoľkých minút a nepotrebujete naň žiadny platený nástroj. Pomocník k nástroju Kontrola adresy URL uvádza, že si viete zobraziť vykreslenú verziu stránky, teda snímku obrazovky toho, ako stránku vidí Google-InspectionTool, a cez voľbu s ďalšími informáciami sa dostanete k zoznamu načítaných zdrojov, k výstupu JavaScriptu aj ku kódu stránky (URL Inspection Tool). Na snímke hľadajte jedinú vec: či pod lištou vidno hlavný obsah, alebo prázdnu stránku.

Ak sa na snímke obsah nenachádza, príčina býva v poradí načítania a nie v prekrytí ako takom. Skript súhlasu často beží skôr než zvyšok stránky a niektoré nástroje na správu súhlasu blokujú načítanie ďalších skriptov dovtedy, kým návštevník neklikne, takže robot uvidí len prázdne miesto. Riešením je doručiť hlavný obsah v HTML odpovede servera a súhlas riešiť až nad hotovou stránkou.

4. Čo prekrytie robí s Core Web Vitals

Lišta, ktorá pribudne až po načítaní stránky, sa najviditeľnejšie prejaví na stabilite rozloženia. Metrika CLS je podľa dokumentácie web.dev v dobrom pásme pri hodnote 0,1 a menej, zatiaľ čo hodnoty nad 0,25 sú slabé, pričom sa meria 75. percentil načítaní stránky zvlášť pre mobil a počítač (Cumulative Layout Shift). Posun rozloženia vzniká vtedy, keď prvok viditeľný v zobrazovanej oblasti zmení medzi dvoma snímkami svoju počiatočnú polohu, takže lišta vložená nad obsah ho stlačí nadol a skóre narastie.

Nie každý posun sa však počíta rovnako a práve v tom je návod na riešenie. Dokumentácia uvádza, že posuny vyvolané interakciou používateľa, napríklad kliknutím na odkaz, stlačením tlačidla alebo písaním do vyhľadávacieho poľa, sú vo všeobecnosti v poriadku, pokiaľ posun nastane dosť blízko k interakcii, aby bol vzťah pre používateľa zrejmý. Lišta zobrazená hneď pri načítaní žiadnu takú interakciu za sebou nemá, preto sa jej posun počíta v plnej výške, kým lišta vykreslená ako plávajúca vrstva nad obsahom rozloženie nemení vôbec.

Druhá metrika hovorí o tom, ako rýchlo návštevník uvidí hlavný obsah. Za dobrú hodnotu LCP považuje dokumentácia 2,5 sekundy a menej, opäť meranú na 75. percentile načítaní zvlášť pre mobil a počítač (Largest Contentful Paint). Ak skript súhlasu blokuje vykresľovanie, prejaví sa to v diagnostike, pretože veľký rozdiel medzi TTFB a FCP môže podľa návodu na optimalizáciu LCP naznačovať, že prehliadač musí stiahnuť množstvo zdrojov blokujúcich vykresľovanie.

Tretia metrika sa cookie lišty týka najpriamejšie, keďže hodnotí odozvu na kliknutie. INP je podľa dokumentácie pri hodnote 200 milisekúnd a menej dobrá odozva, medzi 200 a 500 milisekundami potrebuje zlepšenie a nad 500 milisekúnd je slabá, opäť na 75. percentile (Interaction to Next Paint). Kliknutie na tlačidlo súhlasu býva prvou interakciou na stránke, takže pomalý skript sa do tejto metriky premietne priamo a nič iné to nemá ako prekryť. Ako sa tieto tri metriky merajú a čo ich zvyčajne kazí, rozoberá článok o Core Web Vitals a rýchlosti webu.

MetrikaDobrá hodnotaSlabá hodnotaČo na nej pokazí prekrytie
CLS0,1 a menejnad 0,25lišta vložená do toku stránky posunie obsah nadol
LCP2,5 sekundy a menejdokumentácia uvádza prah pre dobrú hodnotuzdroje blokujúce vykresľovanie odsunú hlavný prvok
INP200 milisekúnd a menejnad 500 milisekúndpomalá odozva na kliknutie na tlačidlo súhlasu

5. Súhlas, ktorý obstojí aj mimo SEO

Technicky čistá lišta ešte nie je lišta, ktorá obstojí pred dozorným úradom, a obe požiadavky sa prekrývajú viac, než sa na prvý pohľad zdá. Správa pracovnej skupiny EDPB k cookie lištám z januára 2023 zhŕňa postoje dozorných úradov k jednotlivým praktikám a prvá z nich sa týka chýbajúceho tlačidla na odmietnutie. Výrazná väčšina úradov podľa správy považuje absenciu možnosti odmietnuť na ktorejkoľvek vrstve lišty s tlačidlom na udelenie súhlasu za rozpor s požiadavkami na platný súhlas, a teda za porušenie smernice ePrivacy (Report of the work undertaken by the Cookie Banner Taskforce).

Druhá praktika sa týka nastavení skrytých za tlačidlom s možnosťami. Členovia pracovnej skupiny potvrdili, že vopred zaškrtnuté políčka nevedú k platnému súhlasu ani podľa nariadenia GDPR, ktoré v recitáli 32 uvádza, že mlčanie, vopred označené políčka alebo nečinnosť nemajú predstavovať súhlas, ani podľa článku 5 ods. 3 smernice ePrivacy. Správa k tomu pripomína východisko, na ktoré sa pri nastavovaní najčastejšie zabúda, teda že bez súhlasu sa nesmú nastaviť žiadne cookies, ktoré súhlas vyžadujú, a súhlas musí byť vyjadrený aktívnym úkonom používateľa.

Tretia poznámka mieri na dizajn a zároveň rieši aj problém z prvej kapitoly. Podľa správy nesmie vlastník webu navrhnúť lištu tak, aby v používateľoch vyvolávala dojem, že na prístup k obsahu webu musia súhlas udeliť, ani tak, aby ich k súhlasu zjavne tlačila, pričom ako jedna z ciest sa uvádza umožniť pokračovať v prehliadaní bez cookies už z prvej vrstvy. Lišta, ktorá obsah nezamyká, je zároveň presne to, čo pre indexovanie odporúča Google, takže právna aj vyhľadávacia požiadavka tu vedú k rovnakému riešeniu.

Zostáva odvolanie súhlasu, ktoré býva na weboch najslabším miestom. Správa odporúča zaviesť ľahko dostupné riešenia, ktoré používateľovi umožnia odvolať súhlas kedykoľvek, napríklad malú plávajúcu a trvalo viditeľnú ikonu alebo odkaz umiestnený na viditeľnom a ustálenom mieste. Práve pri tejto ikone sa oplatí myslieť aj na mobil, pretože trvalo viditeľný prvok zaberá na malej obrazovke viac, než sa pri návrhu na počítači zdá, a ďalšie súvislosti rozoberá článok o mobilnom SEO.

6. Nastavenie krok po kroku a kontrola

Keď sa jednotlivé požiadavky spoja, vznikne z nich pomerne krátky postup, ktorý sa dá prejsť za jedno popoludnie. Začnite tým, že sa pozriete na zdrojový kód stránky bez spustenia JavaScriptu, keďže hlavný text má byť v HTML odpovede servera a nie až vo výstupe skriptu, ktorý čaká na súhlas. Potom nechajte lištu vykresliť ako vrstvu nad hotovou stránkou, aby sa splnilo odporúčanie Google o prekrytí obsahu a aby sa pritom rozloženie pod ňou neposúvalo.

Ďalší krok patrí presmerovaniam, ktoré bývajú najdrahšou chybou zo všetkých. Overte, či web neposiela prichádzajúce požiadavky na samostatnú adresu so súhlasom, pretože presmerovanie všetkých adries na jednu stránku podľa dokumentácie odstráni z výsledkov všetky okrem nej. Nakoniec si nechajte meranie, kde na strane používateľa sledujete CLS, LCP a INP a na strane vyhľadávača snímku z nástroja Kontrola adresy URL.

Častá chybaAko sa prejavíOprava
Obsah sa načíta až po kliknutí na súhlasvo vykreslenej snímke je prázdna stránkahlavný obsah doručiť v HTML odpovede servera
Lišta je vložená do toku stránkyrastie CLS nad 0,1vykresliť ju ako plávajúcu vrstvu nad obsahom
Skript súhlasu blokuje vykresľovanieveľký rozdiel medzi TTFB a FCP, vyššie LCPnačítať ho neblokujúco a zmenšiť jeho objem
Súhlas na samostatnej adresez indexu zostane jediná stránkazrušiť presmerovanie, zbierať súhlas na pôvodnej adrese
Lišta bez možnosti odmietnuťsúhlas nie je platný podľa väčšiny dozorných úradovdoplniť rovnocennú možnosť odmietnuť
Chýba odvolanie súhlasupoužívateľ sa k nastaveniam nevie vrátiťmalá trvalo viditeľná ikona alebo odkaz na ustálenom mieste

Posledná vec sa netýka techniky, ale rozhodnutia o tom, koľko prekrytí web vôbec unesie. Ak sa na jednej stránke stretne cookie lišta, ponuka zľavy a výzva na odber newslettera, návštevník musí pred prečítaním prvej vety trikrát niečo zavrieť, čo je presne stav, pred ktorým dokumentácia varuje. Propagačné prvky sa dajú zobraziť neskôr alebo len opakovaným návštevníkom, kým povinná lišta zostane jediným prekrytím, ktoré uvidí každý.

Časté otázky

Penalizuje Google weby za cookie lištu?

Cookie lišta ako taká medzi problémové prvky nepatrí. Dokumentácia Google k rušivým prekrytiam uvádza zoznam chýb s podmienkou, že platí, pokiaľ prekrytia nie sú právne povinné, a povinné prekrytia sú z opísaných pravidiel výslovne vyňaté. Google k nim však pridáva odporúčania, konkrétne aby bol obsah prekrytím prekrytý a aby sa prichádzajúce požiadavky HTTP nepresmerovali na inú stránku kvôli zberu súhlasu alebo údajov.

Prečo Google nevidí obsah, ktorý sa načíta po kliknutí na súhlas?

Pretože Google na stránke nič neklikne. Dokumentácia k odkladanému načítaniu obsahu odporúča metódy, ktoré sa nespoliehajú na akcie používateľa, teda na skrolovanie ani klikanie, a dôvod uvádza priamo, keďže vyhľadávanie Google so stránkou neinteraguje. Obsah, ktorý sa objaví až po zatvorení lišty alebo po stlačení tlačidla, preto nemusí byť vôbec spracovaný.

Ako si overím, čo z mojej stránky Google skutočne vidí?

Nástrojom Kontrola adresy URL v Search Console. Pomocník uvádza, že si viete zobraziť vykreslenú verziu stránky, teda snímku obrazovky toho, ako ju vidí Google-InspectionTool, a cez voľbu s ďalšími informáciami sa dostanete aj k zoznamu načítaných zdrojov, k výstupu JavaScriptu a ku kódu stránky. Na snímke stačí sledovať, či pod lištou vidno hlavný obsah.

Smiem cookie lištu pred Googlebotom skryť?

Doručovať robotovi inú verziu stránky než návštevníkovi je riziko, ktoré si treba dobre premyslieť. Politiky spamu definujú cloaking ako predkladanie odlišného obsahu používateľom a vyhľadávačom so zámerom manipulovať poradie vo vyhľadávaní a zavádzať používateľov. Google sám robí výnimku pri obsahu za povinnou vekovou bránou pre dospelých, kde odporúča overiť požiadavky Googlebota a doručiť obsah bez brány, no ide o odporúčanie pre tento konkrétny prípad.

Aké hodnoty Core Web Vitals mám pri lište sledovať?

Tri a všetky na 75. percentile načítaní zvlášť pre mobil a počítač. Dobrá hodnota CLS je 0,1 a menej, pričom hodnoty nad 0,25 sú slabé, dobré LCP je 2,5 sekundy a menej a pri INP je 200 milisekúnd a menej dobrá odozva, kým nad 500 milisekúnd je slabá. Lišta vložená do toku stránky zvyšuje CLS, zatiaľ čo pomalý skript súhlasu sa prejaví na INP, lebo kliknutie do lišty býva prvou interakciou.

Čo musí lišta obsahovať, aby bol súhlas platný?

Predovšetkým možnosť odmietnuť. Podľa správy pracovnej skupiny EDPB k cookie lištám výrazná väčšina dozorných úradov považuje absenciu možnosti odmietnuť na ktorejkoľvek vrstve lišty s tlačidlom na udelenie súhlasu za rozpor s požiadavkami na platný súhlas. Rovnaká správa pripomína, že vopred zaškrtnuté políčka k platnému súhlasu nevedú, a odporúča ľahko dostupné odvolanie súhlasu, napríklad malú trvalo viditeľnú ikonu alebo odkaz na viditeľnom a ustálenom mieste.

HľadaťDohodnúť stretnutie