Pot crawlerele AI să citească conținut redat de JavaScript?

Publicat

Răspuns scurt

Adesea, nu. Googlebot redă JavaScript într-un pas ulterior, dar majoritatea crawlerelor AI nu documentează că ar face-o, iar Google însuși notează că nu toți boții pot rula JavaScript. Dacă textul tău apare doar după ce rulează scripturile, un crawler AI poate primi o pagină goală. Livrează conținutul principal în HTML-ul inițial, prin randare pe server sau pagini statice.

Aplicațiile single-page și framework-urile client-side sunt peste tot și în browser arată bine. Un crawler care citește doar HTML-ul trimis de serverul tău vede altceva: un <div id="root"></div>, câteva taguri script și puțin text sau deloc. Pentru răspunsurile AI, pagina aceea nu are nimic de citat.

Pe această pagină
  1. De ce nu văd crawlerele AI conținutul JavaScript?
  2. Cum verific ce primește un crawler?
  3. Care pagini sunt cele mai expuse?
  4. Cum remediez conținutul disponibil doar prin JavaScript?
  5. Blochează și ecranele de login, consimțământ și paywall crawlerele AI?
  6. Cum detectează AISeeWhy paginile doar-JavaScript?

De ce nu văd crawlerele AI conținutul JavaScript?

Rularea JavaScript e costisitoare. Un crawler trebuie să descarce scripturile, să le execute într-un motor de browser și să aștepte încărcarea datelor. Google face asta pentru Search: parcurge paginile, le pune la coadă pentru redare și le redă cu Chromium headless când resursele permit. Chiar și așa, Google recomandă randarea pe server sau prerandarea, pentru că sunt mai rapide pentru utilizatori și crawlere, și notează că nu toți boții pot rula JavaScript.

OpenAI, Anthropic și Perplexity nu afirmă în documentația crawlerelor lor că agenții lor execută JavaScript. Apple spune că Applebot poate reda pagini într-un browser. Fără o declarație clară, presupunerea sigură pentru crawlerele AI este că citesc doar HTML-ul inițial.

Cum verific ce primește un crawler?

Uită-te la HTML-ul brut, nu la pagina redată. Instrumentele pentru dezvoltatori din browser arată DOM-ul după ce au rulat scripturile, ceea ce nu e ce primește un crawler. Folosește view-source sau salvează HTML-ul brut din linia de comandă și caută în el:

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

Un rezultat 0 înseamnă că propoziția nu se află în HTML-ul trimis de server, deci crawlerele care nu rulează scripturi nu o vor găsi. O privire rapidă asupra fișierului spune restul: un articol randat pe server are tot textul acolo; o carcasă client-side are un element rădăcină gol și o listă de scripturi.

Care pagini sunt cele mai expuse?

Cum remediez conținutul disponibil doar prin JavaScript?

Soluția este să trimiți conținutul important în primul răspuns. Alege cea mai ușoară opțiune pe care o permite stack-ul tău:

Nu trebuie să convertești o aplicație întreagă dintr-odată. Începe cu paginile pe care vrei să le vezi citate: articole, documentație, pagini de produs și de prețuri. Zonele de cont și dashboard-urile pot rămâne client-side, pentru că oricum sunt în spatele unui login.

Evită să oferi crawlerelor o pagină diferită de cea a utilizatorilor, în funcție de user agent. Redarea aceluiași HTML pentru toți este mai simplu de întreținut și elimină orice îndoială legată de cloaking.

Blochează și ecranele de login, consimțământ și paywall crawlerele AI?

Da. Un crawler nu se autentifică, nu dă clic pe un banner de cookie-uri și nu rezolvă verificări. Anthropic afirmă că boții săi nu încearcă să ocolească CAPTCHA-urile. Dacă un manager de consimțământ înlocuiește pagina cu un overlay pe tot ecranul în HTML sau redirecționează vizitatorii noi către o pagină de consimțământ, crawlerul primește asta în loc de conținutul tău.

Asigură-te că paginile publice își redau conținutul în HTML indiferent de starea consimțământului, cu bannerul ca overlay, nu ca înlocuitor. Ține paginile pe care vrei să fie citate în afara ecranelor de login și verifică dacă un crawler nu este redirecționat către o pagină de autentificare.

Cum detectează AISeeWhy paginile doar-JavaScript?

AISeeWhy citește HTML-ul inițial așa cum îl primește fiecare crawler, fără a rula scripturi. Când o pagină are aproape niciun text vizibil, dar are un element rădăcină de framework și scripturi, raportează o constatare P1 conform căreia conținutul are nevoie de JavaScript. Semnalează și redirecționările care trimit crawlerele în altă parte decât la pagina primită de un browser.

Întrebări frecvente

Redă Googlebot JavaScript?

Da. Google parcurge HTML-ul, pune paginile la coadă pentru redare și le redă cu Chromium headless când resursele permit. Google recomandă totuși randarea pe server sau prerandarea.

Rulează crawlerele ChatGPT, Claude și Perplexity JavaScript?

Documentația furnizorilor lor despre crawlere nu spune acest lucru. Până când un furnizor afirmă altceva, presupune că crawlerul citește HTML-ul inițial și asigură-te că conținutul tău se află în el.

Este o idee bună redarea dinamică pentru boți?

Funcționează ca soluție provizorie, dar adaugă o a doua cale de redare de întreținut. Randarea pe server sau HTML-ul static livrează același conținut tuturor și este soluția mai simplă pe termen lung.

Contează JSON-LD adăugat prin JavaScript?

Google îl poate citi după redare, dar crawlerele care nu rulează scripturi nu îl vor vedea. Pune JSON-LD în HTML-ul inițial.

Surse

Alte articole