Voivatko tekoälycrawlerit lukea JavaScriptillä renderöityä sisältöä?
Usein eivät. Googlebot renderöi JavaScriptin myöhemmässä vaiheessa, mutta useimmat tekoälycrawlerit eivät dokumentoi tekevänsä niin, ja Google itse huomauttaa, etteivät kaikki botit osaa ajaa JavaScriptiä. Jos tekstisi tulee näkyviin vasta skriptien ajamisen jälkeen, tekoälycrawler voi saada tyhjän sivun. Tarjoa pääsisältö alkuperäisessä HTML:ssä palvelinpuolen renderöinnillä tai staattisilla sivuilla.
Yhden sivun sovellukset ja asiakaspuolen kehykset ovat kaikkialla, ja selaimessa ne näyttävät hyviltä. Crawler, joka lukee vain palvelimesi lähettämän HTML:n, näkee jotain muuta: <div id="root"></div>, muutaman script-tagin ja vähän tai ei lainkaan tekstiä. Tekoälyvastauksille sillä sivulla ei ole mitään lainattavaa.
Tällä sivulla
- Miksi tekoälycrawlerit jäävät paitsi JavaScript-sisällöstä
- Miten tarkistan, mitä crawler saa
- Mitkä sivut ovat suurimmassa vaarassa
- Miten korjaan vain JavaScriptillä näkyvän sisällön
- Estävätkö kirjautumis-, suostumus- ja maksumuurinäkymät myös tekoälycrawlerit
- Miten AISeeWhy havaitsee vain JavaScriptillä toimivat sivut
Miksi tekoälycrawlerit jäävät paitsi JavaScript-sisällöstä
JavaScriptin ajaminen on kallista. Crawlerin on ladattava skriptit, ajettava ne selainmoottorissa ja odotettava datan latautumista. Google tekee tämän hakua varten: se käy sivut läpi, laittaa ne renderöintijonoon ja renderöi ne headless Chromiumilla, kun resursseja on. Silti Google suosittelee palvelinpuolen renderöintiä tai esirenderöintiä, koska se on nopeampaa käyttäjille ja crawlereille, ja huomauttaa, etteivät kaikki botit osaa ajaa JavaScriptiä.
OpenAI, Anthropic ja Perplexity eivät kerro crawler-dokumentaatiossaan, että niiden agentit ajavat JavaScriptiä. Apple sanoo, että Applebot voi renderöidä sivuja selaimessa. Ilman selvää toteamusta turvallinen oletus tekoälycrawlereille on, että ne lukevat vain alkuperäisen HTML:n.
Miten tarkistan, mitä crawler saa
Katso raakaa HTML:ää, ei renderöityä sivua. Selaimen kehittäjätyökalut näyttävät DOMin skriptien ajamisen jälkeen, mikä ei ole se, mitä crawler saa. Käytä view-sourcea tai tallenna raaka HTML komentoriviltä ja etsi siitä:
curl -s -o page.html \
-A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
https://example.com/page
# Is a sentence from your main text in the raw HTML?
grep -c "a sentence from your main content" page.html
Tulos 0 tarkoittaa, ettei lause ole palvelimen lähettämässä HTML:ssä, joten crawlerit, jotka eivät aja skriptejä, eivät löydä sitä. Nopea katsaus tiedostoon kertoo lopun: palvelinpuolella renderöidyssä artikkelissa koko teksti on siinä; asiakaspuolen kuoressa on tyhjä juurielementti ja lista skriptejä.
Mitkä sivut ovat suurimmassa vaarassa
- Yhden sivun sovellukset, jotka on tehty Reactilla, Vuella, Angularilla tai Sveltellä ja jotka renderöivät kaiken selaimessa.
- Sivut, jotka hakevat päätekstinsä API:sta latauksen jälkeen, kuten tuotetiedot, hinnat tai arvostelut.
- Välilehdissä, haitarissa tai ”lataa lisää” -osioissa oleva sisältö, joka haetaan vasta klikkauksella.
- Sivut kirjautumisen, maksumuurin tai suostumusmuurin takana, jonka crawler ei pääse ohi.
- Sivut, jotka asettavat
noindexin tai kanonisen URL:n vain JavaScriptillä. Google varoittaa, että kun se näkeenoindexin alkuperäisessä HTML:ssä, se voi ohittaa renderöinnin kokonaan.
Miten korjaan vain JavaScriptillä näkyvän sisällön
Korjaus on lähettää tärkeä sisältö ensimmäisessä vastauksessa. Valitse kevyin vaihtoehto, jonka teknologiapinosi sallii:
- Palvelinpuolen renderöinti (SSR): kehykset kuten Next.js, Nuxt, SvelteKit ja Angular SSR renderöivät sivun palvelimella ja hydratoivat sen selaimessa.
- Staattinen generointi tai esirenderöinti: rakenna HTML julkaisun yhteydessä sivuille, jotka harvoin muuttuvat, kuten artikkelit, dokumentaatio ja laskeutumissivut.
- Progressiivinen parantaminen: laita teksti, otsikot, linkit, hinnat ja JSON-LD HTML:ään ja käytä JavaScriptiä vain vuorovaikutukseen.
- Sisällytä tärkeä suoraan: jos välilehdet piilottavat sisältöä, laita kaikki HTML:ään ja vaihda näkyvyyttä CSS:llä tai skriptillä sen sijaan, että haet sen klikkauksella.
Koko sovellusta ei tarvitse muuttaa kerralla. Aloita sivuista, joihin haluat lainauksia: artikkelit, dokumentaatio, tuote- ja hintasivut. Tili- ja hallintanäkymät voivat pysyä asiakaspuolella, koska ne ovat joka tapauksessa kirjautumisen takana.
Vältä tarjoamasta crawlereille eri sivua kuin käyttäjille user agentin perusteella. Saman HTML:n renderöinti kaikille on helpompi ylläpitää ja poistaa kaiken epäilyn cloakingista.
Estävätkö kirjautumis-, suostumus- ja maksumuurinäkymät myös tekoälycrawlerit
Estävät. Crawler ei kirjaudu sisään, ei klikkaa evästebanneria eikä ratkaise haasteita. Anthropic toteaa, etteivät sen botit yritä ohittaa CAPTCHA-tarkistuksia. Jos suostumuksenhallinta korvaa sivun HTML:ssä koko ruudun peitteellä tai ohjaa ensikertalaiset suostumussivulle, crawler saa sen sisältösi sijaan.
Varmista, että julkiset sivut renderöivät sisältönsä HTML:ään suostumustilasta riippumatta, ja bannerina peite eikä korvike. Pidä sivut, joihin haluat lainauksia, kirjautumismuurien ulkopuolella ja tarkista, ettei crawleria ohjata kirjautumissivulle.
Miten AISeeWhy havaitsee vain JavaScriptillä toimivat sivut
AISeeWhy lukee alkuperäisen HTML:n sellaisena kuin kukin crawler sen saa, ajamatta skriptejä. Kun sivulla on lähes ei yhtään näkyvää tekstiä mutta kehyksen juurielementti ja skriptejä, se raportoi P1-havainnon siitä, että sisältö vaatii JavaScriptiä. Se merkitsee myös uudelleenohjaukset, jotka lähettävät crawlerit muualle kuin sivulle, jonka selain saa.
Usein kysytyt kysymykset
Renderöikö Googlebot JavaScriptin?
Renderöi. Google käy HTML:n läpi, laittaa sivut renderöintijonoon ja renderöi ne headless Chromiumilla, kun resursseja on. Google suosittelee silti palvelinpuolen renderöintiä tai esirenderöintiä.
Ajavatko ChatGPT:n, Clauden ja Perplexityn crawlerit JavaScriptiä?
Niiden toimittajien crawler-dokumentaatio ei sano niin. Kunnes toimittaja toisin kertoo, oleta crawlerin lukevan alkuperäisen HTML:n ja varmista, että sisältösi on siinä.
Onko dynaaminen renderöinti boteille hyvä idea?
Se toimii hätäratkaisuna, mutta lisää toisen renderöintipolun ylläpidettäväksi. Palvelinpuolen renderöinti tai staattinen HTML tarjoaa saman sisällön kaikille ja on yksinkertaisempi pitkän aikavälin ratkaisu.
Lasketaanko JavaScriptillä lisätty JSON-LD?
Google voi lukea sen renderöinnin jälkeen, mutta crawlerit, jotka eivät aja skriptejä, eivät näe sitä. Laita JSON-LD alkuperäiseen HTML:ään.
Lähteet
- Google Search Central: JavaScript SEO basics
- Apple: About Applebot
- OpenAI: Overview of OpenAI crawlers
- Anthropic: Does Anthropic crawl data from the web, and how can site owners block the crawler?
- Perplexity: Perplexity crawlers