# [[E-commerce Migration to Next.js Case Study]] ## ๐Ÿ“Œ Brief Summary ์ด ์ฃผ์ œ๋Š” 10,000๊ฐœ์˜ ์ œํ’ˆ์„ ๋ณด์œ ํ•œ ํŒจ์…˜ ์ด์ปค๋จธ์Šค ์‚ฌ์ดํŠธ๊ฐ€ ๊ธฐ์กด์˜ CSR(Client-Side Rendering) ๊ธฐ๋ฐ˜ Create React App ํ™˜๊ฒฝ์—์„œ Next.js ๊ธฐ๋ฐ˜์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•œ ์‹ค์ œ ์‚ฌ๋ก€๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์ด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ๊ฒ€์ƒ‰ ์—”์ง„ ์ƒ‰์ธ๋ฅ , ๋กœ๋”ฉ ์„ฑ๋Šฅ(LCP), ์œ ๊ธฐ์  ํŠธ๋ž˜ํ”ฝ์„ ๊ทน์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ Œ๋”๋ง ์ „๋žต์˜ ์ „ํ™˜๊ณผ ์›น ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ์‚ฌ์ดํŠธ์˜ ๋งค์ถœ์ด ๋Œ€ํญ ํ–ฅ์ƒ๋˜๋Š” ์ง์ ‘์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ๋ฅผ ์ฐฝ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ## ๐Ÿ“– Core Content * **๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ด์ „ ์ƒํƒœ ๋ฐ ๋ฌธ์ œ์  (CSR ํ™˜๊ฒฝ):** ๊ธฐ์กด ์ด์ปค๋จธ์Šค ์‚ฌ์ดํŠธ๋Š” Create React App์„ ์‚ฌ์šฉํ•œ ํด๋ผ์ด์–ธํŠธ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(CSR) ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์ถ•๋˜์–ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค [1]. ์ „์ฒด 10,000๊ฐœ์˜ ์ œํ’ˆ ์ค‘ 40%์ธ 4,000๊ฐœ๋งŒ ๊ฒ€์ƒ‰ ์—”์ง„์— ์ƒ‰์ธ๋˜์—ˆ์œผ๋ฉฐ, ํ‰๊ท  TTFB(Time to First Byte)๋Š” 200ms, ํ‰๊ท  LCP(Largest Contentful Paint)๋Š” 4.2์ดˆ๋กœ ์„ฑ๋Šฅ์ด ๋งค์šฐ ์ €์กฐ(Poor)ํ–ˆ์Šต๋‹ˆ๋‹ค [1]. ๋‹น์‹œ ์œ ๊ธฐ์  ๊ฒ€์ƒ‰ ํŠธ๋ž˜ํ”ฝ์€ ์›” 50,000๋ช…, ์œ ๊ธฐ์  ๊ฒ€์ƒ‰์„ ํ†ตํ•œ ๋งค์ถœ์€ ์›” 20๋งŒ ๋‹ฌ๋Ÿฌ์— ๋จธ๋ฌผ๋ €์Šต๋‹ˆ๋‹ค [1]. * **์ตœ์ ํ™” ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์‹คํ–‰ (Next.js ๋„์ž…):** ๋‘ ๋ช…์˜ ์—”์ง€๋‹ˆ์–ด๊ฐ€ 6์ฃผ์— ๊ฑธ์ณ Next.js๋กœ์˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค [2]. ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ๋Š” ์นดํ…Œ๊ณ ๋ฆฌ ํŽ˜์ด์ง€(`/category/*`)์— ๋นŒ๋“œ ํƒ€์ž„ ์ •์  ์ƒ์„ฑ(SSG)์„ ๋„์ž…ํ•˜๊ณ , ์ œํ’ˆ ํŽ˜์ด์ง€์—๋Š” 1์‹œ๊ฐ„ ๋‹จ์œ„ ์—…๋ฐ์ดํŠธ(`revalidate: 3600`)๋ฅผ ์ ์šฉํ•œ ์ ์ง„์  ์ •์  ์žฌ์ƒ์„ฑ(ISR) ๋ฐฉ์‹์„ ์ฑ„ํƒํ•œ ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค [3]. ๋˜ํ•œ ํ’๋ถ€ํ•œ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ(Rich results)๋ฅผ ์œ„ํ•ด ์ œํ’ˆ ์Šคํ‚ค๋งˆ(Product schema) ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , WebP ํฌ๋งท๊ณผ Next.js Image ์ปดํฌ๋„ŒํŠธ๋ฅผ ํ™œ์šฉํ•ด ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค [3]. ๋”๋ถˆ์–ด ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…์„ ํ†ตํ•ด ๋ฉ”์ธ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฒˆ๋“ค์˜ ํฌ๊ธฐ๋ฅผ 1.8MB์—์„œ 320KB๋กœ ํฌ๊ฒŒ ์ถ•์†Œํ–ˆ์Šต๋‹ˆ๋‹ค [3]. * **๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ดํ›„ ์„ฑ๊ณผ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ์˜ํ–ฅ:** Next.js ISR์„ ์ ์šฉํ•œ ํ›„, ์ œํ’ˆ ์ƒ‰์ธ๋ฅ ์€ ๊ธฐ์กด 40%์—์„œ 95%(9,500/10,000)๋กœ ๊ธ‰์ฆํ–ˆ์Šต๋‹ˆ๋‹ค [3]. ISR ์บ์‹œ ์ ์ค‘ ๋•๋ถ„์— ํ‰๊ท  TTFB๋Š” 50ms๋กœ ๋‹จ์ถ•๋˜์—ˆ๊ณ , ํ‰๊ท  LCP๋Š” 1.8์ดˆ๋กœ ๋–จ์–ด์ ธ Core Web Vitals์—์„œ 'Good' ๋“ฑ๊ธ‰์„ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค [3]. ๋น„์ฆˆ๋‹ˆ์Šค ์ธก๋ฉด์—์„œ๋Š” ์œ ๊ธฐ์  ํŠธ๋ž˜ํ”ฝ์ด ์›” 85,000๋ช…์œผ๋กœ 70% ์ฆ๊ฐ€ํ–ˆ์œผ๋ฉฐ, ๋งค์ถœ์€ ์›” 35๋งŒ ๋‹ฌ๋Ÿฌ๋กœ 75% ์ƒ์Šนํ•˜์—ฌ ๊ฒฐ๊ณผ์ ์œผ๋กœ ์›” 15๋งŒ ๋‹ฌ๋Ÿฌ, ์—ฐ๊ฐ„ 180๋งŒ ๋‹ฌ๋Ÿฌ์˜ ์ถ”๊ฐ€ ์ˆ˜์ต(ROI)์„ ์ฐฝ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค [2, 3]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Incremental Static Regeneration (ISR)]], [[Client-Side Rendering (CSR)]], [[Largest Contentful Paint (LCP)]], [[Core Web Vitals]], [[Code Splitting]], [[Image Optimization]] - **Projects/Contexts:** [[React SEO Guide]], [[E-commerce Web Development]], [[Web Performance Optimization]] - **Contradictions/Notes:** ๊ธฐ์กด CSR ๊ธฐ๋ฐ˜์˜ React ์•ฑ์€ ์ดˆ๊ธฐ HTML์ด ๋น„์–ด ์žˆ์–ด ๊ฒ€์ƒ‰ ์—”์ง„ ์ƒ‰์ธ ์ง€์—ฐ ๋ฐ ์„ฑ๋Šฅ(LCP) ๋ฌธ์ œ๋ฅผ ์ดˆ๋ž˜ํ–ˆ์œผ๋‚˜, Next.js์˜ SSR/SSG/ISR ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์›น ์„ฑ๋Šฅ๊ณผ SEO ํŠธ๋ž˜ํ”ฝ์„ ๋™์‹œ์— ํš๊ธฐ์ ์œผ๋กœ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Œ์„ ์™„๋ฒฝํ•˜๊ฒŒ ์ฆ๋ช…ํ•œ ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค [1, 3]. --- *Last updated: 2026-04-26*