반응형
블로그 INP 문제: 200ms 초과(모바일) 해결 방법 추천 및 가이드
모바일 기기에서 티스토리 블로그의 INP(Interaction to Next Paint)가 200ms를 초과하는 문제를 해결하기 위해 가장 중요한 다섯 가지 최적화 방법을 소개합니다.
1. 이미지 최적화
이미지는 웹 페이지 로딩 속도에 큰 영향을 미칩니다. 다음 방법을 통해 이미지를 최적화하세요:
- 이미지 압축: TinyPNG와 JPEG-Optimizer를 사용하여 이미지 크기를 줄입니다.
- 차세대 이미지 형식 사용: 이미지를 WebP 형식으로 변환합니다.
- 지연 로딩 구현: Lazy loading을 사용하여 이미지를 뷰포트에 들어왔을 때 로드합니다.
<img src="image-placeholder.jpg" data-src="actual-image.jpg" class="lazyload" alt="Description">
2. JavaScript 및 CSS 최소화
JavaScript 및 CSS 파일의 크기를 줄여 로딩 시간을 단축합니다:
- 파일 크기 줄이기: UglifyJS와 CSSNano를 사용하여 JavaScript와 CSS 파일을 최소화합니다.
- 사용되지 않는 코드 제거: PurifyCSS를 사용하여 불필요한 CSS와 JavaScript를 제거합니다.
- JavaScript 지연 로딩: 중요하지 않은 JavaScript 파일에 defer 속성을 사용합니다.
<script src="script.js" defer></script>
3. 폰트 최적화
폰트 로딩 시간을 단축하여 페이지 렌더링 속도를 향상시킵니다:
- 폰트 종류 제한: 필요한 글꼴의 가중치와 스타일만 사용합니다.
- 중요 폰트 미리 로드: 중요 글꼴을 미리 로드합니다.
- Font Display Swap 사용: font-display: swap 속성을 사용하여 텍스트가 보이도록 합니다.
<link rel="preload" href="font.woff2" as="font" type="font/woff2" crossorigin="anonymous">
4. 서버 응답 시간 개선
서버 응답 시간을 줄여 페이지 로딩 속도를 개선합니다:
- 캐싱 활성화: 브라우저 캐싱을 사용하여 재방문 시 로딩 속도를 줄입니다.
- 호스팅 최적화: CDN을 사용하여 콘텐츠 전달 속도를 높입니다.
- 서버 요청 수 줄이기: CSS와 JavaScript 파일을 결합합니다.
5. 성능 모니터링 도구 사용
정기적으로 성능 모니터링 도구를 사용하여 성능을 분석하고 최적화합니다:
- Google PageSpeed Insights: 사이트를 분석하고 구체적인 권장 사항을 제공합니다.
- Lighthouse: Chrome의 Lighthouse 도구를 사용하여 종합적인 감사와 제안을 받습니다.
- WebPageTest: 사이트의 성능을 테스트하고 병목 현상을 식별합니다.
반응형