# [[Web Performance Optimization]] ## πŸ“Œ Brief Summary μ›Ή μ„±λŠ₯ μ΅œμ ν™”(Web Performance Optimization)λŠ” μ›Ήμ‚¬μ΄νŠΈκ°€ μ‚¬μš©μžμ—κ²Œ μ–Όλ§ˆλ‚˜ λΉ λ₯΄κ³ , μ•ˆμ •μ μ΄λ©°, μ›ν™œν•˜κ²Œ μƒν˜Έμž‘μš©ν•˜λŠ”μ§€λ₯Ό κ°œμ„ ν•˜λŠ” 쒅합적인 과정이닀 [1, 2]. μ΄λŠ” λ‹¨μˆœν•œ λ‘œλ”© 속도 단좕을 λ„˜μ–΄, μ‚¬μš©μžμ˜ λΆˆλ§Œμ„ 쀄이고 μ „λ°˜μ μΈ λ””μ§€ν„Έ κ²½ν—˜μ˜ λ§Œμ‘±λ„λ₯Ό λ†’μ΄λŠ” 것을 λͺ©ν‘œλ‘œ ν•œλ‹€ [3-5]. 2025λ…„ ν˜„μž¬, μ½”μ–΄ μ›Ή λ°”μ΄νƒˆ(Core Web Vitals)κ³Ό 같은 μ„±λŠ₯ μ§€ν‘œλ₯Ό μΆ©μ‘±ν•˜λŠ” 것은 검색 μ—”μ§„ μˆœμœ„(SEO) μƒμŠΉκ³Ό λΉ„μ¦ˆλ‹ˆμŠ€ μ „ν™˜μœ¨ κ·ΉλŒ€ν™”λ₯Ό μœ„ν•œ ν•„μˆ˜μ μΈ μ „λž΅μœΌλ‘œ 평가받고 μžˆλ‹€ [6-9]. ## πŸ“– Core Content * **λΉ„μ¦ˆλ‹ˆμŠ€ 및 검색 μˆœμœ„(SEO)에 λ―ΈμΉ˜λŠ” 영ν–₯:** μ›Ήμ‚¬μ΄νŠΈμ˜ μ„±λŠ₯ μ €ν•˜λŠ” μ‚¬μš©μžμ˜ 즉각적인 μ΄νƒˆλ‘œ 이어진닀. **νŽ˜μ΄μ§€ 응닡이 1초 지연될 λ•Œλ§ˆλ‹€ μ „ν™˜μœ¨μ΄ μ•½ 7% κ°μ†Œ**ν•  수 있으며, λͺ¨λ°”일 μ‚¬μš©μžμ˜ 53%λŠ” λ‘œλ”©μ— 3초 이상이 μ†Œμš”λ˜λ©΄ μ‚¬μ΄νŠΈλ₯Ό μ΄νƒˆν•œλ‹€ [3, 4, 10-13]. ꡬ글은 νŽ˜μ΄μ§€ κ²½ν—˜μ„ 핡심 λž­ν‚Ή μ‹ ν˜Έλ‘œ μ‚¬μš©ν•˜λ―€λ‘œ, μš°μˆ˜ν•œ μ›Ή μ„±λŠ₯은 μ‚¬μš©μž μ‹ λ’°λ₯Ό ꡬ좕할 뿐만 μ•„λ‹ˆλΌ 유기적 νŠΈλž˜ν”½μ„ 늘리고 경쟁 μš°μœ„λ₯Ό ν™•λ³΄ν•˜λŠ” 원동λ ₯이닀 [8, 14]. * **μ½”μ–΄ μ›Ή λ°”μ΄νƒˆ(Core Web Vitals)의 핡심 μ§€ν‘œ 및 μ΅œμ ν™”:** * **LCP (Largest Contentful Paint):** ν™”λ©΄ λ‚΄ κ°€μž₯ 큰 μ£Όμš” μ½˜ν…μΈ κ°€ μ‹œκ°μ μœΌλ‘œ λ Œλ”λ§λ˜λŠ” μ‹œκ°„μ„ μΈ‘μ •ν•œλ‹€ [15, 16]. 이λ₯Ό κ°œμ„ ν•˜κΈ° μœ„ν•΄ **WebP/AVIF λ“±μ˜ μ°¨μ„ΈλŒ€ 이미지 포맷 μ‚¬μš©**, 이미지 μ••μΆ•, μ½˜ν…μΈ  전솑 λ„€νŠΈμ›Œν¬(CDN) ν™œμš©, 그리고 μ§€μ—° λ‘œλ”©(Lazy Loading) 및 μ„œλ²„ μ‚¬μ΄λ“œ λ Œλ”λ§(SSR)을 톡해 초기 λ‘œλ”© 속도λ₯Ό λ†’μ΄λŠ” μ „λž΅μ΄ ꢌμž₯λœλ‹€ [9, 15, 17-23]. * **INP (Interaction to Next Paint):** μ‚¬μš©μžμ˜ μƒν˜Έμž‘μš©(클릭, νƒ­ λ“±) ν›„ λ‹€μŒ ν”„λ ˆμž„μ΄ 그렀질 λ•ŒκΉŒμ§€μ˜ μ§€μ—° μ‹œκ°„μ„ ν‰κ°€ν•˜λŠ” μ§€ν‘œλ‘œ, 기쑴의 FIDλ₯Ό λŒ€μ²΄ν•˜μ˜€λ‹€ [8, 9, 24-27]. κ°œμ„ μ„ μœ„ν•΄μ„œλŠ” **무거운 JavaScript μ‹€ν–‰ λΆ„ν• **, μ›Ή μ›Œμ»€(Web Workers)λ₯Ό ν†΅ν•œ μ—°μ‚° μ˜€ν”„λ‘œλ”©, λΆˆν•„μš”ν•œ μ„œλ“œνŒŒν‹° 슀크립트 제거, λ””λ°”μš΄μŠ€/μŠ€λ‘œν‹€(debounce/throttle) 기법 적용 등이 ν•„μˆ˜μ μ΄λ‹€ [9, 25, 26, 28-30]. * **CLS (Cumulative Layout Shift):** νŽ˜μ΄μ§€ λ‘œλ“œ 쀑 ν…μŠ€νŠΈλ‚˜ 이미지가 예기치 μ•Šκ²Œ λ°€λ €λ‚˜λŠ” μ‹œκ°μ  λΆˆμ•ˆμ •μ„±μ„ μΈ‘μ •ν•œλ‹€ [17, 31, 32]. λ°©μ§€λ₯Ό μœ„ν•΄ **λͺ¨λ“  이미지와 λΉ„λ””μ˜€μ— λͺ…μ‹œμ μΈ 크기(Width/Height)λ₯Ό μ§€μ •**ν•˜κ³ , λ™μ μœΌλ‘œ λ‘œλ“œλ˜λŠ” κ΄‘κ³  및 μž„λ² λ””λ“œ μ½˜ν…μΈ λ₯Ό μœ„ν•œ 곡간을 미리 ν™•λ³΄ν•˜λ©°, 폰트 적용 μ‹œ `font-display: swap`을 μ‚¬μš©ν•΄ λ Œλ”λ§ 차이λ₯Ό 쀄여야 ν•œλ‹€ [9, 17, 31, 33, 34]. * **ν”„λ‘ νŠΈμ—”λ“œ μ΅œμ ν™” κ΅¬ν˜„ (Frontend Checklist):** * **μ½”λ“œ μŠ€ν”Œλ¦¬νŒ…(Code Splitting) 및 μ§€μ—° λ‘œλ”©:** 초기 λ²ˆλ“€ 크기λ₯Ό 쀄여 μƒν˜Έμž‘μš©μ„ λΉ λ₯΄κ²Œ ν•˜κΈ° μœ„ν•΄, 라우트 λ‹¨μœ„ λ˜λŠ” 무거운 μ»΄ν¬λ„ŒνŠΈ λ‹¨μœ„λ‘œ JavaScriptλ₯Ό λΆ„ν• (Code Splitting)ν•˜μ—¬ μ‚¬μš©μžκ°€ ν•„μš”λ‘œ ν•  λ•Œλ§Œ λ‘œλ“œν•˜λ„λ‘ ν•œλ‹€ [35-40]. * **μžμ‚° 및 λ„€νŠΈμ›Œν¬ μ΅œμ ν™”:** HTML, CSS, JavaScript νŒŒμΌμ—μ„œ λΆˆν•„μš”ν•œ 곡백과 문자λ₯Ό 제거(Minification)ν•˜μ—¬ λ Œλ”λ§ 차단 λ¦¬μ†ŒμŠ€λ₯Ό ν•΄μ†Œν•œλ‹€ [5, 21, 30, 40, 41]. λ˜ν•œ 사전 μ—°κ²°(Preconnect)μ΄λ‚˜ λͺ¨λ“ˆ 사전 λ‘œλ“œ(Preload)와 같은 **λ¦¬μ†ŒμŠ€ 힌트(Resource Hints)**λ₯Ό μ‚¬μš©ν•΄ ν•„μˆ˜ 데이터 λ‹€μš΄λ‘œλ“œλ₯Ό 가속화해야 ν•œλ‹€ [41, 42]. * **ν˜„λŒ€μ  λ Œλ”λ§ μ „λž΅ 채택:** React 기반 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 경우 ν΄λΌμ΄μ–ΈνŠΈ μ‚¬μ΄λ“œ λ Œλ”λ§(CSR)λ§Œμ„ μ‚¬μš©ν•  λ•Œ λ°œμƒν•˜λŠ” 빈 HTML λ¬Έμ œμ™€ 크둀링 μ§€μ—° 문제λ₯Ό ν•΄κ²°ν•΄μ•Ό ν•œλ‹€. λ§ˆμΌ€νŒ… νŽ˜μ΄μ§€λ‚˜ λΈ”λ‘œκ·Έ λ“± SEOκ°€ μ€‘μš”ν•œ μ˜μ—­μ—λŠ” **μ„œλ²„ μ‚¬μ΄λ“œ λ Œλ”λ§(SSR)**μ΄λ‚˜ **정적 μ‚¬μ΄νŠΈ 생성(SSG)**을 λ„μž…ν•˜μ—¬ μ΄ˆκΈ°λΆ€ν„° μ˜¨μ „ν•œ μ½˜ν…μΈ λ₯Ό 봇과 μ‚¬μš©μžμ—κ²Œ μ œκ³΅ν•΄μ•Ό ν•œλ‹€ [43-47]. ## πŸ”— Knowledge Connections - **Related Topics:** [[Core Web Vitals]], [[Search Engine Optimization (SEO)]], [[Client-Side Rendering (CSR) vs Server-Side Rendering (SSR)]] - **Projects/Contexts:** [[Allbirds E-commerce Redesign]] (PWA(Progressive Web App) κΈ°μˆ μ„ κ΅¬ν˜„ν•˜μ—¬ νŽ˜μ΄μ§€ λ‘œλ”© 속도λ₯Ό 89% κ°œμ„ ν•˜κ³  μž₯λ°”κ΅¬λ‹ˆ ν¬κΈ°μœ¨μ„ 크게 μ€„μž„μœΌλ‘œμ¨ λŒ€κ·œλͺ¨ μΆ”κ°€ μˆ˜μ΅μ„ μ°½μΆœν•œ 사둀 [48-50]), [[eCommerce Store Optimization Case]] (이미지 μ••μΆ•, κ΄‘κ³  곡간 μ˜ˆμ•½, JS μ‹€ν–‰ μ‹œκ°„ 감좕을 톡해 LCP, CLS, INP μ§€ν‘œλ₯Ό λŒ€ν­ μ΅œμ ν™”ν•˜μ—¬ 유기적 νŠΈλž˜ν”½μ„ 32% μƒμŠΉμ‹œν‚¨ 사둀 [51]). - **Contradictions/Notes:** μ†ŒμŠ€ [16, 52, 53]λŠ” μ½”μ–΄ μ›Ή λ°”μ΄νƒˆμ˜ 쒋은(Good) 기쀀을 "LCP 2.5초 미만, INP 200ms 미만, CLS 0.1 미만"이라고 μ£Όμž₯ν•˜μ§€λ§Œ, μ†ŒμŠ€ [54]λŠ” 2025λ…„ μž„κ³„κ°’μ΄ λ”μš± 엄격해져 "LCP 2.0초 미만, INP 150ms 미만, CLS 0.08 미만"으둜 기쀀이 λ³€κ²½λ˜μ—ˆλ‹€κ³  μƒλ°˜λœ(ν˜Ήμ€ μ—…λ°μ΄νŠΈλœ) λ‚΄μš©μ„ λ³΄κ³ ν•©λ‹ˆλ‹€. --- *Last updated: 2026-04-26*