피드로 돌아가기
Dev.toFrontend
원문 읽기
Liquid 렌더링 최적화로 LCP 최대 22s에서 2.7s로 단축
Shopify Speed Optimization with Liquid Code (5 Patterns)
AI 요약
Context
Shopify 테마의 렌더링 시간 중 40-60%가 템플릿 레이어의 비효율적 코드 패턴으로 인해 발생함. 특히 App 의존도에 가려진 Liquid 루프의 과도한 할당과 중첩 구조가 심각한 성능 병목으로 작용함.
Technical Solution
- Loop 내 Capture 제거를 통한 불필요한 String Allocation 억제 및 Direct Output 구조 전환
- Limit와 Break 키워드 적용 및 Featured Image 활용을 통한 Nested Loop의 Iteration 횟수 최소화
- image_tag 도입을 통한 srcset 및 Dimensions 정의로 LCP 최적화 및 Layout Shift 방지
- Critical Path에 위치한 Hero Image와 Font에 대해 Preload 전략을 적용하여 렌더링 차단 요소 제거
- Section Rendering API 기반의 Partial Update 구현으로 Full Page Reload를 대체하여 응답 페이로드 크기 감소
실천 포인트
- Loop 내부에서 capture 태그를 사용하여 변수를 할당하고 있는지 확인 - 3중 이상의 Nested Loop 존재 시 limit 속성이나 break 조건 적용 검토 - LCP 요소(Hero Image)에 lazy loading이 적용되어 성능을 저하시키고 있는지 점검 - 페이지 전체 갱신 대신 Section Rendering API를 통한 Partial HTML Fetching 도입 고려