Roboty a prístup

Keď je obsah až v JavaScripte, robot vidí prázdnu stránku.

Vypnite si v prehliadači JavaScript a načítajte svoj web. Čo zostane na obrazovke, to má robot k dispozícii.

Dve rôzne stránky

Keď si otvoríte web, prehliadač stiahne HTML a potom spustí JavaScript, ktorý môže obsah doplniť, zmeniť alebo vytvoriť celý. Vy vidíte výsledok po oboch krokoch.

Robot nemusí. Časť agentov JavaScript nespúšťa vôbec, iní ho spúšťajú s oneskorením alebo obmedzene. Čím viac obsahu vzniká až v prehliadači, tým väčšia časť webu je pre nich neviditeľná.

Pri jazykových modeloch je to výraznejšie než pri klasických vyhľadávačoch. Google si s JavaScriptom poradí v mnohých prípadoch — spracuje stránku v druhej vlne, keď má voľnú kapacitu. Agenti, ktorí zbierajú obsah pre modely, sú v tom spravidla jednoduchší a druhú vlnu nemajú.

Overte si to za desať sekúnd

Najrýchlejšie: v prehliadači si vypnite JavaScript v nastaveniach stránky a načítajte web znova. Čo zostane, to má robot.

Presnejšie: kliknite pravým tlačidlom a zvoľte „Zobraziť zdrojový kód stránky“ — pozor, nie „Preskúmať prvok“. Zdrojový kód je to, čo prišlo zo servera; inšpektor ukazuje stav po spustení skriptov. Ak v zdrojovom kóde nenájdete text, ktorý na stránke vidíte, ten text robot nedostal.

Bez prehliadača: curl -s https://vasadomena.sk/ | wc -w spočíta slová v tom, čo poslal server. Porovnajte to s tým, koľko textu na stránke naozaj je.

Typické prejavy

  • Slovo „Načítava sa“ ako finálny text. Robot dostal stránku v stave, keď ešte nič nie je, a nič lepšie sa nedozvie.
  • Prázdny výpis produktov alebo článkov. Zoznam sa dopĺňa dodatočne z dát.
  • Chýbajúci hlavný text. Stránka má v zdrojovom kóde len kostru a odkazy.
  • Stav 200 pri neexistujúcej adrese. O adresách rozhoduje až skript v prehliadači, takže server odpovie rovnako na všetko.
  • Štruktúrované dáta, ktoré vkladá skript. Práca sa spravila, ale nedoručila.

Piaty prípad je zradný, lebo v inšpektore aj vo validátore, ktorý spúšťa JavaScript, vyzerá všetko v poriadku. Overiť sa dá len v zdrojovom kóde.

Čo s tým

Riešenie je vždy to isté: poslať zo servera hotový obsah. Cesty sú tri a líšia sa cenou.

Vykresľovanie na serveri

Server pošle hotové HTML a JavaScript ho už len oživí. Je to štandardné riešenie a väčšina moderných rámcov to podporuje. Cena: prestavba, ak web takto postavený nebol.

Predgenerovanie

Stránky sa vygenerujú vopred a servírujú ako statické súbory. Vhodné pre obsah, ktorý sa nemení každú minútu. Najlacnejšie a najrýchlejšie.

Aspoň to podstatné do HTML

Ak veľká prestavba nie je na stole, dá sa aspoň zabezpečiť, že nadpisy, hlavný text a štruktúrované dáta prídu zo servera. Nie je to ideálne, ale je to rozdiel medzi „robot nevidí nič“ a „robot vidí to hlavné“.

Čo nefunguje: posielať robotom inú verziu stránky než ľuďom. Volá sa to cloaking, vyhľadávače to zakazujú a odhalia to porovnaním. Riešenie musí byť rovnaké pre všetkých.

Čo pokojne môže zostať v JavaScripte

Nie všetko treba prerábať. Bez obáv nechajte v skripte to, čo nie je obsah:

  • animácie, prechody, odhaľovanie pri scrollovaní,
  • rozbaľovacie menu a mobilnú navigáciu,
  • formuláre a ich validáciu,
  • filtre a triedenie, pokiaľ existuje aj adresa s výsledkom,
  • chat, kalendár, mapu.

Hranica je jednoduchá: ak by text mal byť vo výsledku vyhľadávania alebo v odpovedi modelu, musí prísť zo servera. Všetko ostatné je vzhľad a správanie a tam JavaScript patrí.

Koľko je dosť

Neexistuje oficiálna hranica a nikto ju nezverejnil. Praktické pravidlo: ak zo servera príde menej než dvesto slov zmysluplného textu, stránka má pre roboty veľmi málo materiálu. Pri stránke, ktorá má niečo vysvetliť alebo predať, je to málo bez ohľadu na to, ako vyzerá v prehliadači.

Časté otázky

Google predsa JavaScript spracúva. Nie je to vyriešené?

Google si s ním poradí v mnohých prípadoch, ale s oneskorením a nie vždy úplne. Agenti, ktorí zbierajú obsah pre jazykové modely, sú v tom spravidla obmedzenejší, takže problém pretrváva aj tam, kde Google zvládne.

Ako rýchlo zistím, či ma to trápi?

Zobrazte si zdrojový kód stránky (nie inšpektor) a vyhľadajte v ňom vetu, ktorú na stránke vidíte. Ak tam nie je, obsah vzniká až v prehliadači.

Musím kvôli tomu prerobiť celý web?

Nie nutne. Prvý krok je dostať do serverového HTML nadpisy, hlavný text a štruktúrované dáta. Úplná prestavba na vykresľovanie na serveri je až ďalší stupeň.

Čo môže zostať v JavaScripte?

Všetko, čo nie je obsah — animácie, menu, formuláre, filtre, mapa, chat. Hranica je jednoduchá: ak by text mal byť vo výsledku vyhľadávania alebo v odpovedi modelu, musí prísť zo servera.

Môžem robotom poslať inú verziu stránky?

Nie. Volá sa to cloaking, vyhľadávače to zakazujú a odhalia to porovnaním verzií. Riešenie musí byť rovnaké pre ľudí aj pre roboty.

Chcete vedieť, ako je na tom váš web?

Pošlite nám adresu a pripravíme krátky audit s konkrétnymi nálezmi — pri každom je napísané, kde si ho overíte sami. Zadarmo, do 48 hodín.