๐ฆ lighthouse
๐ LightHouse๋ ..?
Google Chrome์์ ์ ๊ณตํ๋, ์น์ฑ์ ํ์ง ๊ฐ์ ์ ๋์์ ์ฃผ๋ ์๋ํ ๋๊ตฌ ์ ๋๋ค. ์ฑ๋ฅ, ์ ๊ทผ์ฑ, SEO ๋ฑ ์ฌ์ดํธ์ ๋ํ ์ ๋ฐ์ ์ธ ์ง๋จ์ ํ ์ ์์ต๋๋ค.
๐ Lighthouse์ ์ด๋ค ์ ๋ณด๊ฐ ์๋๋ฐ?
Lighthouse๋ ์น ํ์ด์ง ์ฑ๋ฅ์ ์ธก์ ํ์ฌ 5๊ฐ์ง ํญ๋ชฉ์ ๋ํ ์ ์๋ฅผ ๋ณด์ฌ์ค๋ค
1๏ธโฃ performance
์ฑ๋ฅ๊ณผ ๊ด๋ จ๋ ์ด์
2๏ธโฃ accessibility
์น์ ์ ๊ทผ์ฑ ์ ํ๊ฐํ๋ ์งํ
์๊ฐ ์ฅ์ ์ธ๋ค๋ ์ด๋ฏธ์ง์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์๊ฒ
<img>ํ๊ทธ์alt์์ฑ์ด ์๋์ง, ๋ฐฐ๊ฒฝ์๊ณผ ํ ์คํธ์ ๋๋น๊ฐ ์ถฉ๋ถํ์ง์ ๊ฐ์ ํญ๋ชฉ์ ํ์ธ
3๏ธโฃ best practices
์น์ ๋ํ ํ์ค ๋ชจ๋ฒ ์ฌ๋ก ๋ฅผ ๋ฐ๋ฅด๊ณ ์๋์ง ํ๊ฐํ๋ ์งํ
์ฝ์์ ์ค๋ฅ๊ฐ ์ถ๋ ฅ๋์ง ์๋์ง, ์ฌ์ฉํ์ง ์๋ API๋ฅผ ํธ์ถํ๊ณ ์์ง๋ ์๋์ง, HTTPS๋ฅผ ํตํด ํ์ด์ง์ ์ ๊ทผํ ์ ์๋์ง ๋ฑ์ ํ์ธ
4๏ธโฃ seo
๊ฒ์ ์์ง์ ๋ํด ์ต์ ํ๋ ์์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ํ๊ฐํ๋ ์งํ
meta ์์๊ฐ ์ ์์ฑ๋์ด ์๋์ง, robots.txt ํ์ผ์ด ์ ํจํ์ง, ์ปจํ ์ธ ๋ฅผ ์ฝ๋๋ฐ ๊ธ๊ผด ํฌ๊ธฐ๊ฐ ๋ฌด๋ฆฌ๊ฐ ์๋์ง ๋ฑ์ ๊ณ ๋ ค
5๏ธโฃ pwa (Progressive Web App)
PWA์์ ์ ์ํ๋ ๊ธฐ์ค์ ๋ฐ๋ผ ํ๊ฐํ๋ ์งํ
์น์ PWA๋ก ์ด์ฉํ๋๋ฐ ๋ฌธ์ ๊ฐ ์๋์ง์ ๋ํ ์์๋ฅผ ํ๊ฐํ๊ณ ๊ฒฐ๊ณผ๋ ํฉ๊ฒฉ ๋๋ ์คํจ๋ก ๋๋จ.
๐ ์ฑ๋ฅ์ธก์ ์ ์ด๋ป๊ฒ ํ๋๋ฐ?
์ฑ๋ฅ ์ ์๋ 6๊ฐ์ง ์ ์๋ค์ ๊ฐ์ค ํ๊ท ๊ฐ์ผ๋ก ๊ณ์ฐ๋๋ค.
1๏ธโฃ LCP(Largest Contentful Paint) - 25%
๊ฐ์ฅ ํฐ ์ฝํ ์ธ ๋ฅผ ๋ ๋๋ง ํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ
๋ณดํต ์ค์ํ ์ฝํ ์ธ ์ผ์๋ก ํฌ๊ธฐ๊ฐ ํฌ๊ธฐ ๋๋ฌธ์, Lighthouse๋ LCP ์ ์์ ๊ฐ์ฅ ๋์ ๊ฐ์ค์น์ธ 25%๋ฅผ ์ฃผ์ด ๊ณ์ฐํ๋ค.
โ LCP๋ก ๊ฐ์ฃผ๋๋ ์์
<img>ย ์์<svg>ย ์์ ์๋ย<image>ย ์์<video>ย ์์background-image ์์ฑ์ url()๋ก ๋ก๋๋๋ ์์
block ๋ ๋ฒจ ์์ (elements containing text nodes or other inline-level text elements children)
โ LCP์ ํฌ๊ธฐ๋ก ๊ฐ์ฃผ๋๋ ค๋ฉด
์ผ๋ฐ์ ์ผ๋ก ๋ทฐํฌํธ(viewport) ๋ด์์ ์ฌ์ฉ์์๊ฒ ํ์๋๋ ์์ ์ค ๊ฐ์ฅ ํฌ๊ธฐ๊ฐ ํฐ ์์๋ก ๊ฒฐ์ ๋จ
2๏ธโฃ TBT(Total Blocking Time) - 30%
๋ง์ฐ์ค ํด๋ฆญ ๋ฑย
์ฌ์ฉ์ ์ ๋ ฅ์ ํ์ด์ง๊ฐ ์๋ตํ์ง ๋ชปํ๋๋ก ์ฐจ๋จ๋ย ์ด ์๊ฐFCP์ TTI ์ฌ์ด์ ๊ธด ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์์ ๋ค์ ๋ชจ๋ ๊ธฐ๋กํ์ฌ ์ธก์
3๏ธโฃ CLS(Cumulative Layout Shift) - 15%
์ฌ์ฉ์๊ฐ ์์์น ๋ชปํ ๋ ์ด์์ ์ด๋์ ๊ฒฝํํ๋ ๊ฒ์ ๋ํ ์ ์
๋ ์ด์์ ๋ถ์์ ์ด ์ฌ์ฉ์์๊ฒ ๋ฏธ์น๋ ๋ถ์ ์ ์ธ ์ํฅ์ ๋ํด ๊ฒ์ฌํด ๋ณผ ์ ์์
ex) ๋ก๋ฉ ํ ํฐํธ ํฌ๊ธฐ ๋ณ๊ฒฝ ๋ฑ
4๏ธโฃ TTI(Time to interactive) - 10%
โข ์ฌ์ฉ์๊ฐ ํ์ด์ง์ ์์ ํ๊ฒ ์ํธ์์ฉํ ์ ์์ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
5๏ธโฃ FCP(First Contentful Paint) - 10%
์ด๊ธฐ DOM ์ฝํ ์ธ ๋ฅผ ๋ ๋๋งํ๋๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์ธก์
์ฒซ๋ฒ์งธ ํ ์คํธ ๋๋ ์ด๋ฏธ์ง๊ฐ ํ์๋๋ ์๊ฐ์ ๊ฐ๋ฆฌํด
FCP ์ธก์ ์์ ์ ์์์ ์ผ๋ก ํ๋ ๋ค๋ฅธ Metric๋ค์ด ์๊ธฐ ๋๋ฌธ์, ๊ฐ์ฅ ๋จผ์ ์ฐํ๋ FCP๋ ๋ค๋ฅธ ํญ๋ชฉ๋ค์ ์ ์ ๋ฐ ์ ์ฒด ์ ์์ ํฐ ์ํฅ์ ์ค ์ ์์
6๏ธโฃ Speed Index - 10%
์ฝํ ์ธ ๊ฐ ์๊ฐ์ ์ผ๋ก ํ์๋๋ ์งํ ์๋๋ฅผ ์ธก์
+) FID ( First Input Delay )
์ฌ์ฉ์๊ฐ ์ํธ ์์ฉ์ ์ฒ์์ผ๋ก ์์ํ๊ณ ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ตํ์ฌ ์ค์ ๋ก ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์ฒ๋ฆฌํ๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ์ ์๋ฏธ
ํ์ด์ง ์๋ต ์ฑ๋ฅ์ ์ธก์ ํ๋ ํญ๋ชฉ
์ต์ด ์ ๋ ฅ์ผ๋ก ํ๊ฐ ๋๋ ๊ฒ์ผ๋ก๋ ํด๋ฆญ, ์ ๋ ฅ์ด ์์
๐ LightHouse ์ฌ์ฉ๋ฒ
Lighthouse ํฌ๋กฌ extension ์ค์นํ๊ธฐ

๊ฐ๋ฐ์ ๋๊ตฌ ์ผ์ lighthouse ํญ์ผ๋ก ์ด๋ ํ ๊ฒ์ฌ

https://blog.soomgo.com/blog/website-benchmark-with-lighthouse/
https://developer.chrome.com/docs/lighthouse/overview?hl=ko
https://developer.chrome.com/docs/lighthouse/performance/performance-scoring?hl=ko
