# [[Core Web Vitals μ΅œμ ν™”]] ## πŸ“Œ Brief Summary Core Web VitalsλŠ” ꡬ글이 μ›ΉνŽ˜μ΄μ§€μ˜ μ‹€μ œ μ‚¬μš©μž κ²½ν—˜μ„ λ‘œλ”© 속도, μƒν˜Έμž‘μš©μ„±, μ‹œκ°μ  μ•ˆμ •μ„± μΈ‘λ©΄μ—μ„œ κ°κ΄€μ μœΌλ‘œ ν‰κ°€ν•˜κΈ° μœ„ν•΄ μ œμ •ν•œ 핡심 μ„±λŠ₯ μ§€ν‘œμž…λ‹ˆλ‹€ [1-3]. 2025λ…„ μ—…λ°μ΄νŠΈλ₯Ό 톡해 기쑴의 μƒν˜Έμž‘μš© μ§€ν‘œμ˜€λ˜ FID(First Input Delay)κ°€ μ‚¬μš©μž μƒν˜Έμž‘μš©μ˜ 전체 μ§€μ—° μ‹œκ°„μ„ μΈ‘μ •ν•˜λŠ” INP(Interaction to Next Paint)둜 곡식 λŒ€μ²΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€ [1, 4, 5]. 이 μ§€ν‘œλ“€μ„ μ΅œμ ν™”ν•˜λŠ” 것은 λ‹¨μˆœνžˆ νŽ˜μ΄μ§€ 속도λ₯Ό κ°œμ„ ν•˜λŠ” 것을 λ„˜μ–΄, μ΅œμ‹  검색 μ—”μ§„ μ΅œμ ν™”(SEO) μˆœμœ„λ₯Ό 높이고 μ „ν™˜μœ¨κ³Ό μ‚¬μš©μž λ§Œμ‘±λ„λ₯Ό κ·ΉλŒ€ν™”ν•˜λŠ” λͺ¨λ˜ μ›Ή μ—”μ§€λ‹ˆμ–΄λ§μ˜ ν•„μˆ˜ κ³Όμ œμž…λ‹ˆλ‹€ [6-8]. ## πŸ“– Core Content **1. 핡심 μ§€ν‘œλ³„ 이해와 μ΅œμ ν™” μ „λž΅** * **LCP (Largest Contentful Paint - λ‘œλ”© μ„±λŠ₯):** 뷰포트 λ‚΄μ—μ„œ κ°€μž₯ 큰 메인 μ½˜ν…μΈ (주둜 νžˆμ–΄λ‘œ μ΄λ―Έμ§€λ‚˜ 큰 ν…μŠ€νŠΈ 블둝)κ°€ 화면에 ν‘œμ‹œλ  λ•ŒκΉŒμ§€μ˜ μ‹œκ°„μ„ μΈ‘μ •ν•©λ‹ˆλ‹€ [9-11]. * *문제 원인:* λ Œλ”λ§μ„ μ°¨λ‹¨ν•˜λŠ” CSS/JS λ¦¬μ†ŒμŠ€, 느린 μ„œλ²„ 응닡 μ‹œκ°„(TTFB), μ΅œμ ν™”λ˜μ§€ μ•Šμ€ λŒ€μš©λŸ‰ 이미지, ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ λ Œλ”λ§(CSR) ν™˜κ²½μ—μ„œμ˜ λ Œλ”λ§ 지연이 μ£Όμš” μ›μΈμž…λ‹ˆλ‹€ [12, 13]. * *μ΅œμ ν™” 방법:* μ°¨μ„ΈλŒ€ 이미지 포맷(WebP, AVIF) μ‚¬μš© 및 μ••μΆ•, LCP λ¦¬μ†ŒμŠ€μ— `fetchpriority="high"` 적용 및 사전 λ‘œλ“œ(preload), 정적 μ—μ…‹μ˜ CDN μ œκ³΅μ„ μ μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€ [9, 14-16]. λ˜ν•œ, SSR(Server-Side Rendering)을 λ„μž…ν•˜κ³  μ€‘μš” CSS(Critical CSS)λ₯Ό 인라인으둜 μ²˜λ¦¬ν•˜μ—¬ λ‘œλ”© 속도λ₯Ό ν–₯상할 수 μžˆμŠ΅λ‹ˆλ‹€ [16-18]. * **INP (Interaction to Next Paint - μƒν˜Έμž‘μš©μ„±):** μ‚¬μš©μžμ˜ μƒν˜Έμž‘μš©(클릭, νƒ­, ν‚€ μž…λ ₯ λ“±) λ°œμƒ ν›„ λΈŒλΌμš°μ €κ°€ λ‹€μŒ ν”„λ ˆμž„μ„ ν‘œμ‹œν•  λ•ŒκΉŒμ§€ κ±Έλ¦¬λŠ” 전체 응닡 μ‹œκ°„μ„ μΈ‘μ •ν•©λ‹ˆλ‹€ [4, 19, 20]. * *문제 원인:* 메인 μŠ€λ ˆλ“œλ₯Ό μ°¨λ‹¨ν•˜λŠ” 무거운 JavaScript μž‘μ—…(50ms 초과), κ³Όλ„ν•œ μ„œλ“œνŒŒν‹° 슀크립트 μ‹€ν–‰, λ³΅μž‘ν•œ DOM μ‘°μž‘ 및 ν”„λ ˆμž„μ›Œν¬(React λ“±)의 λΆˆν•„μš”ν•œ λ¦¬λ Œλ”λ§μ΄ INP μ €ν•˜λ₯Ό μΌμœΌν‚΅λ‹ˆλ‹€ [21, 22]. * *μ΅œμ ν™” 방법:* 연산이 무거운 μž‘μ—…μ€ Web Workersλ₯Ό μ΄μš©ν•΄ 메인 μŠ€λ ˆλ“œ λ°–μœΌλ‘œ μ˜€ν”„λ‘œλ“œ(Offload)ν•˜κ³ , κΈ΄ μž‘μ—…μ€ 50ms μ΄ν•˜μ˜ 청크 λ‹¨μœ„λ‘œ λΆ„ν• ν•˜μ—¬ λΈŒλΌμš°μ €μ— μ œμ–΄κΆŒμ„ 양보(`setTimeout` ν™œμš©)ν•΄μ•Ό ν•©λ‹ˆλ‹€ [19, 23-25]. λ”λΆˆμ–΄ μ„œλ“œνŒŒν‹° 슀크립트 μ§€μ—°(defer), 이벀트 ν•Έλ“€λŸ¬ μ΅œμ ν™”(λ””λ°”μš΄μŠ€/μŠ€λ‘œν‹€), React ν™˜κ²½μ—μ„œμ˜ μ½”λ“œ μŠ€ν”Œλ¦¬νŒ…(Code Splitting) 및 점진적 ν•˜μ΄λ“œλ ˆμ΄μ…˜(Progressive Hydration)의 λ„μž…μ΄ ν•„μˆ˜μ μž…λ‹ˆλ‹€ [22, 26-28]. * **CLS (Cumulative Layout Shift - μ‹œκ°μ  μ•ˆμ •μ„±):** νŽ˜μ΄μ§€κ°€ λ‘œλ“œλ˜λŠ” λ™μ•ˆ μ‚¬μš©μžμ—κ²Œ μ˜ˆμƒμΉ˜ λͺ»ν•œ λ ˆμ΄μ•„μ›ƒμ˜ 이동이 μ–Όλ§ˆλ‚˜ μΌμ–΄λ‚˜λŠ”μ§€ μΈ‘μ •ν•©λ‹ˆλ‹€ [9, 29, 30]. * *문제 원인:* `width` 및 `height` 속성이 μ§€μ •λ˜μ§€ μ•Šμ€ 이미지 및 λΉ„λ””μ˜€, κΈ°μ‘΄ μ½˜ν…μΈ  μœ„λ‘œ λ™μ μœΌλ‘œ μ‚½μž…λ˜λŠ” κ΄‘κ³ , μ›Ή 폰트 λ‘œλ”© μ§€μ—°μœΌλ‘œ μΈν•œ ν…μŠ€νŠΈ 폰트 κΉœλΉ‘μž„(FOIT/FOUT), λ ˆμ΄μ•„μ›ƒμ„ λ‹€μ‹œ κ³„μ‚°ν•˜κ²Œ λ§Œλ“œλŠ” μ• λ‹ˆλ©”μ΄μ…˜ 속성 μ‚¬μš© 등이 μžˆμŠ΅λ‹ˆλ‹€ [29, 31]. * *μ΅œμ ν™” 방법:* λ―Έλ””μ–΄ μš”μ†Œμ— λͺ…μ‹œμ μΈ 크기λ₯Ό μ§€μ •ν•˜κ³ , κ΄‘κ³ λ‚˜ 동적 μž„λ² λ“œλ₯Ό μœ„ν•œ 곡간을 `min-height`λ‚˜ `aspect-ratio`λ₯Ό μ΄μš©ν•΄ 미리 확보해 두어야 ν•©λ‹ˆλ‹€ [32-34]. μ›Ή ν°νŠΈλŠ” `font-display: swap` λ˜λŠ” `optional`을 μ‚¬μš©ν•˜μ—¬ μ²˜λ¦¬ν•˜λ©°, μ• λ‹ˆλ©”μ΄μ…˜μ€ λ ˆμ΄μ•„μ›ƒ μž¬κ³„μ‚°μ„ μœ λ°œν•˜μ§€ μ•ŠλŠ” CSS `transform` μ†μ„±μœΌλ‘œ μ œμ–΄ν•΄μ•Ό ν•©λ‹ˆλ‹€ [34, 35]. **2. μ„±λŠ₯ μΈ‘μ • 도ꡬ 및 λͺ¨λ‹ˆν„°λ§** * *μ‹€ν—˜μ‹€ 데이터(Lab Testing):* ν†΅μ œλœ ν™˜κ²½μ—μ„œ 기술적 결함을 λΆ„μ„ν•˜κΈ° μœ„ν•΄ Google Lighthouse, WebPageTest, Chrome DevTools, PageSpeed Insights 등을 μ‚¬μš©ν•΄ 병λͺ© ꡬ간을 μ§„λ‹¨ν•©λ‹ˆλ‹€ [36, 37]. * *μ‹€μ œ μ‚¬μš©μž 데이터(RUM):* μ‚¬μš©μž 체감 μ„±λŠ₯ λͺ¨λ‹ˆν„°λ§μ„ μœ„ν•΄ Google Search Console(Core Web Vitals λ³΄κ³ μ„œ), GTmetrix, New Relic, Datadog RUM 등을 ν™œμš©ν•΄ μ§€μ†μ μœΌλ‘œ μ„±κ³Ό μ˜ˆμ‚°μ„ λͺ¨λ‹ˆν„°λ§ν•˜κ³  νšŒκ·€(Regression)λ₯Ό λ°©μ§€ν•΄μ•Ό ν•©λ‹ˆλ‹€ [38-41]. **3. λΉ„μ¦ˆλ‹ˆμŠ€ 및 SEO κ΄€μ μ˜ 효과** μ΅œμ ν™”κ°€ λ˜μ§€ μ•Šμ€ μ‚¬μ΄νŠΈμ—μ„œ Core Web Vitals의 λͺ¨λ“  μ§€ν‘œλ₯Ό "Good(우수)" μˆ˜μ€€μœΌλ‘œ λŒμ–΄μ˜¬λ¦¬λ©΄ ν‰κ· μ μœΌλ‘œ μ „ν™˜μœ¨ 25% μƒμŠΉ, μ΄νƒˆλ₯  35% κ°μ†Œ, λ°©λ¬Έμžλ‹Ή 수읡이 30% κ°œμ„ λ˜λŠ” 효과λ₯Ό κ±°λ‘˜ 수 μžˆμŠ΅λ‹ˆλ‹€ [42, 43]. ## πŸ”— Knowledge Connections - **Related Topics:** [[Server-Side Rendering (SSR)]], [[Search Engine Optimization (SEO)]], [[First Contentful Paint (FCP)]], [[Time to First Byte (TTFB)]], [[JavaScript Optimization]] - **Projects/Contexts:** [[React SEO 및 μ„±λŠ₯ μ΅œμ ν™”]], [[이컀머슀 μ›Ήμ‚¬μ΄νŠΈ 속도 및 μ „ν™˜μœ¨ κ°œμ„ ]], [[μ›Ή μ ‘κ·Όμ„± 및 λͺ¨λ°”일 μ΅œμ ν™”]] - **Contradictions/Notes:** μ†ŒμŠ€ [44]은 2025λ…„ Google의 Core Web Vitals 기쀀이 λ”μš± 엄격해져 LCP 2.0초 미만, CLS 0.08 미만, INP 150ms λ―Έλ§Œμ„ 달성해야 ν•œλ‹€κ³  μ£Όμž₯ν•©λ‹ˆλ‹€ [45]. ν•˜μ§€λ§Œ μ†ŒμŠ€ [46], [47], [48], [49] λ“± λ‹€λ₯Έ μ—¬λŸ¬ μ΅œμ‹  λ¬Έμ„œμ—μ„œλŠ” μ—¬μ „νžˆ LCP 2.5초 μ΄ν•˜, CLS 0.1 μ΄ν•˜, INP 200ms μ΄ν•˜λ₯Ό '우수(Good)' κΈ°μ€€μœΌλ‘œ λͺ…μ‹œν•˜κ³  μžˆμ–΄, κΈ°μ€€ μž„κ³„κ°’μ— λŒ€ν•œ 정보 κ°„μ˜ λΆˆμΌμΉ˜κ°€ μ‘΄μž¬ν•©λ‹ˆλ‹€ [4, 10, 32, 50, 51]. --- *Last updated: 2026-04-26*