Trifu Media

Web Design

Site făcut în React invizibil în Google și în AI: de ce contează prerandarea

Un site React clasic trimite roboților o pagină goală. Ce vede Google, ce văd crawlerele AI și cum rezolvi cu prerandare sau randare pe server.

Scris de 5 min de lectură
Ilustrație editorială: Site făcut în React invizibil în Google și în AI: de ce contează prerandarea
Ilustrație editorială · Trifu Media

React e o alegere bună pentru un site rapid și interactiv. Varianta lui cea mai simplă are însă o problemă pe care proprietarul nu o vede niciodată: în browser totul arată perfect, dar un robot care nu rulează JavaScript primește o pagină aproape goală. Mai jos, de ce se întâmplă, ce roboți sunt afectați și cum am rezolvat pe propriul nostru site.

Ce primește un robot de la un site React clasic

La randarea în browser (client-side rendering, CSR), serverul trimite un fișier HTML minimal și un pachet de JavaScript. Browserul rulează scriptul, iar scriptul construiește pagina. Un om nu observă nimic. Un robot care citește doar HTML-ul inițial vede cam asta:

<!doctype html>
<html lang="ro">
  <head>
    <title>Vite + React</title>
  </head>
  <body>
    <div id="root"></div>
    <script type="module" src="/assets/index.js"></script>
  </body>
</html>

Niciun titlu de serviciu, niciun preț, nicio adresă. Dacă titlul și descrierea sunt setate din JavaScript, toate paginile par identice pentru cine nu rulează scriptul.

Cum procesează Google JavaScript

Google descrie trei etape: accesare cu crawlere, randare și indexare. Paginile cu cod de stare 200 intră într-o coadă de randare, unde un Chromium fără interfață rulează JavaScript-ul și produce HTML-ul final. Abia pe acela îl indexează. Pentru paginile cu alt cod de stare, de exemplu 404, randarea poate fi sărită.

Deci Google vede conținutul generat din JavaScript, dar cu o etapă în plus și cu limite. Chiar în documentația lui scrie că randarea pe server sau prerandarea rămân o idee foarte bună, pentru că fac site-ul mai rapid pentru utilizatori și pentru roboți și pentru că nu toți roboții pot rula JavaScript.

Mai sunt două capcane specifice aplicațiilor cu o singură pagină. Google descoperă linkurile doar din elementele <a> cu atribut href, deci navigarea trebuie făcută cu History API, nu cu fragmente de tip #. Iar paginile inexistente trebuie să întoarcă un 404 real sau să primească noindex, altfel apar ca erori soft 404.

Crawlerele AI nu rulează JavaScript

În decembrie 2024, Vercel și MERJ au publicat o analiză a traficului crawlerelor AI din rețeaua Vercel. Concluzia: niciunul dintre marii crawleri AI analizați nu randa JavaScript. Lista include OAI-SearchBot, ChatGPT-User și GPTBot de la OpenAI, ClaudeBot de la Anthropic, Meta-ExternalAgent, Bytespider și PerplexityBot.

Crawlerele ChatGPT și Claude descărcau fișiere JavaScript, dar nu le executau. Excepțiile au fost Gemini, care folosește infrastructura Googlebot, și AppleBot, care randează pagina ca un browser. Analiza e din 2024 și comportamentul roboților se poate schimba, dar până la o confirmare oficială contrară, presupunerea sigură e că un robot AI vede doar HTML-ul inițial.

Asta înseamnă că un site React fără prerandare poate fi indexat de Google și totuși să nu ofere nimic de citat pentru ChatGPT sau Perplexity.

CSR, SSR sau prerandare: diferențele pe scurt

Termenii vin din ghidul web.dev despre randare. Diferența ține de momentul în care se produce HTML-ul complet:

MetodăCând se produce HTML-ulCe vede un robot fără JavaScriptPotrivită pentru
Randare în browser (CSR)În browserul vizitatoruluiPagină goalăAplicații după autentificare
Randare pe server (SSR)La fiecare cerere, pe serverConținut completPagini care se schimbă des
Prerandare / randare staticăO dată, la buildConținut completSite-uri de prezentare, bloguri
Randare dinamicăSeparat, doar pentru roboțiConținut completSoluție temporară; Google nu o recomandă

Google numește explicit randarea dinamică o soluție de avarie, nu una pe termen lung, și recomandă în locul ei randarea pe server, randarea statică sau hidratarea.

Cum am rezolvat pe site-ul Trifu Media

Site-ul nostru e făcut în React și folosește prerandare cu Puppeteer. La fiecare build, un browser fără interfață deschide fiecare rută, așteaptă să se construiască pagina și salvează HTML-ul rezultat ca fișier separat. Serverul trimite apoi acel fișier: textul, titlul, descrierea și adresa canonică sunt în HTML de la prima cerere, iar React preia pagina după încărcare, pentru interactivitate.

Regula pe care o aplicăm la fiecare pagină nouă: ruta trebuie adăugată în lista de prerandare, altfel pagina rămâne goală pentru roboți. După build verificăm fișierul generat: are un singur titlu unic, o singură meta descriere, un singur link canonic și conținut real, nu doar containerul gol.

Cum verifici în cinci minute dacă site-ul tău are problema

Nu ai nevoie de unelte speciale. Pașii de mai jos îți arată exact ce primește un robot care nu rulează JavaScript:

  • Deschide o pagină de serviciu și apasă Ctrl+U (pe Mac, Cmd+Option+U) ca să vezi sursa trimisă de server.
  • Caută în sursă o frază care apare vizibil pe pagină, de exemplu titlul serviciului sau un preț.
  • Dacă fraza nu există și vezi doar un <div id="root"></div> sau ceva similar, conținutul e generat în browser.
  • Verifică și eticheta <title>: dacă e aceeași pe toate paginile, roboții nu pot distinge paginile între ele.
  • Repetă pentru pagina principală, o pagină de serviciu și un articol de blog.

Next.js pentru proiecte noi, prerandare pentru cele existente

Dacă pornești un site nou, un framework cu randare pe server sau statică, cum e Next.js, rezolvă problema din construcție. Noi construim site-uri și aplicații în React, Next.js și TypeScript tocmai din acest motiv.

Dacă ai deja un site React făcut cu Vite sau Create React App, nu trebuie rescris. Prerandarea la build se adaugă peste codul existent, cu condiția ca fiecare rută să-și seteze singură titlul, descrierea și canonicul. E o intervenție tehnică, nu un proiect nou, și are efect imediat asupra a ceea ce văd roboții.

Întrebări frecvente

Google indexează site-urile făcute în React?

Da, Google randează JavaScript înainte de indexare, dar printr-o coadă separată și cu limite. Google recomandă oricum randarea pe server sau prerandarea.

ChatGPT poate citi un site React fără prerandare?

Probabil nu conținutul generat din JavaScript. Analiza Vercel din 2024 a arătat că OAI-SearchBot, ChatGPT-User și GPTBot nu executau JavaScript.

Care e diferența dintre prerandare și SSR?

Prerandarea produce HTML-ul o singură dată, la build; SSR îl produce pe server la fiecare cerere. Pentru un site de prezentare, prerandarea e de obicei suficientă.

Trebuie să refac site-ul în Next.js?

Nu neapărat. Un site React existent poate primi prerandare la build fără rescriere, dacă fiecare pagină își setează corect titlul, descrierea și canonicul.

Randarea dinamică e o soluție bună?

Google o descrie ca soluție temporară și nu o recomandă; preferă randarea pe server, randarea statică sau hidratarea.

Web design în București, cu prerandare inclusă · Dezvoltare de aplicații web în React și Next.js · Crawlerele AI și fișierul robots.txt · Optimizare pentru ChatGPT și AI Overviews

Surse și verificare

Documentație consultată la 24 septembrie 2026. Recomandările de implementare reprezintă abordarea editorială Trifu Media; disponibilitatea funcțiilor se verifică în contul și platforma folosite.

Continuă cu un subiect apropiat

Toate ghidurile de marketing digital
Contact · Trifu MediaO idee bună începe cu o conversație.

Hai să
construim
împreună.

Spune-ne unde ești acum și unde vrei să ajungă afacerea ta. Găsim împreună direcția potrivită.

Un plan pentru afacerea ta.

Fiecare proiect are alte nevoi, alt ritm și alt buget. De aceea, construim oferta după ce ne cunoaștem.

Primul pas e simplu.

Vorbim despre
proiectul tău.

O întâlnire gratuită, la sediul tău sau online. Ne povestești ce ai în minte, iar noi îți arătăm cum putem ajuta.

Se deschide WhatsApp cu mesajul completat. Tu confirmi trimiterea.

Ne găsești în BucureștiPrelungirea Ghencea 124D, Sector 6
Vezi traseul
Sună-ne0747 052 250WhatsAppScrie-ne direct