๊ฐœ๋…์ •๋ฆฌ/WEB

Lighthouse์™€ ์ตœ์ ํ™”

imKion 2022. 10. 7. 17:03

๐Ÿ“LightHouse๋ž€?


LightHouse๋Š” ์›นํŽ˜์ด์ง€์˜ ์„ฑ๋Šฅ์„ ์ธก์ •ํ•ด์ฃผ๊ณ  ๊ฐœ์„ ์ฑ…์„ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ž๋™ํ™” ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” Lighthouse์˜ ๊ฒ€์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์›นํŽ˜์ด์ง€์˜ ํ’ˆ์งˆ์„ ๊ฐœ์„  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Lighthouse๋Š” Chrome DevTools๋ถ€ํ„ฐ CLI, ๋…ธ๋“œ ๋ชจ๋“ˆ ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒ€์‚ฌํ•  ํŽ˜์ด์ง€์˜ url์„ Lighthouse์— ์ „๋‹ฌํ•˜๋ฉด Lighthouse๋Š” ํ•ด๋‹น ํŽ˜์ด์ง€์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Lighthouse ์‚ฌ์šฉ


2020๋…„ 5์›” 19์ผ Lighthouse ๋ฒ„์ „ 6.0 ๋ฐฐํฌ ์ดํ›„ Chrome ๊ฐœ๋ฐœ์ž ๋„๊ตฌ์—์„œ Lighthouse๊ฐ€ ๋“ค์–ด์™”์Šต๋‹ˆ๋‹ค.

  1. ๊ฒ€์‚ฌํ•˜๊ณ  ์‹ถ์€ ํŽ˜์ด์ง€์—์„œ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.
  2. Lighthouse ํƒญ์œผ๋กœ ๋“ค์–ด์˜ต๋‹ˆ๋‹ค.
  3. Analyze page load ๋ฅผ ํด๋ฆญํ•ด์„œ ๊ฒ€์‚ฌ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

4. ๊ฒ€์‚ฌ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฆฌํฌํŠธ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Lighthouse ๋ถ„์„ ๊ฒฐ๊ณผ ํ•ญ๋ชฉ


1. Performance

ํ™”๋ฉด์— ์ฝ˜ํ…์ธ ๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋นจ๋ฆฌ ํ‘œ์‹œ๋˜๊ณ  ์‚ฌ์šฉ์ž๋Š” ์–ผ๋งˆ๋‚˜ ๋น ๋ฅด๊ฒŒ ์œ ์ €์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š”์ง€์— ์ดˆ์ ์„ ๋งž์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์„ธ๋ถ€ ํ•ญ๋ณต๋งˆ๋‹ค ๊ฐ€์ค‘์น˜๊ฐ€ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.

Lighthouse 8 ๊ฐ์‚ฌ ๊ฐ€์ค‘์น˜

์ตœ์ดˆ ์ฝ˜ํ…์ธ ๊ฐ€ ํฌํ•จ๋œ ํŽ˜์ธํŠธ 10%
์†๋„ ์ง€์ˆ˜ 10%
๊ฐ€์žฅ ํฐ ์ฝ˜ํ…์ธ ๊ฐ€ ํฌํ•จ๋œ ํŽ˜์ธํŠธ 25%
์ƒํ˜ธ ์ž‘์šฉ๊นŒ์ง€์˜ ์‹œ๊ฐ„ 10%
์ด ์ฐจ๋‹จ ์‹œ๊ฐ„ 30%
๋ˆ„์  ๋ ˆ์ด์•„์›ƒ ์ด๋™ 15%

2. Accessibility

Accessibility ํ•ญ๋ชฉ์—์„œ๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ์›น ์ ‘๊ทผ์„ฑ์„ ์ž˜ ๊ฐ–์ถ”๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. <img> ํƒœ๊ทธ์— alt ๋Œ€์ฒด ํ…์ŠคํŠธ ์†์„ฑ์ด ์žˆ๋Š”์ง€, ๋ฐฐ๊ฒฝ์ƒ‰๊ณผ ์ฝ˜ํ…์ธ  ์ƒ‰์ƒ์˜ ๋Œ€๋น„๊ฐ€ ์ถฉ๋ถ„ํ•œ์ง€, ์ ์ ˆํ•œ WAI-ARIA ์†์„ฑ์„ ์‚ฌ์šฉํ–ˆ๋Š”์ง€ ๋“ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

3. Best Practices

Best Practices ํ•ญ๋ชฉ์—์„œ๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ์›น ํ‘œ์ค€ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ž˜ ๋”ฐ๋ฅด๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋”๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” API๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  ์žˆ์ง€ ์•Š์€์ง€, HTTPS ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•˜๋Š”์ง€, ์ฝ˜์†” ์ฐฝ์— ์˜ค๋ฅ˜๊ฐ€ ํ‘œ์‹œ ๋˜์ง€๋Š” ์•Š๋Š”์ง€ ๋“ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

4. SEO (Search Engine Optimization)

SEO ํ•ญ๋ชฉ์—์„œ๋Š” ์›น ํŽ˜์ด์ง€๊ฐ€ ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”๊ฐ€ ์ž˜ ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ robots.txt๊ฐ€ ์œ ํšจํ•œ์ง€, <meta> ์š”์†Œ๋Š” ์ž˜ ์ž‘์„ฑ๋˜์–ด ์žˆ๋Š”์ง€, ํ…์ŠคํŠธ ํฌ๊ธฐ๊ฐ€ ์ฝ๊ธฐ์— ๋ฌด๋ฆฌ๊ฐ€ ์—†๋Š”์ง€ ๋“ฑ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

5. PWA (Progressive Web App)

Progressive Web App์„ ์ •์˜ํ•˜๋Š” ์ผ๋ จ์˜ ๊ธฐ์ค€์— ๋”ฐ๋ผ ์›น ํŽ˜์ด์ง€๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒ€์‚ฌ๋Š” ํ•ด๋‹น ์›น ํŽ˜์ด์ง€๊ฐ€ ํ•ญ๋ชฉ์„ ๋”ฐ๋ฅด๊ณ  ์žˆ๋Š”์ง€ ์ธก์ •ํ•˜์—ฌ ์ ์ˆ˜๋ฅผ ๋ถ€์—ฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์›น์ด HTTP๋ฅผ HTTPS๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ํ•˜๋Š”์ง€, ์‘๋‹ต ์ฝ”๋“œ๋Š” ๋ช…ํ™•ํ•œ์ง€, 3G ๋„คํŠธ์›Œํฌ์—์„œ๋„ ๋กœ๋”ฉ์ด ๋น ๋ฅด๊ฒŒ ์ด๋ฃจ์–ด์ง€๋Š” ์ง€์™€ ๊ฐ™์€ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ํ•ฉ๊ฒฉ ๋˜๋Š” ์‹คํŒจ๋ฅผ ํŒ๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ“Opportunities


Lighthouse๋Š” ์„ฑ๋Šฅ์„ ์ธก์ •ํ•  ๋ฟ ์•„๋‹ˆ๋ผ ๋ฌด์—‡์ด ์‹œ๊ฐ„์„ ๋งŽ์ด ์†Œ๋ชจํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ๊ฐœ์„ ํ•˜์—ฌ ์ตœ์ ํ™”๋ฅผ ํ•  ์ˆ˜ ์žˆ์„์ง€ ํ•ด๊ฒฐ์ฑ…๋„ ์ œ์‹œํ•ด์ค๋‹ˆ๋‹ค. Opportunities(์ถ”์ฒœ) ํ•ญ๋ชฉ์„ ํ™•์ธํ•˜๋ฉด ๊ฐ ๋ฉ”ํŠธ๋ฆญ๋ณ„ ๋ฌธ์ œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜์ ์œผ๋กœ, ๊ธฐํšŒ ๋˜๋Š” ์ง„๋‹จ ๊ฒฐ๊ณผ๊ฐ€ ์•„๋‹Œ ๋ฉ”ํŠธ๋ฆญ๋งŒ Lighthouse ์„ฑ๋Šฅ ์ ์ˆ˜์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ๊ธฐํšŒ์™€ ์ง„๋‹จ์„ ๊ฐœ์„ ํ•˜๋ฉด ๋ฉ”ํŠธ๋ฆญ ๊ฐ’์ด ๊ฐœ์„ ๋  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์œผ๋ฏ€๋กœ ๊ฐ„์ ‘์ ์ธ ๊ด€๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”์ฒœ ํ•ญ๋ชฉ๋“ค์˜ ์˜ค๋ฅธ์ชฝ ํ™”์‚ดํ‘œ๋ฅผ ํด๋ฆญํ•ด ์—ด์–ด๋ณด๋ฉด ๊ฐ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ํ•จ๊ป˜ ๊ฐœ์„ ํ•ด์•ผ ํ•  ์„ธ๋ถ€ ๋‚ด์šฉ๋“ค๊ณผ ์ „์†ก ํฌ๊ธฐ, ์ ˆ๊ฐ ๊ฐ€๋Šฅํ•œ ํšจ๊ณผ๊นŒ์ง€ ํ™•์ธํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Opportunities ํ•ญ๋ชฉ

์ฐจ์„ธ๋Œ€ ํ˜•์‹์„ ์‚ฌ์šฉํ•ด ์ด๋ฏธ์ง€ ์ œ๊ณตํ•˜๊ธฐ

WebP ๋ฐ AVIF์™€ ๊ฐ™์€ ์ด๋ฏธ์ง€ ํ˜•์‹์€ PNG๋‚˜ JPEG๋ณด๋‹ค ์••์ถ•๋ฅ ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์šด๋กœ๋“œ๊ฐ€ ๋น ๋ฅด๊ณ  ๋ฐ์ดํ„ฐ ์†Œ๋น„๋Ÿ‰๋„ ์ ์Šต๋‹ˆ๋‹ค.

์• ๋‹ˆ๋ฉ”์ด์…˜ ์ฝ˜ํ…์ธ ์— ๋™์˜์ƒ ํ˜•์‹ ์‚ฌ์šฉํ•˜๊ธฐ

๋Œ€์šฉ๋Ÿ‰์˜ GIF๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ฝ˜ํ…์ธ ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐ ๋น„ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค. ์• ๋‹ˆ๋ฉ”์ด์…˜์—๋Š” MPEG4/WebM ๋™์˜์ƒ์„, ์ •์ ์ธ ์ด๋ฏธ์ง€์—๋Š” GIF ๋Œ€์‹  PNG/WebP๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋„คํŠธ์›Œํฌ ๋ฐ”์ดํŠธ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํšจ์œจ์ ์œผ๋กœ ์ด๋ฏธ์ง€ ์ธ์ฝ”๋”ฉํ•˜๊ธฐ

Lighthouse ๋ณด๊ณ ์„œ์˜ ๊ธฐํšŒ ์„น์…˜์—๋Š” kibibytes(KiB)๋กœ ์ž ์žฌ์  ์ ˆ๊ฐ ํšจ๊ณผ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ตœ์ ํ™”๋˜์ง€ ์•Š์€ ๋ชจ๋“  ์ด๋ฏธ์ง€๊ฐ€ ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๊ฐ€ ๋” ๋นจ๋ฆฌ ๋กœ๋“œ๋˜๊ณ  ๋” ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ์†Œ๋น„ํ•˜๋„๋ก ์ด๋Ÿฌํ•œ ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ž ์žฌ์ ์ธ ์ ˆ๊ฐ ํšจ๊ณผ๊ฐ€ 4KiB ์ด์ƒ์ธ ๊ฒฝ์šฐ Lighthouse๋Š” ์ด๋ฏธ์ง€๋ฅผ ์ตœ์ ํ™” ๊ฐ€๋Šฅํ•œ ๊ฒƒ์œผ๋กœ ํ”Œ๋ž˜๊ทธ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ Œ๋”๋ง ์ฐจ๋‹จ ๋ฆฌ์†Œ์Šค ์ œ๊ฑฐํ•˜๊ธฐ

ํŽ˜์ด์ง€์˜ ์ฒซ ๋ฒˆ์งธ ํŽ˜์ธํŠธ๋ฅผ ์ฐจ๋‹จํ•˜๋Š” ๋ชจ๋“  URL์ด ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ธ๋ผ์ธํ•˜๊ณ , ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์—ฐ๊ธฐํ•˜๊ณ , ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์€ ์ œ๊ฑฐํ•ด์„œ ์ด๋Ÿฌํ•œ ๋ Œ๋”๋ง ์ฐจ๋‹จ URL์˜ ์˜ํ–ฅ์„ ์ค„์ด๋Š”๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ค„์ด๊ธฐ

JavaScript ํŒŒ์ผ์„ ์ถ•์†Œํ•˜๋ฉด ํŽ˜์ด๋กœ๋“œ ํฌ๊ธฐ์™€ ํŽ˜์ด์ง€๋ฅผ ๋กœ๋“œํ•˜๋Š” ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Lighthouse๋Š” ์ถ•์†Œ๋˜์ง€ ์•Š์€ ๋ชจ๋“  JavaScript ํŒŒ์ผ์„ ๋ณด์—ฌ์ฃผ๊ณ  ํŒŒ์ผ์„ ์ถ•์†Œํ•  ๋•Œ ์ž ์žฌ์ ์œผ๋กœ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ํ‚ค๋น„๋ฐ”์ดํŠธ( KIB )๋ฅผ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.

์œ„์— ํ•ญ๋ชฉ๋“ค ์™ธ์—๋„ ํ†ต๊ณผํ•œ ๊ฐ์‚ฌ๋ฅผ ๋ณด๋ฉด Lighthouse๊ฐ€ ๊ฒ€์‚ฌํ•˜๋Š” ๋งŽ์€ ํ•ญ๋ณต๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ“Counclusion

Chrome ๊ฐœ๋ฐœ์ž ๋„๊ตฌ ๊ตฌ์„์— ์ˆจ์–ด์žˆ์–ด์„œ ๋“ค์–ด๊ฐ€๋ณธ์ ๋„ ์—†์—ˆ๋Š”๋ฐ ๊ต‰์žฅํžˆ ์œ ์šฉํ•œ ๋„๊ตฌ์˜€๋‹ค. ๋ถ„์„ ํ•ญ๋ชฉ์ด ์„ธ์„ธํ•˜๊ณ  ์›์ธ๊ณผ ์ˆ˜์ • ๋ฐฉ์•ˆ๊นŒ์ง€ ์ œ์‹œํ•ด์ค˜์„œ ๊ฝค ์นœ์ ˆํ•˜๊ฒŒ ๋А๊ปด์กŒ๋‹ค.

ํ”„๋กœ์ ํŠธ์— ๋“ค์–ด๊ฐ€๋ฉด ๊ฒฐ๊ณผ๋Š” ์ฒ˜์ฐธํ•˜๋”๋ผ๋„ ์ž์ฃผ ๊ฒ€์‚ฌํ•˜๋ฉด์„œ ์นœํ•ด์ ธ๋ณด๊ณ ์‹ถ๋‹ค.