# [[React SEO]]
## π Brief Summary
React SEOλ κΈ°λ³Έμ μΌλ‘ ν΄λΌμ΄μΈνΈ μ¬μ΄λ λ λλ§(CSR)μ μ¬μ©νλ React κΈ°λ°μ μ±κΈ νμ΄μ§ μ ν리μΌμ΄μ
(SPA)μ΄ κ²μ μμ§ λ΄μ μν΄ μννκ² ν¬λ‘€λ§λκ³ μμΈλλλ‘ κΈ°μ μ μΌλ‘ μ΅μ ννλ κ³Όμ μ μλ―Έν©λλ€. μ΄κΈ° HTML μ
Έμ΄ λΉμ΄ μμ΄ λ°μνλ κ²μ μμ§μ μμΈ μ§μ° λ° λ λλ§ μ€ν¨ λ¬Έμ λ₯Ό 극볡νκΈ° μν΄ μλ² μ¬μ΄λ λ λλ§(SSR), μ μ μ¬μ΄νΈ μμ±(SSG), λ©νλ°μ΄ν° λμ κ΄λ¦¬ λ° μ½μ΄ μΉ λ°μ΄ν(Core Web Vitals) μ±λ₯ κ°μ μ λ΅μ ν¬κ΄ν©λλ€. κΆκ·Ήμ μΌλ‘ κ²μ μμ§ κ°μμ±μ λμ΄κ³ κ³ νμ§μ μ¬μ©μ κ²½νμ μ 곡νλ κ²μ΄ λͺ©νμ
λλ€.
## π Core Content
* **React λ λλ§ λ°©μμ SEO νκ³ (CSRμ λ¬Έμ μ )**
κΈ°λ³Έμ μΈ React μ±μ ν΄λΌμ΄μΈνΈ μ¬μ΄λ λ λλ§(CSR)μ μ¬μ©νλ©°, λΈλΌμ°μ κ° μ²μμ λ€μ΄λ‘λνλ κ²μ λ΄μ©μ΄ μλ λΉ HTML μ
Έμ
λλ€ [1, 2]. ꡬκΈλ΄μ΄ JavaScriptλ₯Ό μ€ννμ¬ μ½ν
μΈ λ₯Ό λ λλ§ν μλ μμΌλ, μ΄ κ³Όμ μ λ λ¨κ³μ μμΈν(Two-wave indexing)λ₯Ό κ±°μΉκ² λλ©° κ²μ μμ§μ ν¬λ‘€λ§ μμ°μ λλΉνκ² λ§λλλ€ [1, 3, 4]. λν μλ°μ€ν¬λ¦½νΈ μ€ν μ§μ°, νμμμ, λ λλ§ μ€ν¨ μ μ½ν
μΈ κ° κ²μ κ²°κ³Όμμ λλ½λ μνμ΄ ν½λλ€ [1, 3, 5].
* **SEO μΉνμ μΈ λ λλ§ μ λ΅ (SSR, SSG, ISR)**
* **μλ² μ¬μ΄λ λ λλ§ (SSR):** κ° μμ²λ§λ€ μλ²μμ μμ±λ HTMLμ μμ±νμ¬ μ 곡νλ λ°©μμΌλ‘, λ΄μ΄ JavaScriptλ₯Ό μ€νν νμ μμ΄ μ¦μ μ½ν
μΈ λ₯Ό ν¬λ‘€λ§ν μ μκ² ν©λλ€(μ: Next.js, Remix) [6-8].
* **μ μ μ¬μ΄νΈ μμ± (SSG):** λΉλ μμ μ λͺ¨λ HTMLμ 미리 λ λλ§νμ¬ μ μ νμΌλ‘ μλΉν©λλ€. λΈλ‘κ·Έλ λ§μΌν
νμ΄μ§ λ±μ μ ν©νλ©°, λ‘λ© μλκ° κ°μ₯ λΉ λ₯΄κ³ ν¬λ‘€λ§ ν¨μ¨μ΄ κ·Ήλνλ©λλ€ [6, 9, 10].
* **μ μ§μ μ μ μ¬μμ± (ISR):** SSGμ μλμ SSRμ μ΅μ μ±μ κ²°ν©νμ¬, λ°±κ·ΈλΌμ΄λμμ μ£ΌκΈ°μ μΌλ‘ μ μ νμ΄μ§λ₯Ό μ
λ°μ΄νΈν¨μΌλ‘μ¨ λ΄μ€λ μ μμκ±°λ μ¬μ΄νΈμ μ 리ν©λλ€ [6, 10, 11].
* **λ©νλ°μ΄ν° λ° κ΅¬μ‘°νλ λ°μ΄ν° μ΅μ ν**
* **λμ λ©ν νκ·Έ κ΄λ¦¬:** React μ± λ΄μμ νμ΄μ§(λΌμ°νΈ)κ° λ³κ²½λ λλ§λ€ `
` λ° `` νκ·Έκ° λμ μΌλ‘ μ
λ°μ΄νΈλλλ‘ React Helmet λλ Next.jsμ `` μ»΄ν¬λνΈλ₯Ό νμμ μΌλ‘ μ μ©ν΄μΌ ν©λλ€ [12-14].
* **Schema Markup (JSON-LD):** κ²μ μμ§ λ° AI κΈ°λ° λ΅λ³ μμ§(AEO)μ΄ λ¬Έλ§₯μ μ΄ν΄ν μ μλλ‘ JSON-LD μ€ν¬λ¦½νΈλ₯Ό ν΅ν΄ ꡬ쑰νλ λ°μ΄ν°λ₯Ό μ½μ
ν΄μΌ ν©λλ€. μ΄λ λ¦¬μΉ μ€λν« ν보μ νμμ μ
λλ€ [12, 15, 16].
* **React Router μ΅μ ν λ° 404 μ²λ¦¬**
* ν΄μ λΌμ°ν
(`#/`)μ κ²μ μμ§μ΄ κ°λ³ νμ΄μ§λ‘ μλ³νμ§ λͺ»νλ―λ‘, HTML5 History APIλ₯Ό νμ©νλ `BrowserRouter` κΈ°λ°μ κΉλν URL ꡬ쑰λ₯Ό μ¬μ©ν΄μΌ ν©λλ€ [12, 17-19].
* ν΄λΌμ΄μΈνΈ μΈ‘ λΌμ°ν
μ λ΄κ³Ό μ¬μ©μμκ² λ΄λΆ μ΄λμ μΈμμν€κΈ° μν΄ λ¨μν `onClick` μ΄λ²€νΈκ° μλ μ€μ `` μ΅μ»€ νκ·Έ λλ `` μ»΄ν¬λνΈλ₯Ό νμ©νμ¬ λ§ν¬λ₯Ό ꡬμ±ν΄μΌ ν©λλ€ [17, 19].
* μλ κ²½λ‘λ‘ μ κ·Ό μ λ¨μν "Not Found" UIλ§ λμ°κ³ μν μ½λ 200μ λ°ννλ©΄ μννΈ 404(Soft 404) λ¬Έμ κ° λ°μνλ―λ‘, μλ²μμ λͺ
ννκ² 404 μν μ½λλ₯Ό μ λ¬νλλ‘ κ΅¬μ±ν΄μΌ ν©λλ€ [18, 20].
* **μ±λ₯ λ° Core Web Vitals ν₯μ**
λκ·λͺ¨ JavaScript λ²λ€ λ° νμ΄λλ μ΄μ
(Hydration) μ§μ°μ LCP(μ΅λ μ½ν
μΈ ν νμΈνΈ)μ INP(λ€μ νμΈνΈμ λν μνΈμμ©)λ₯Ό ν¬κ² μ
νμν΅λλ€ [17, 21]. μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ λΌμ°νΈ λ° μ»΄ν¬λνΈ μμ€μ μ½λ λΆν (Code Splitting), λΉν΅μ¬ μμ°μ μ§μ° λ‘λ©(Lazy Loading), μ μ§μ νμ΄λλ μ΄μ
λ±μ λμ
νμ¬ μ΄κΈ° λ‘λ© μ±λ₯μ νκΈ°μ μΌλ‘ κ°μ ν΄μΌ ν©λλ€ [22-24].
## π Knowledge Connections
- **Related Topics:** [[Server-Side Rendering (SSR)]], [[Static Site Generation (SSG)]], [[Client-Side Rendering (CSR)]], [[Core Web Vitals]], [[React Router]]
- **Projects/Contexts:** [[Next.js E-commerce Migration Case Study]]
- **Contradictions/Notes:** λ΄μκ²λ§ μ¬μ λ λλ§λ HTMLμ μ 곡νλ λμ λ λλ§(Dynamic Rendering) κΈ°μ μ κ³Όκ±° React SEOμ λμμΌλ‘ μ°μμΌλ, μΈκ°κ³Ό λ΄μκ² λ€λ₯Έ μ½ν
μΈ λ₯Ό 보μ¬μ£Όλ ν΄λ‘νΉ(Cloaking)μΌλ‘ κ°μ£Όλμ΄ νλν°λ₯Ό λ°μ μνμ΄ μμΌλ―λ‘, 2026λ
κΈ°μ€ κ΅¬κΈμ μ΄λ₯Ό κΆμ₯νμ§ μμΌλ©° SSRμ΄λ SSGλ₯Ό ꡬνν μ μλ μ΅νμ μλ¨μΌλ‘λ§ μ¬μ©ν΄μΌ ν©λλ€ [25, 26].
---
*Last updated: 2026-04-26*