JavaScript SEO
Také známé jako: SEO pro JavaScript weby, renderování pro vyhledávače, SSR vs CSR
JavaScript SEO je zajištění toho, aby obsah generovaný na straně prohlížeče byl dostupný i vyhledávačům a AI asistentům. Zásadní je, že obsah, který v HTML není a doplní ho až JavaScript, část robotů nikdy neuvidí.
Kdy to řešit
Vždy, když web nebo jeho část běží na JavaScriptovém frameworku, a vždy, když se obsah donačítá — nekonečný scroll v kategorii, recenze načtené po kliknutí, popis produktu v záložce, filtry generované až v prohlížeči.
Aktuálně je to naléhavější než dřív, protože roste podíl návštěv z AI asistentů a odpovědních vyhledávačů, a jejich roboti JavaScript zpravidla nespouštějí. Obsah, který není v HTML, pro ně neexistuje.
Jak to ověřit
Otevři si zdroj stránky (view-source: před adresou) a hledej v něm text, který na stránce vidíš. Když ho tam nenajdeš, není v prvotním HTML a spoléháš na to, že ho robot dorenderuje.
Vývojářské nástroje na tohle nestačí — ty ukazují DOM až po spuštění skriptů, tedy stav, který robot nemusí nikdy vidět. Stejně tak se hodí zkontrolovat, jestli jsou v HTML i title, meta description a strukturovaná data.
Nejčastější chyby
- Obsah schovaný přes
opacity: 0a odkrytý až JavaScriptem při scrollování. Efekt vypadá dobře, ale obsah v HTML sice je — pokud ho ale skript do DOM teprve vkládá, není tam vůbec. - Odkazy jako
<div onclick>místo<a href>. Robot po nich nepůjde a stránky za nimi neobjeví. - Blokace JavaScriptu a CSS v robots.txt. Vyhledávač pak stránku vyrenderuje rozbitě.
- Titulek a meta description nastavované až skriptem. V prvotním HTML pak chybí a robot pracuje s prázdnou hlavičkou.
Shoptet a Upgates
Časté otázky
Google přece JavaScript umí vyrenderovat, ne?
Umí, ale s odkladem a ne vždy úplně. A ostatní roboti — Seznam, AI crawleři, nástroje pro náhledy odkazů — ho většinou nespouštějí vůbec.
Jak poznám, co robot doopravdy vidí?
Přes view-source: a přes nástroj pro kontrolu URL v Search Console, který ukáže vyrenderované HTML. Ne přes vývojářské nástroje prohlížeče.
Musím kvůli SEO opustit JavaScriptový framework?
Nemusíš. Stačí, aby se obsah renderoval na serveru a v prohlížeči se jen oživoval. JavaScript pak zůstává vrstvou navrch, ne podmínkou zobrazení.
Související pojmy
- Indexace – Indexace je zařazení stránky do databáze vyhledávače, ze které se pak sestavují výsledky hledání. Stránka, která není v indexu, se ve výsledcích nemůže objevit — a to i tehdy, když je běžně dostupná a robot ji už navštívil.
- Strukturovaná data – Strukturovaná data jsou strojově čitelný popis toho, co je na stránce, zapsaný ve standardizovaném slovníku. Vyhledávači i AI asistentovi umožňují pochopit, že určité číslo je cena, určitý text jméno autora a určitá stránka produkt — místo aby to musely odhadovat z textu.
Další pojmy ze skupiny SEO & AEO
- Canonical URLCanonical URL je odkaz v hlavičce stránky, kterým web vyhledávačům oznamuje, která adresa je hlavní verze obsahu. Používá se všude tam, kde je stejný nebo velmi podobný obsah dostupný pod více URL — v e-shopu typicky při filtrování, řazení a stránkování kategorií.
- Crawl budgetCrawl budget je množství stránek, které robot vyhledávače na daném webu za určitý čas stáhne. Určuje ho jednak technická kapacita serveru, jednak to, jak hodnotný web pro vyhledávač je — a u velkých e-shopů rozhoduje, jak rychle se změny v katalogu promítnou do výsledků.
- Duplicitní obsahDuplicitní obsah je stejný nebo velmi podobný text dostupný na více adresách, ať už v rámci jednoho webu, nebo napříč weby. Vyhledávač musí vybrat jednu verzi k indexaci a zbytek potlačí, takže se hodnota obsahu tříští místo aby se sčítala.
- Facetová navigaceFacetová navigace je filtrování produktů podle vlastností — velikosti, barvy, značky, ceny. Pro zákazníka je to nejrychlejší cesta k produktu, pro vyhledávač zdroj obrovského množství adres s téměř stejným obsahem, protože každá kombinace filtrů může vytvořit vlastní URL.
- HreflangHreflang je značka, kterou web vyhledávači sděluje, že určitá stránka má jazykové nebo regionální varianty, a která z nich patří které skupině uživatelů. Používá se u vícejazyčných e-shopů a u variant pro různé země, i když je jazyk stejný.
- IndexaceIndexace je zařazení stránky do databáze vyhledávače, ze které se pak sestavují výsledky hledání. Stránka, která není v indexu, se ve výsledcích nemůže objevit — a to i tehdy, když je běžně dostupná a robot ji už navštívil.