3.0 KiB
3.0 KiB
Create React App
📌 Brief Summary
Create React App(CRA)은 주로 클라이언트 사이드 렌더링(CSR) 환경을 제공하여 리액트(React) 애플리케이션을 구축하게 해주는 프레임워크이자 도구입니다 [1]. 기본적으로 CSR 방식만을 지원하기 때문에 검색 엔진 최적화(SEO) 측면에서 매우 낮은 평가를 받으며, 주로 프로토타입 제작에 적합합니다 [1]. 상용 서비스나 SEO가 중요한 웹사이트의 경우, Next.js 등 최신 프레임워크로의 마이그레이션이 강하게 권장되는 레거시 환경으로 간주됩니다 [2, 3].
📖 Core Content
- SEO의 태생적 한계: CRA는 클라이언트 사이드 렌더링(CSR)에 전적으로 의존합니다. 이로 인해 검색 엔진 봇(크롤러)이 페이지에 처음 접근할 때 빈 HTML 셸 구조만 보게 되며, 자바스크립트가 실행된 후에야 콘텐츠가 나타나기 때문에 콘텐츠 인덱싱 지연이나 누락을 유발하여 SEO에 치명적인 단점이 있습니다 [1, 4, 5].
- SSR 및 SSG 지원 부재: SEO와 성능 최적화에 필수적인 서버 사이드 렌더링(SSR)이나 정적 사이트 생성(SSG) 기능이 프레임워크 내부에 내장되어 있지 않습니다 [1]. SSR을 구현하려면 수동으로 서버 설정을 해야 하며, SSG를 구현하려면 React Snap과 같은 외부 라이브러리의 도움이 필요합니다 [1, 6, 7].
- 성능 및 로딩 특성: CRA의 최소 번들 크기는 약 40KB로 가벼운 편이고 React 18 및 TypeScript 템플릿을 완벽하게 지원합니다 [1]. 그러나 CSR의 특성상 첫 바이트 도달 시간(TTFB)이 200~800ms 정도로 느리게 나타나며, 코어 웹 바이탈(Core Web Vitals) 성능 지표에 불리하게 작용합니다 [1].
- 마이그레이션 및 대안 전략: SEO가 필요한 기존 CRA 기반 애플리케이션의 경우, Next.js(SSR/SSG)로의 마이그레이션이 가장 훌륭한 해결책으로 권장되며 이를 통해 40~60%의 트래픽 증가를 기대할 수 있습니다 [2]. 즉각적인 마이그레이션이 불가능한 레거시 CRA 환경이라면, 봇 전용으로 렌더링된 HTML을 제공하는 Prerender.io 같은 미들웨어를 사용하거나 React Snap을 통한 사전 렌더링(Pre-rendering)을 적용하는 우회 기법을 고려해야 합니다 [3, 6, 8].
🔗 Knowledge Connections
- Related Topics: Client-Side Rendering (CSR), Server-Side Rendering (SSR), Next.js, Core Web Vitals
- Projects/Contexts: React SEO Guide, E-commerce Migration to Next.js
- Contradictions/Notes: 소스에 따르면 CRA는 진입 장벽이 매우 낮아(Very Easy) 프로토타입 제작에는 적합하지만, SEO 최적화 점수에서 5점 만점에 2점에 그칠 정도로 취약하므로 검색 노출이 중요한 e-커머스, 마케팅 사이트 등에서는 Next.js나 Remix 같은 최신 프레임워크로의 교체가 필수적이라고 지적합니다 [1].
Last updated: 2026-04-26