Lighthouse πŸ’‘

forhreverΒ·2023λ…„ 3μ›” 30일
0

Lighthouse

μ˜ˆμ‹œ) 넀이버 νŽ˜μ΄μ§€

Lighthouse 뢄석 κ²°κ³Ό ν•­λͺ©

  1. Performance
  • μ›Ή μ„±λŠ₯을 확인
  • 화면에 μ½˜ν…μΈ κ°€ ν‘œμ‹œλ˜λŠ”λ° μ‹œκ°„μ΄ μ–Όλ§ˆλ‚˜ κ±Έλ¦¬λŠ”μ§€, ν‘œμ‹œλœ ν›„ μ‚¬μš©μžμ™€ μƒν˜Έμž‘μš©ν•˜κΈ° κΉŒμ§„ μ–Όλ§ˆλ‚˜ κ±Έλ¦¬λŠ”μ§€, 화면에 λΆˆμ•ˆμ •ν•œ μš”μ†ŒλŠ” μ—†λŠ”μ§€ 등을 ν™•μΈν•©λ‹ˆλ‹€.
  1. Accessibility
  • μ›Ή νŽ˜μ΄μ§€κ°€ μ›Ή 접근성을 잘 κ°–μΆ”κ³  μžˆλŠ”μ§€ 확인
  • λŒ€μ²΄ ν…μŠ€νŠΈλ₯Ό 잘 μž‘μ„±ν–ˆλŠ”μ§€, 배경색과 μ½˜ν…μΈ  μƒ‰μƒμ˜ λŒ€λΉ„κ°€ μΆ©λΆ„ν•œμ§€, μ μ ˆν•œ WAI-ARIA 속성을 μ‚¬μš©ν–ˆλŠ”μ§€ 등을 ν™•μΈν•©λ‹ˆλ‹€.
  1. Best Practices
  • μ›Ή νŽ˜μ΄μ§€κ°€ μ›Ή ν‘œμ€€ λͺ¨λ²” 사둀λ₯Ό 잘 λ”°λ₯΄κ³  μžˆλŠ”μ§€ 확인
  • HTTPS ν”„λ‘œν† μ½œμ„ μ‚¬μš©ν•˜λŠ”μ§€, μ‚¬μš©μžκ°€ 확인할 ν™•λ₯ μ€ 높지 μ•Šμ§€λ§Œ μ½˜μ†” 창에 였λ₯˜κ°€ ν‘œμ‹œλ˜μ§€λŠ” μ•ŠλŠ”μ§€ 등을 ν™•μΈν•©λ‹ˆλ‹€.
  1. SEO
  • μ›Ή νŽ˜μ΄μ§€κ°€ 검색 엔진 μ΅œμ ν™”κ°€ 잘 λ˜μ–΄μžˆλŠ”μ§€ 확인
  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ robots.txtκ°€ μœ νš¨ν•œμ§€, meta μš”μ†ŒλŠ” 잘 μž‘μ„±λ˜μ–΄ μžˆλŠ”μ§€, ν…μŠ€νŠΈ 크기가 읽기에 무리가 μ—†λŠ”μ§€ 등을 ν™•μΈν•©λ‹ˆλ‹€.
  1. PWA
  • μ›Ή μ‚¬μ΄νŠΈκ°€ λͺ¨λ°”일 μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œμ„œλ„ 잘 μž‘λ™ν•˜λŠ”μ§€ 확인
  • μ•± μ•„μ΄μ½˜μ„ μ œκ³΅ν•˜λŠ”μ§€, μŠ€ν”Œλž˜μ‹œ 화면이 μžˆλŠ”μ§€, ν™”λ©΄ 크기에 맞게 μ½˜ν…μΈ λ₯Ό μ μ ˆν•˜κ²Œ λ°°μΉ˜ν–ˆλŠ”μ§€ 등을 μ μˆ˜κ°€ μ•„λ‹Œ 체크리슀트둜 ν™•μΈν•©λ‹ˆλ‹€.

Lighthouse의 Performance μΈ‘μ • λ©”νŠΈλ¦­

  1. First Contentful Paint
  • μ‚¬μš©μžκ°€ νŽ˜μ΄μ§€μ— μ ‘μ†ν–ˆμ„ λ•Œ λΈŒλΌμš°μ €κ°€ DOM μ»¨ν…μΈ μ˜ 첫 번째 뢀뢄을 λ Œλ”λ§ν•˜λŠ” 데 κ±Έλ¦¬λŠ” μ‹œκ°„μ„ μΈ‘μ •ν•©λ‹ˆλ‹€.
  • μ‚¬μš©μžκ°€ κ°μ§€ν•˜λŠ” νŽ˜μ΄μ§€μ˜ λ‘œλ”©μ†λ„λ₯Ό μΈ‘μ • κ°€λŠ₯, μš°μˆ˜ν•œ μ‚¬μš©μž κ²½ν—˜μ„ μ œκ³΅ν•˜λ €λ©΄ FCPκ°€ 1.8초 μ΄ν•˜μ—¬μ•Ό ν•©λ‹ˆλ‹€.
  1. Largest Contentful Paint
  • 뷰포트λ₯Ό μ°¨μ§€ν•˜λŠ” κ°€μž₯ 큰 μ½˜ν…μΈ (이미지 λ˜λŠ” ν…μŠ€νŠΈ 블둝)의 λ Œλ” μ‹œκ°„μ„ μΈ‘μ •ν•©λ‹ˆλ‹€.
  • μ£Όμš” μ½˜ν…μΈ κ°€ μœ μ €μ—κ²Œ λ³΄μ΄λŠ” μ‹œκ°„κΉŒμ§€λ₯Ό κ°€λŠ ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  1. Speed Index
  • μ„±λŠ₯(Performance) μ§€ν‘œλ₯Ό μΆ”μ ν•˜λŠ” λ©”νŠΈλ¦­μž…λ‹ˆλ‹€.
  • νŽ˜μ΄μ§€λ₯Ό λ‘œλ“œν•˜λŠ” λ™μ•ˆ μ–Όλ§ˆλ‚˜ 빨리 컨텐츠가 μ‹œκ°μ μœΌλ‘œ ν‘œμ‹œλ˜λŠ” 지λ₯Ό μΈ‘μ •ν•©λ‹ˆλ‹€.
  1. Time to interactive
  • νŽ˜μ΄μ§€κ°€ λ‘œλ“œλ˜λŠ” μ‹œμ λΆ€ν„° μ‚¬μš©μžμ™€μ˜ μƒν˜Έμž‘μš©μ΄ κ°€λŠ₯ν•œ μ‹œμ κΉŒμ§€μ˜ μ‹œκ°„μ„ μΈ‘μ •ν•©λ‹ˆλ‹€.
  • νŽ˜μ΄μ§€μ— FCP둜 μΈ‘μ •λœ 컨텐츠가 ν‘œμ‹œ, 이벀트 ν•Έλ“€λŸ¬κ°€ κ°€μž₯ 잘 λ³΄μ΄λŠ” νŽ˜μ΄μ§€μ˜ μ—˜λ¦¬λ¨ΌνŠΈμ— 등둝, νŽ˜μ΄μ§€κ°€ 0.05μ΄ˆμ•ˆμ— μ‚¬μš©μžμ˜ μƒν˜Έμž‘μš©μ— μ‘λ‹΅λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.
  1. Total Blocking Time
  • νŽ˜μ΄μ§€κ°€ μœ μ €μ™€ μƒν˜Έμž‘μš©ν•˜κΈ°κΉŒμ§€μ˜ λ§‰ν˜€μžˆλŠ” μ‹œκ°„μ„ μΈ‘μ •ν•©λ‹ˆλ‹€.
  • FCP와 TTI 사이에 κΈ΄ μ‹œκ°„μ΄ κ±Έλ¦¬λŠ” μž‘μ—…λ“€μ„ λͺ¨λ‘ κΈ°λ‘ν•˜μ—¬ TBTλ₯Ό μΈ‘μ •ν•©λ‹ˆλ‹€.
  1. Cumulative Layout Shift
  • μ‚¬μš©μžμ—κ²Œ 컨텐츠가 ν™”λ©΄μ—μ„œ μ–Όλ§ˆλ‚˜ 많이 μ›€μ§μ΄λŠ”μ§€(λΆˆμ•ˆμ •ν•œ 지)λ₯Ό μˆ˜μΉ˜ν™”ν•œ μ§€ν‘œμž…λ‹ˆλ‹€.
  • μ§€ν‘œλ₯Ό 톡해 ν™”λ©΄μ—μ„œ 이리저리 μ›€μ§μ΄λŠ” μš”μ†Œ(λΆˆμ•ˆμ •ν•œ μš”μ†Œ)κ°€ μžˆλŠ” 지λ₯Ό μΈ‘μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

Opportunities ν•­λͺ©(17가지)

1) Eliminate render-blocking resources
2) Properly size images
3) Defer offscreen images
4) Minify CSS
5) Minify JavaScript
6) Remove unused CSS
7) Efficiently encode images
8) Serve images in modern formats
9) Enable text compression
10) Preconnect to required origins
11) Reduce server response times (TTFB)
12) Avoid multiple page redirects
13) Preload key requests
14) Use video formats for animated content
15) Reduce the impact of third-party code
16) Avoid non-composited animations
17) Lazy load third-party resources with facades

좜처 : https://developer.chrome.com/en/docs/lighthouse/performance/

profile
개발자 μ„±μž₯ 계단 μ˜¬λΌκ°€κΈ°

0개의 λŒ“κΈ€