실무에 바로 적용할 수 있는 웹 제작 꿀팁 및 유용한 자료실 공간입니다.
나눔웹이 제공하는 핵심 노하우와 마케팅 인사이트를 자유롭게 활용해 보십시오.

나눔웹 웹 성능 꿀팁

유튜브 영상 넣었더니 페이지가 느려질 때, iframe 지연 로딩과 썸네일 대체법

유튜브 영상을 페이지에 넣으면 사용자가 재생을 누르지 않아도 플레이어 스크립트와 리소스가 페이지 로딩과 함께 내려옵니다.
영상이 두세 개만 되어도 모바일에서 첫 화면이 눈에 띄게 늦어지는데, iframe 지연 로딩과 썸네일 대체 방식으로 대부분 해결됩니다.

💡 영상 하나가 왜 이렇게 무거울까요?

임베드 코드는 작은 iframe 한 줄이지만, 그 안에서 유튜브 플레이어가 자체 스크립트와 스타일, 썸네일을 따로 불러옵니다. 우리 사이트 파일이 아니라서 압축이나 캐시를 손댈 수도 없습니다. 리뉴얼 진단 때 PageSpeed Insights를 돌려 보면 서드파티 코드 항목 상위에 유튜브가 자주 보입니다.

1. 스크롤 아래쪽 영상은 loading="lazy" 한 줄로

가장 손쉬운 방법은 iframe에 loading="lazy"를 붙이는 것입니다. 화면 근처까지 스크롤해야 영상을 불러오기 때문에, 페이지 하단의 시공 영상이나 후기 영상에는 이것만으로도 효과가 큽니다. 주요 브라우저 최신 버전에서 모두 지원하고, 미지원 브라우저는 평소처럼 불러올 뿐이라 부작용이 없습니다. 영상 자리가 갑자기 생기며 화면이 밀리지 않도록 aspect-ratio로 공간을 먼저 잡아 두세요.

<!-- 아래쪽에 있는 영상: 화면 근처에 올 때 불러오기 -->
<div style="aspect-ratio: 16 / 9;">
  <iframe
    src="https://www.youtube.com/embed/영상ID"
    title="시공 과정 소개 영상"
    loading="lazy"
    style="width: 100%; height: 100%; border: 0;"
    allowfullscreen></iframe>
</div>

2. 영상이 많거나 첫 화면에 있다면 썸네일로 대체

첫 화면에 있는 영상은 lazy를 붙여도 바로 불러오기 때문에 효과가 없습니다. 이때는 처음에 썸네일 이미지와 재생 버튼만 보여 주고, 사용자가 누른 순간에 진짜 iframe으로 바꾸는 방식을 씁니다. 구글 Lighthouse에서도 '퍼사드(facade)'라는 이름으로 권장하는 방법입니다. 썸네일은 유튜브의 i.ytimg.com 주소를 쓰면 되고, 클릭으로 바꾸는 방식이라 autoplay=1을 붙이면 한 번에 재생됩니다.

<!-- HTML: 처음엔 썸네일 버튼만 -->
<button class="yt" data-id="영상ID"
  aria-label="회사 소개 영상 재생">
  <img src="https://i.ytimg.com/vi/영상ID/hqdefault.jpg"
    alt="" loading="lazy">
</button>

/* JS: 누르는 순간 iframe으로 교체 */
document.querySelectorAll('.yt').forEach(function (btn) {
  btn.addEventListener('click', function () {
    var f = document.createElement('iframe');
    f.src = 'https://www.youtube.com/embed/'
      + btn.dataset.id + '?autoplay=1';
    f.allow = 'autoplay; encrypted-media; fullscreen';
    f.style.cssText = 'width:100%;height:100%;border:0';
    btn.replaceWith(f);
  });
});

3. 적용 전에 확인할 점

  • 썸네일 방식은 클릭 전까지 유튜브 조회수가 잡히지 않습니다. 대신 재생 버튼 클릭을 분석 도구 이벤트로 따로 기록해 두면 관심도를 볼 수 있습니다.
  • 게시판 에디터로 영상을 넣는 사이트는 저장된 iframe 코드에 lazy 속성이 빠져 있는 경우가 많으니, 스킨이나 출력 단계에서 일괄로 붙이는 편이 관리하기 쉽습니다.

"영상은 보여 줄 때 불러오면 됩니다. 처음부터 다 실을 필요는 없습니다."

나눔웹은 영상과 외부 위젯이 많은 페이지일수록
불러오는 순서부터 설계해서 첫 화면이 가볍게 뜨도록 만듭니다.


List of Articles
번호 분류 제목 글쓴이
54 웹 성능 홈페이지 로딩 속도를 3배 높이는 '이미지 최적화' 실무 가이드 나눔웹
53 퍼블리싱 CSS 변수로 유지보수와 테마 기능을 한 번에! (CSS Custom Properties) 나눔웹
52 마케팅 카카오톡 링크 썸네일의 비밀! 클릭률을 높이는 '오픈 그래프(OG)' 세팅법 나눔웹
51 모바일 모바일 꽉 찬 화면 하단 짤림 현상! '100vh'의 함정과 완벽 해결법 나눔웹
50 웹 성능 홈페이지 첫 화면 글자 깜빡임(투명 현상) 1초 만에 해결하는 법 나눔웹
49 퍼블리싱 스마트폰에서 로고가 흐리게 보인다고요? 'SVG' 포맷이 정답입니다. 나눔웹
48 웹 성능 클릭 실수 유발하는 '화면 덜컹거림(CLS)', 단 한 줄로 해결하는 법 나눔웹
47 모바일 고객의 이탈을 막는 1초 디테일, '모바일 맞춤형 키보드' 세팅법 나눔웹
46 UI/UX 모바일에서 버튼 누를 때 생기는 촌스러운 '회색 박스' 없애는 법 나눔웹
45 UI/UX 레이아웃을 망치는 긴 글, 예쁘게 '...'으로 자르는 마법의 CSS 나눔웹
44 UI/UX 상단 메뉴에 제목이 가려진다고요? '부드러운 스크롤' 마법의 2줄 나눔웹
43 모바일 아이폰에서 입력창 누를 때 화면 '자동 확대'되는 현상 막는 법 나눔웹
42 퍼블리싱 지저분한 모바일 스크롤바, 기능은 남기고 쏙 숨기는 마법의 CSS 나눔웹
41 모바일 모바일 웹을 진짜 '앱(App)'처럼! 이미지 꾹 누를 때 뜨는 팝업 막기 나눔웹
40 UI/UX 애플(Apple) 사이트처럼 고급스러운 '반투명 유리' 메뉴 만드는 법 나눔웹
39 퍼블리싱 무거운 플러그인 NO! 넷플릭스처럼 쫀득한 '가로 스와이프' CSS로 뚝딱 만들기 나눔웹
38 UI/UX 1%의 디테일이 브랜딩을 완성합니다! '텍스트 드래그 색상' 바꾸기 나눔웹
37 UI/UX 투박한 파란색 체크박스는 그만! 단 1줄로 우리 회사 컬러 입히기 나눔웹
36 모바일 하단 고정 버튼이 아이폰 '검은 줄'에 겹친다면? (Safe Area 대응법) 나눔웹
35 모바일 앗, 실수로 새로고침! 튕기는 모바일 화면 꽉 잡는 법 (Overscroll) 나눔웹
Board Pagination Prev 1 2 3 Next
/ 3
rhwlsghkcocndgus XE2.1.39 STAGE1.5.4