Sari la conținut

JavaScript și crawlerele AI

Da, decisiv. Spre deosebire de Googlebot, care execută JavaScript, majoritatea crawlerelor AI citesc doar HTML-ul livrat de server. Ce apare pe ecran după hidratare nu există pentru ele. Un site pe React sau Vue fără randare pe server e, practic, o pagină goală pentru GPTBot, ClaudeBot și PerplexityBot.

DAN CRISTIAN · FONDATOR WEBSEM ·

Diferența față de Googlebot

Google a investit ani în a rula un browser complet pentru randare, cu o coadă separată de procesare. Companiile care operează crawlere AI nu au replicat acea infrastructură — e scumpă și lentă. Ele descarcă HTML și îl parsează.

Testul e trivial: deschide sursa paginii cu view-source (nu inspectorul, care arată DOM-ul după hidratare) și caută textul principal. Dacă găsești doar un div gol și un bundle de scripturi, ai răspunsul.

Ce se rezolvă și cum

SituațiaSoluția
Next.js / Nuxt cu componente de clientMută conținutul principal în componente de server. Păstrează pe client doar interactivitatea.
React / Vue pur (SPA)Adaugă randare pe server sau pre-randare la build pentru rutele publice.
Conținut încărcat prin fetch după montareAdu datele pe server și livrează-le în HTML-ul inițial.
Text ascuns în acordeoane sau taburiRandează-l în HTML și ascunde-l cu CSS, nu condiționa existența lui de un click.
Infinite scroll fără paginareOferă și URL-uri paginate, accesibile fără JavaScript.

Capcane mai puțin evidente

  • Cookie banner care blochează randarea conținutului până la accept — crawlerul vede doar bannerul.
  • Protecție anti-bot care servește o pagină de challenge agenților necunoscuți.
  • Conținut injectat de un serviciu de traducere client-side: versiunea în română nu există în HTML.
  • Lazy loading agresiv aplicat textului, nu doar imaginilor.