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ția | Soluția |
|---|---|
| Next.js / Nuxt cu componente de client | Mută 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ă montare | Adu datele pe server și livrează-le în HTML-ul inițial. |
| Text ascuns în acordeoane sau taburi | Randează-l în HTML și ascunde-l cu CSS, nu condiționa existența lui de un click. |
| Infinite scroll fără paginare | Oferă ș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.