# [[Core Web Vitals Optimization Guide]] ## ๐Ÿ“Œ Brief Summary Core Web Vitals(CWV)๋Š” ๊ตฌ๊ธ€์ด ์›นํŽ˜์ด์ง€์˜ ์‹ค์ œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ธก์ •ํ•˜๊ธฐ ์œ„ํ•ด ๋งˆ๋ จํ•œ ์„ฑ๋Šฅ ์ง€ํ‘œ๋กœ, 2025๋…„ ๊ธฐ์ค€ ๋กœ๋”ฉ ์„ฑ๋Šฅ(LCP), ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ(CLS), ๊ทธ๋ฆฌ๊ณ  ์ƒํ˜ธ์ž‘์šฉ์„ฑ(INP)์„ ํ•ต์‹ฌ์œผ๋กœ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค [1, 2]. 2025๋…„ ์—…๋ฐ์ดํŠธ์˜ ๊ฐ€์žฅ ํฐ ๋ณ€ํ™”๋Š” ๊ธฐ์กด์˜ FID(First Input Delay)๋ฅผ ๋Œ€์ฒดํ•˜์—ฌ ์ „์ฒด์ ์ธ ์ƒํ˜ธ์ž‘์šฉ์„ฑ์„ ์ธก์ •ํ•˜๋Š” INP๊ฐ€ ์ „๋ฉด ๋„์ž…๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค [1, 3]. ์ด๋Ÿฌํ•œ ์ง€ํ‘œ๋“ค์˜ ์ตœ์ ํ™”๋Š” ๋‹จ์ˆœํ•œ ์†๋„ ๊ฐœ์„ ์„ ๋„˜์–ด ๊ฒ€์ƒ‰ ์—”์ง„ ๋žญํ‚น(SEO) ์ƒ์Šน, ์ „ํ™˜์œจ ์ฆ๊ฐ€, ์ดํƒˆ๋ฅ  ๊ฐ์†Œ๋ผ๋Š” ์ง์ ‘์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ์„ฑ๊ณผ ์ฐฝ์ถœ์˜ ํ•„์ˆ˜ ์š”๊ฑด์ž…๋‹ˆ๋‹ค [4-6]. ## ๐Ÿ“– Core Content **1. ํ•ต์‹ฌ ์ง€ํ‘œ ๋ถ„์„ ๋ฐ 2025๋…„ ๊ธฐ์ค€** * **LCP (Largest Contentful Paint):** ํŽ˜์ด์ง€์˜ ๊ฐ€์žฅ ํฐ ์ฝ˜ํ…์ธ  ์š”์†Œ๊ฐ€ ํ™”๋ฉด์— ํ‘œ์‹œ๋˜๋Š” ์‹œ๊ฐ„์„ ์ธก์ •ํ•˜์—ฌ ๋กœ๋”ฉ ์„ฑ๋Šฅ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค [7, 8]. ๊ตฌ๊ธ€์˜ "Good" ๋“ฑ๊ธ‰ ๊ถŒ์žฅ ๊ธฐ์ค€์€ 2.5์ดˆ ์ดํ•˜์ด๋‚˜, ์ตœ์‹  2025๋…„ ๊ฐ€์ด๋“œ์— ๋”ฐ๋ฅด๋ฉด 2.0์ดˆ ์ดํ•˜๋กœ ๊ธฐ์ค€์ด ๊ฐ•ํ™”๋˜์—ˆ๋‹ค๋Š” ๋ณด๊ณ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค [1, 9, 10]. ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” ์ฐจ์„ธ๋Œ€ ์ด๋ฏธ์ง€ ํฌ๋งท(WebP, AVIF) ์‚ฌ์šฉ ๋ฐ ์••์ถ•, CDN์„ ํ†ตํ•œ ์ •์  ์—์…‹ ์ œ๊ณต, ์ค‘์š” ๋ฆฌ์†Œ์Šค ์‚ฌ์ „ ๋กœ๋“œ(preload), ์„œ๋ฒ„ ์ธก ๋ Œ๋”๋ง(SSR) ์ ์šฉ, ๊ทธ๋ฆฌ๊ณ  TTFB(Time to First Byte) ๋‹จ์ถ•์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค [7, 11-13]. * **INP (Interaction to Next Paint):** ๊ธฐ์กด FID๋ฅผ ๋Œ€์ฒดํ•œ ์ง€ํ‘œ๋กœ, ํด๋ฆญ์ด๋‚˜ ํ‚ค๋ณด๋“œ ์ž…๋ ฅ ๋“ฑ ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  ์ƒํ˜ธ์ž‘์šฉ ํ›„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์‹œ๊ฐ์  ํ”ผ๋“œ๋ฐฑ์„ ํŽ˜์ธํŒ…ํ•  ๋•Œ๊นŒ์ง€์˜ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ข…ํ•ฉ์ ์œผ๋กœ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค [14-16]. ๊ธฐ์ค€์น˜๋Š” 200ms ์ดํ•˜(๋˜๋Š” 150ms ์ดํ•˜)์ž…๋‹ˆ๋‹ค [1, 9, 10]. INP๋ฅผ ์ตœ์ ํ™”ํ•˜๋ ค๋ฉด ๋ฌด๊ฑฐ์šด ์—ฐ์‚ฐ์„ Web Worker๋กœ ๋ถ„์‚ฐํ•˜๊ณ , ๊ธด JavaScript ์ž‘์—…์„ 50ms ์ดํ•˜์˜ ์ฒญํฌ๋กœ ์ชผ๊ฐœ๋ฉฐ, ์„œ๋“œํŒŒํ‹ฐ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ด๋ฒคํŠธ ํ•ธ๋“ค๋Ÿฌ์— ๋””๋ฐ”์šด์Šค(debounce)๋‚˜ ์Šค๋กœํ‹€(throttle)์„ ์ ์šฉํ•˜์—ฌ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ ์ฐจ๋‹จ์„ ๋ง‰์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค [14, 17-24]. * **CLS (Cumulative Layout Shift):** ํŽ˜์ด์ง€๊ฐ€ ๋กœ๋“œ๋˜๋Š” ๋™์•ˆ ์˜ˆ๊ธฐ์น˜ ์•Š๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๋ ˆ์ด์•„์›ƒ์˜ ์ด๋™์„ ์ธก์ •ํ•˜์—ฌ ์‹œ๊ฐ์  ์•ˆ์ •์„ฑ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค [11, 25, 26]. ๊ธฐ์ค€์น˜๋Š” 0.1 ์ดํ•˜(๋˜๋Š” 0.08 ์ดํ•˜)๋กœ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [1, 9, 27]. ์ด๋ฏธ์ง€์™€ ๋น„๋””์˜ค ์š”์†Œ์— ๋ช…์‹œ์ ์ธ `width` ๋ฐ `height` ์†์„ฑ์„ ์„ค์ •ํ•˜๊ณ , ๋™์ ์œผ๋กœ ๋กœ๋“œ๋˜๋Š” ๊ด‘๊ณ ๋‚˜ ์ž„๋ฒ ๋“œ ์ฝ˜ํ…์ธ ๋ฅผ ์œ„ํ•œ ๊ณต๊ฐ„์„ ๋ฏธ๋ฆฌ ํ™•๋ณด(`min-height` ๋“ฑ)ํ•˜๋ฉฐ, CSS ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ ๋ ˆ์ด์•„์›ƒ ์†์„ฑ ๋Œ€์‹  `transform`์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•ต์‹ฌ ์ „๋žต์ž…๋‹ˆ๋‹ค [25, 28-30]. **2. ๋น„์ฆˆ๋‹ˆ์Šค ๋ฐ SEO์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ** * ๊ตฌ๊ธ€์˜ ํŽ˜์ด์ง€ ๊ฒฝํ—˜(Page Experience) ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ CWV๋Š” ๊ฒฝ์Ÿ์ด ์น˜์—ดํ•œ ๊ฒ€์ƒ‰์–ด์˜ ๊ฒฝ์šฐ 25~30%์˜ ๋žญํ‚น ๊ฐ€์ค‘์น˜๋ฅผ ๊ฐ€์ง€๋ฉฐ, ์„ธ ๊ฐ€์ง€ ์ง€ํ‘œ๋ฅผ ๋ชจ๋‘ ์ถฉ์กฑํ•˜๋Š” ์‚ฌ์ดํŠธ๋Š” ๊ฒ€์ƒ‰ ๊ฐ€์‹œ์„ฑ์ด 8~15% ์ƒ์Šนํ•ฉ๋‹ˆ๋‹ค [5]. * ๋ชจ๋“  CWV ์ง€ํ‘œ๋ฅผ 'Poor'์—์„œ 'Good'์œผ๋กœ ๊ฐœ์„ ํ•  ๊ฒฝ์šฐ ํ‰๊ท ์ ์œผ๋กœ ์ „ํ™˜์œจ์ด 25% ์ƒ์Šนํ•˜๊ณ  ์ดํƒˆ๋ฅ ์ด 35% ๊ฐ์†Œํ•˜๋ฉฐ, ๋ฐฉ๋ฌธ์ž๋‹น ์ˆ˜์ต์ด 30% ๊ฐœ์„ ๋˜๋Š” ๊ฐ•๋ ฅํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ํŒŒ๊ธ‰ ํšจ๊ณผ๋ฅผ ๋ƒ…๋‹ˆ๋‹ค [6]. **3. ์„ฑ๋Šฅ ์ง„๋‹จ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์ฒด๊ณ„ ๊ตฌ์ถ•** * **์ธก์ • ๋„๊ตฌ:** ์„ฑ๋Šฅ ํ‰๊ฐ€๋Š” ์‹คํ—˜์‹ค ๋ฐ์ดํ„ฐ(Lab data)์™€ ์‹ค์ œ ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ(Field data)๋ฅผ ๋ชจ๋‘ ํ™œ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [31]. Google PageSpeed Insights, Chrome DevTools ๋‚ด Lighthouse๋ฅผ ์ด์šฉํ•ด ๊ฐœ์„  ์‚ฌํ•ญ์„ ์ฐพ๊ณ  [31, 32], WebPageTest๋ฅผ ํ†ตํ•ด ์ƒ์„ธ ์›Œํ„ฐํด ๋ถ„์„์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [33, 34]. * **์ง€์†์  ๋ชจ๋‹ˆํ„ฐ๋ง:** Google Search Console์˜ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ ๋ณด๊ณ ์„œ๋กœ ์ „๋ฐ˜์ ์ธ ์ƒํƒœ๋ฅผ ํŒŒ์•…ํ•˜๊ณ , Datadog, New Relic, GTmetrix ๋“ฑ์˜ RUM(Real User Monitoring) ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•ด ์‹ค์ œ ์‚ฌ์šฉ์ž ํ™˜๊ฒฝ์—์„œ์˜ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๊ฐ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [33, 35, 36]. ๋˜ํ•œ, ์„ฑ๋Šฅ ์˜ˆ์‚ฐ(Performance Budgets)์„ ์„ค์ •ํ•˜์—ฌ CI/CD ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์ง€ํ‘œ๊ฐ€ ๊ธฐ์ค€์น˜ ์ด์ƒ ์•…ํ™”๋˜๋Š” ๊ฒƒ์„ ์‚ฌ์ „์— ์ฐจ๋‹จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [37-41]. **4. SPA ๋ฐ React ํ™˜๊ฒฝ์—์„œ์˜ ํŠน๋ณ„ ๊ณ ๋ ค์‚ฌํ•ญ** * ๋‹จ์ผ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(SPA)์ด๋‚˜ React ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜ ์‚ฌ์ดํŠธ๋Š” ํฌ๊ณ  ๋ฌด๊ฑฐ์šด JavaScript ๋ฒˆ๋“ค๊ณผ ํด๋ผ์ด์–ธํŠธ ์ธก ํ•˜์ด๋“œ๋ ˆ์ด์…˜(Hydration) ์ง€์—ฐ์œผ๋กœ ์ธํ•ด INP์™€ LCP ์ ์ˆ˜๊ฐ€ ๋‚ฎ์•„์ง€๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค [42-44]. * ์ด๋Ÿฌํ•œ ์•ฑ์˜ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฒฝ๋กœ(Route) ๊ธฐ๋ฐ˜์˜ ์ฝ”๋“œ ์Šคํ”Œ๋ฆฌํŒ…(Code Splitting)๊ณผ ์ง€์—ฐ ๋กœ๋”ฉ(Lazy Loading)์„ ํ†ตํ•ด ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ , ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(SSR)์ด๋‚˜ ์ •์  ์‚ฌ์ดํŠธ ์ƒ์„ฑ(SSG)์œผ๋กœ ์ดˆ๊ธฐ HTML์„ ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•˜๋ฉฐ, ์ ์ง„์  ํ•˜์ด๋“œ๋ ˆ์ด์…˜(Progressive Hydration)์„ ๋„์ž…ํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ € ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ ๊ณผ๋ถ€ํ•˜๋ฅผ ๋ง‰๋Š” ๊ฒƒ์ด ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค [42, 45, 46]. ## ๐Ÿ”— Knowledge Connections - **Related Topics:** [[Largest Contentful Paint (LCP)]], [[Interaction to Next Paint (INP)]], [[Cumulative Layout Shift (CLS)]], [[Web Performance Optimization]], [[Server-Side Rendering (SSR)]], [[Single Page Application (SPA)]], [[Search Engine Optimization (SEO)]] - **Projects/Contexts:** [[Google Page Experience 2025]], [[React SEO Performance]] - **Contradictions/Notes:** 2025๋…„ ๊ธฐ์ค€ ์ฝ”์–ด ์›น ๋ฐ”์ดํƒˆ์˜ ๋ชฉํ‘œ์น˜(Threshold)์— ๋Œ€ํ•ด ์†Œ์Šค ๊ฐ„์— ์ƒ์ถฉ๋˜๋Š” ์ •๋ณด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์†Œ์Šค๋Š” 2025๋…„ ์—…๋ฐ์ดํŠธ๋กœ ๊ธฐ์ค€์ด ๋”์šฑ ์—„๊ฒฉํ•ด์ ธ LCP๋Š” 2.0์ดˆ ๋ฏธ๋งŒ, INP๋Š” 150ms ๋ฏธ๋งŒ, CLS๋Š” 0.08 ๋ฏธ๋งŒ์ด ๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค [9]. ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ์—ฌ๋Ÿฌ ์†Œ์Šค๋“ค์€ ์—ฌ์ „ํžˆ LCP 2.5์ดˆ ์ดํ•˜, INP 200ms ์ดํ•˜, CLS 0.1 ์ดํ•˜๋ฅผ "Good" ์ˆ˜์ค€์˜ 2025๋…„ ๊ณต์‹ ๊ธฐ์ค€์œผ๋กœ ์ œ์‹œํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค [1, 8, 10, 15, 27]. --- *Last updated: 2026-04-26*