React SEO útmutató: miért árt az indexelésnek a kliensoldali renderelés, mikor válassz SSR-t vagy előrenderelést, hogyan állíts be metacímkéket a React 19-ben, és maradj olvasható az AI számára.

Ezen az oldalon
Röviden
a React rangsorolhat a Google-ön, de az alapértelmezett egyoldalas alkalmazás szinte üres HTML-fájlt küld, és a tartalom megjelenítéséhez a JavaScriptre támaszkodik, ami késlelteti az indexelést, és a legtöbb AI-robot elől elrejti az oldalt. A megbízható megoldás az, ha a szerver szolgáltat HTML-t: a statikus oldalakat build időben rendereld előre, vagy használj szerveroldali renderelést támogató keretrendszert (Next.js, React Router). Utána állíts be egyedi címet, leírást és canonical címkét URL-enként, használj valódi linkeket és státuszkódokat, és ellenőrizd, mit kapnak a robotok.
Szeretnél többet megtudni? Kérdezd meg
Gyors kvíz
Neked való a SEO, és hogyan kezdd el?
A Sorank illeszkedik a válaszaidra
Próbáld ki 3 napig a saját weboldaladon, és nézd meg, hol állsz a Google-ben, a ChatGPT-ben és a többi MI-ben.
Indítsd el a 3 napos ingyenes próbát3 nap ingyen, utána bármikor leállhatsz. 90 napos eredménygarancia visszatérítéssel.
A React SEO azon munka, amely a React-alkalmazást bejárhatóvá, indexelhetővé és érthetővé teszi a keresőmotorok és az AI-asszisztensek számára. Maga a React semleges: a gondok abból erednek, hogy mindent a böngészőben renderelünk. A Google a JavaScript SEO alapjaiban megerősíti, hogy a JavaScript-alkalmazásokat három fázisban dolgozza fel (bejárás, renderelés, indexelés), és hogy „a szerveroldali vagy előrenderelt megjelenítés továbbra is nagyon jó ötlet, mert gyorsabbá teszi a webhelyet a felhasználóknak és a robotoknak, és nem minden bot tud JavaScriptet futtatni.”
Egy egyoldalas alkalmazásként létrehozott React-app olyan HTML-fájlt szállít, amely nem sokkal több egy üres gyökér-divnél és egy script-címkénél. A böngésző letölti a JavaScriptet, lefuttatja, és felépíti az oldalt. Egy robot, amely csak a HTML-t olvassa, nincs mit indexeljen: nincsenek fejlécek, szöveg és linkek.
A Googlebot ugyan futtat JavaScriptet, de külön lépésben: az oldalt bejárja, renderelésre sorba állítja, egy headless Chromiumban rendereli, és csak utána használja a renderelt linkeket és tartalmat. Minden plusz lépés hibalehetőség (szkripthiba, blokkolt API, időtúllépés), és késlelteti, hogy az új oldalak megjelenjenek a keresésben. A JavaScript SEO útmutatónk részletezi ezt a folyamatot, a Google-indexelésről szóló cikkünk pedig azt, hogyan lehet gyorsabban indexeltetni az oldalakat.
Más robotok kevésbé türelmesek. A Vercel 2024. decemberi elemzése, az Az AI-robotok felemelkedése megállapította, hogy „a nagy AI-robotok közül egyik sem renderel jelenleg JavaScriptet”, és név szerint említette a GPTBotot, a ChatGPT-Usert, az OAI-SearchBotot, a ClaudeBotot és a PerplexityBotot. Egy kliensoldalon renderelt React-oldal láthatatlan a ChatGPT, a Claude és a Perplexity számára, még akkor is, ha a Google indexeli.
A React-csapat ma már keretrendszerrel kezdett új alkalmazásokat ajánl. Amikor 2025. február 14-én kivezette a Create React App-et, a bejelentésében leírta, hogy „a szerveroldali renderelés javíthatja a SEO-t”, és a teljesítményt is javítja, mert kevesebb JavaScriptet kell letölteni, mielőtt a felhasználó tartalmat lát. A lehetőségek, keresésre gyengébbtől az erősebbig:
| Megközelítés | Mit kapnak a robotok | SEO-ítélet | Tipikus eszközök |
|---|---|---|---|
| Kliensoldali renderelés (SPA) | Üres HTML, a tartalom a JavaScript után | Gyenge: késleltetett indexelés, láthatatlan az AI-robotok számára | Vite + React, régi Create React App projektek |
| Dinamikus renderelés | Előrenderelt HTML csak a robotoknak | Megkerülő megoldás, a Google nem ajánlja | Előrenderelő szolgáltatások, headless böngésző-proxyk |
| Statikus előrenderelés build-kor | Teljes HTML minden ismert URL-hez | Nagyon jó ritkán változó tartalomhoz | React Router előrenderelés, statikus oldalgenerátorok, Next.js statikus export |
| Szerveroldali renderelés | Teljes HTML minden kérésnél, majd hidratálás | A legjobb nagy vagy gyakran frissülő oldalakhoz | Next.js, React Router (keretrendszer-mód, korábban Remix) |
A dinamikus renderelésről a Google dokumentációja egyértelmű: ez „megkerülő megoldás volt, nem hosszú távú megoldás”, a Google pedig a szerveroldali renderelést, a statikus renderelést vagy a hidratálást ajánlja helyette. Ha keretrendszert választasz, a Next.js SEO útmutatónk részletesen tárgyalja a renderelési módokat, a Metadata API-t és a sitemapeket.
Ha a migráció nem lehetséges, egy egyoldalas alkalmazást gondos munkával a Google még indexelhet. Az egyoldalas alkalmazások SEO-járól szóló útmutatónk felsorolja a feltételeket; a cikk többi része mindkét esetre vonatkozik.
A React 19 óta (2024. december 5-től stabil) a komponensek közvetlenül renderelhetnek title, meta és link címkéket, a React pedig a dokumentum fejlécébe emeli őket. A React 19 kiadási jegyzetei szerint ez a natív támogatás „csak kliensoldali alkalmazásokkal, streamelt SSR-rel és Server Components-szel” működik. A React 19 előtt az olyan könyvtárak, mint a react-helmet vagy a react-helmet-async, ugyanezt a munkát végezték, és az útvonalankénti alapértelmezések felülírásához továbbra is hasznosak.
function ProductPage({ product }) {
return (
<>
<title>{`${product.name} | Shop`}</title>
<meta name="description" content={product.summary} />
<link rel="canonical" href={`https://example.com/p/${product.slug}`} />
<h1>{product.name}</h1>
</>
)
}Három szabály vonatkozik, bármelyik módszert használod:
Figyelem
Egy csak kliensoldali alkalmazásban a React által renderelt címkék csak azután léteznek, hogy a JavaScript lefutott. A Google a renderelés után olvashatja őket; az AI-robotok és a legtöbb közösségi előnézet-bot nem. A szerveroldali renderelés vagy az előrenderelés mindenki számára a HTML-válaszba teszi őket.
A Google kimondja, hogy „csak akkor tudja felfedezni a linkjeidet, ha href attribútummal rendelkező HTML-elemek”, és nem ajánlja, hogy URL-töredékekkel töltsenek be másik tartalmat. A React SEO-hibáinak nagy része az útvonalkezelés részleteiből ered:
| Hiba | Hatás | Megoldás |
|---|---|---|
| Navigáció onClick eseménnyel div vagy button elemen | A Google nem talál követendő linket | Használd a router Link komponensét, amely href attribútumú a elemet jelenít meg |
| Hash-útvonalak (/#/products) | Minden oldal egy URL-t lát a Google számára | Használj történet-alapú útvonalakat (/products) a BrowserRouterrel vagy keretrendszerrel |
| „Nem található” nézet 200-as státusszal | Soft 404 a Search Console-ban | Adj valódi 404-et a szervertől, vagy tiszta SPA-ban JavaScripttel adj noindex jelzést |
| Csak kliensoldali átirányítások | Lassú vagy kimaradó átirányítások | Használj szerveroldali 301 vagy 308 átirányítást az áthelyezett oldalakhoz |
| Kattintásra vagy görgetésre betöltött tartalom | A szöveg soha nem renderelődik a robotnak | Töltsd be a fő tartalmat a betöltéskor; a listákat valódi URL-ekkel lapozd |
| A robots.txt blokkolja a JavaScriptet vagy az API-t | A Google üres oldalt renderel | Engedélyezd az oldal számára szükséges szkripteket és API-végpontokat |
Annak megnézéséhez, mit renderel a Google, használd a Search Console URL-ellenőrzés eszközét, és nézd meg a tesztelt oldal HTML-jét, vagy futtass indexelhetőség-ellenőrzőt a kulcsfontosságú sablonokon.
A Reactnak nincs beépített sitemapje. Generálj sitemap.xml fájlt build időben az útvonalaidból és adataidból (vagy a keretrendszered sitemap-funkciójából), csak 200-as választ adó kanonikus URL-eket sorolj fel, és hivatkozz rá a robots.txt-ben. Kis statikus oldalakhoz egy XML-sitemap generátor is megfelel.
A strukturált adatokra ugyanaz a szabály vonatkozik, mint a metaadatokra: a JSON-LD script-címkét az oldallal együtt renderelve add hozzá, ugyanabból az adatból, lehetőleg a szerveren. A Google a renderelés után olvassa a JavaScript által beillesztett JSON-LD-t, de ami hiányzik a kezdeti HTML-ből, az azoknak a robotoknak is hiányzik, amelyek nem renderelnek. Cikkeknél használj Article, webáruházaknál Product, az egész webhelyre Organization, mély oldalaknál pedig BreadcrumbList típust.
Tipp
Futtass curl parancsot egy oldal URL-jén, és keresd a kimenetben a H1-es címet és a szövegtörzs egy mondatát. Ha hiányoznak, a Google renderelés után indexelheti az oldalt, de az AI-robotok semmit nem látnak.
A nagy JavaScript-csomagok rontják a Core Web Vitals mutatókat: a böngészőnek le kell töltenie, feldolgoznia és hidratálnia a kódot, mielőtt az oldal reagál, ez pedig terheli a Largest Contentful Paint és az Interaction to Next Paint mutatókat, különösen mobilon. A React-csapat Create React App bejelentése megjegyzi, hogy a szerveroldali renderelés kevesebb JavaScriptet és teljes HTML-dokumentumot küld, ami gyorsabb First Contentful Paint-et eredményez, és csökkentheti az INP-t. Gyakorlati eszközök: a kódot útvonalanként oszd fel a React.lazy segítségével, a képeket explicit méretadatokkal szolgáltasd, a hajtás alatti komponenseket lusta betöltéssel töltsd be, és vizsgáld át a harmadik féltől származó szkripteket.
A GEO (generatív motoroptimalizálás) a hozzáféréssel kezdődik. Mivel az AI-robotok a nyers HTML-t töltik le, egy React-oldalnak JavaScript nélkül kell szolgáltatnia a szövegét, fejlécét és JSON-LD-jét ahhoz, hogy olvassák, összefoglalják és idézzék. Egy weboldal bejárhatósági AI-auditja megmutatja, mit kapnak ezek a botok az oldalaidról. A második feltétel az idézésre érdemes tartalom: olyan oldalak, amelyek szakaszonként egy kérdésre válaszolnak, forrásokkal, adatokkal és világos definíciókkal.
Ezt a tartalmi részt automatizálja a Sorank, a termékünk. A Sorank autopilot SEO- és GEO-szoftver: a blogcikk-generátora havi 20, 60 vagy 120 cikket ír és publikál forrásokkal, belső linkekkel és képekkel, egyéni stackekhez, például React- vagy Next.js-oldalhoz pedig webhookon keresztül csatlakozik. A SEO-csevegés csevegésben válaszol a weboldalad keresési teljesítményére vonatkozó kérdésekre.

A lényeg röviden: szolgáltass HTML-t a szerverről, adj minden URL-nek saját címet, leírást és canonical címkét, és használj valódi linkeket. A React így ugyanúgy rangsorol, mint bármely más oldal, és az AI-asszisztensek is olvashatják. Hogy ez az oldal folyamatosan kapjon Google-nek és AI-nek készült cikkeket, nézd meg a Sorank csomagjait, havi $49-tól, 3 napos ingyenes próbaidőszakkal.
Nem. A React egy felhasználói felület könyvtára, és SEO-ja attól függ, hogyan renderelődnek az oldalak. A kliensoldalon renderelt egyoldalas alkalmazás üres HTML-t küld, és a Google renderelési lépésére támaszkodik, ami késlelteti az indexelést, és elrejti a tartalmat az AI-robotok elől. Ugyanez a React-kód szerveroldali renderelés vagy statikus előrenderelés mellett a klasszikus weboldalakhoz hasonlóan rangsorol.
Igen. A Googlebot a Chromium egy friss verziójával renderel JavaScriptet, így indexelheti azt a tartalmat, amelyet egy React-alkalmazás a böngészőben épít fel. A renderelés a bejárás után történik, és késhet vagy meghiúsulhat, ha a szkriptek hibáznak vagy az API-kat blokkolják. A renderelt HTML ellenőrzése a Search Console URL-ellenőrzés eszközével megmutatja, mit lát a Google.
Alapesetekben nem. A React 19 bármely komponensből renderel title, meta és link címkéket, és a dokumentum fejlécébe emeli őket. Az olyan könyvtárak, mint a react-helmet-async, akkor hasznosak, ha az oldalszintű alapértelmezéseket útvonalanként kell felülírni, vagy régebbi React-verziókat kell támogatni.
A TE ELŐTTED PRÓBÁLTÁK KI A SORANKOT
