초급GoogleNaver
이미지 SEO: alt 텍스트·WebP·Lazy Loading 완전 가이드
핵심 요약 (TL;DR)
이미지 alt 텍스트 작성법, WebP 포맷 전환, 지연 로딩(Lazy Loading), 파일명 최적화, 이미지 사이트맵까지 이미지 SEO 전반을 다룹니다.
이미지 SEO가 중요한 이유
이미지는 웹페이지에서 가장 무거운 리소스 중 하나이면서, 동시에 거대한 트래픽 소스입니다. HTTP Archive에 따르면 평균 웹페이지 전체 용량의 약 50%를 이미지가 차지합니다. 최적화되지 않은 이미지는 SEO에서 두 가지 문제를 동시에 야기합니다.
| 문제 | 영향 | 관련 지표 |
|---|---|---|
| 1. 페이지 속도 저하 | Core Web Vitals(LCP, CLS)에 직접 영향. Google의 공식 랭킹 팩터 | LCP, CLS, FCP |
| 2. 이미지 검색 기회 손실 | Google 이미지 검색은 전체 검색의 약 20%를 차지하는 대형 트래픽 소스. alt 텍스트가 없으면 이 트래픽을 놓침 | Google Images CTR |
| 3. 접근성 법적 리스크 | alt 텍스트 미작성은 WCAG 접근성 기준 위반. 일부 국가에서 법적 조치 대상 | WCAG 2.1 Level A |
70%+LCP에 이미지 비율대부분 페이지에서 이미지가 LCP 요소
25~34%WebP vs JPG 절감Google WebP 공식 문서 기준
~20%Google 이미지 검색 비율전체 Google 검색 트래픽 중
alt 텍스트 완벽하게 작성하기
alt 텍스트(대체 텍스트)는 이미지를 텍스트로 설명하는 HTML 속성입니다. 이미지를 볼 수 없는 사용자(스크린 리더)와 검색엔진 봇 모두를 위한 필수 요소입니다. 또한, 이미지가 링크로 사용될 때 alt 텍스트는 앵커 텍스트 역할을 합니다.
상황별 alt 텍스트 작성법
| 상황 | alt 작성법 | 예시 |
|---|---|---|
| 콘텐츠 이미지 | 이미지 내용을 간결하게 묘사. 키워드 자연스럽게 포함 | alt="2025년 구글 검색 결과 페이지 순위별 CTR 비율 차트" |
| 장식용 이미지 | 비워두기 (alt=""). 스크린 리더가 건너뜀 | 배경 패턴, 구분선, 순수 장식 아이콘 |
| 링크 이미지 | 링크의 목적지·기능을 설명 | alt="홈페이지로 이동" |
| 텍스트 포함 이미지 | 이미지 내 텍스트 전체를 alt에 포함 | alt="SEO 체크리스트: Title 태그, Meta Description, H1 확인" |
| 제품 이미지 (이커머스) | 제품명 + 색상 + 주요 특징 | alt="삼성 갤럭시 S25 울트라 티타늄 그레이 정면 사진" |
| 차트/그래프 | 차트의 핵심 데이터 포인트 요약 | alt="구글 오가닉 검색 1위 CTR 31.7%, 2위 24.7%, 3위 18.6% 막대 그래프" |
alt 텍스트 작성 규칙
- 125자 이내로 작성 (스크린 리더가 125자에서 끊는 경우 있음)
- "이미지 of", "사진 of"로 시작하지 않기 - 스크린 리더가 이미 "이미지"라고 안내함
- 키워드 스터핑 금지 - "SEO SEO 최적화 SEO 가이드" 식으로 같은 키워드 반복하지 않기
- 각 이미지마다 고유하게 작성 - 모든 이미지에 동일한 alt 텍스트는 금지
- 맥락에 맞게 작성 - 같은 이미지라도 사용 맥락에 따라 alt가 달라야 함
이미지 포맷 최적화: WebP, AVIF, 그리고 선택 기준
올바른 이미지 포맷을 선택하면 파일 크기를 대폭 줄이면서도 시각적 품질을 유지할 수 있습니다.
| 포맷 | 압축률 (JPG 대비) | 투명도 | 애니메이션 | 브라우저 지원 | 권장 사용처 |
|---|---|---|---|---|---|
| WebP | 25~34% 절감 | ✅ | ✅ | 97%+ (IE 제외) | 일반 사진, 배경, 대부분의 웹 이미지 |
| AVIF | 50%+ 절감 | ✅ | ✅ | 92%+ | 최신 브라우저 타겟, 대용량 사진 |
| JPG/JPEG | 기준 | ❌ | ❌ | 100% | WebP/AVIF 미지원 대비 fallback |
| PNG | JPG보다 큼 | ✅ | ❌ | 100% | 아이콘, 스크린샷, 선명한 경계선 필요 시 |
| SVG | 벡터 (무한 확대) | ✅ | ✅ (CSS) | 100% | 로고, 아이콘, 일러스트, 단순 그래픽 |
| GIF | 매우 큼 | ✅ (1비트) | ✅ | 100% | 단순 애니메이션 (WebP 애니메이션으로 대체 권장) |
최적 포맷 선택 플로우
이미지 유형 판단
├── 벡터 그래픽 (로고, 아이콘) → SVG
├── 애니메이션 → WebP 애니메이션 (또는 동영상)
└── 래스터 이미지 (사진, 스크린샷)
├── 투명도 필요 → WebP / PNG (fallback)
└── 투명도 불필요
├── AVIF 지원 가능 → AVIF (최소 용량)
└── 범용 지원 → WebP > JPG (fallback)
<picture> 태그로 포맷별 fallback 제공
<picture>
<source srcset="image.avif" type="image/avif">
<source srcset="image.webp" type="image/webp">
<img src="image.jpg" alt="SEO 전략 다이어그램" width="800" height="450">
</picture>
브라우저가 지원하는 가장 효율적인 포맷을 자동으로 선택합니다.
Lazy Loading과 이미지 로딩 최적화
Lazy Loading (지연 로딩)
스크롤해야만 보이는 이미지는 처음부터 로드할 필요가 없습니다. Lazy Loading을 사용하면 초기 페이지 로드를 크게 단축시키고, LCP 점수를 개선합니다.
<!-- 스크롤 아래 이미지: Lazy Loading -->
<img src="photo.webp" alt="SEO 가이드 이미지"
loading="lazy" width="800" height="450" />
<!-- LCP 요소(상단 첫 이미지): 즉시 로드 -->
<img src="hero.webp" alt="메인 배너"
loading="eager" fetchpriority="high" width="1200" height="600" />
이미지 로딩 최적화 핵심 규칙
| 규칙 | 설명 | 영향 지표 |
|---|---|---|
| LCP 이미지에 fetchpriority="high" | 히어로 이미지(첫 화면 대형 이미지)는 최우선 로드 | LCP 0.2~0.5초 개선 |
| 뷰포트 아래 이미지에 loading="lazy" | 사용자가 스크롤할 때 로드 | 초기 로드 시간 단축 |
| width·height 속성 필수 | 브라우저가 이미지 공간을 미리 확보하여 레이아웃 변경 방지 | CLS 개선 |
| CSS aspect-ratio 활용 | 반응형 이미지에서 비율 유지 | CLS 개선 |
| srcset + sizes로 반응형 제공 | 화면 크기에 맞는 이미지만 다운로드 | 모바일 데이터 절약, 로딩 속도 |
| CDN(Content Delivery Network) 사용 | 전 세계 가까운 서버에서 이미지 전송 | TTFB, LCP 개선 |
반응형 이미지(srcset) 예시
<img src="seo-guide-800.webp"
srcset="seo-guide-400.webp 400w,
seo-guide-800.webp 800w,
seo-guide-1200.webp 1200w"
sizes="(max-width: 600px) 400px,
(max-width: 1024px) 800px,
1200px"
alt="SEO 가이드 인포그래픽"
loading="lazy" width="1200" height="675" />
이미지 파일명과 이미지 사이트맵
이미지 파일명 최적화
Google은 이미지 파일명을 이미지 내용 이해의 추가 신호로 사용합니다.
| 유형 | 파일명 | 평가 |
|---|---|---|
| ❌ 카메라 기본값 | IMG_20250101_001.jpg | 아무 의미 없음, SEO 가치 0 |
| ❌ 숫자 ID | photo-12345.png | 내용을 유추할 수 없음 |
| ❌ 한국어/공백 포함 | 키워드 리서치 가이드.jpg | URL 인코딩으로 깨짐 |
| ✅ 설명적 영문 | seo-keyword-research-guide-2025.webp | 키워드 포함, 하이픈 구분, 영문 소문자 |
이미지 사이트맵
이미지 사이트맵은 Google에 이미지의 존재와 위치를 알려주는 별도의 사이트맵입니다. 특히 JavaScript로 로드되는 이미지, CSS 배경 이미지 등 크롤러가 발견하기 어려운 이미지에 효과적입니다.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
<url>
<loc>https://example.com/seo-guide</loc>
<image:image>
<image:loc>https://example.com/images/seo-infographic.webp</image:loc>
<image:title>SEO 프로세스 인포그래픽</image:title>
</image:image>
</url>
</urlset>
Next.js / 프레임워크 환경의 이미지 최적화
현대 프레임워크에서는 이미지 최적화가 빌트인으로 제공됩니다.
| 프레임워크 | 방법 | 자동 처리 항목 |
|---|---|---|
| Next.js | <Image> 컴포넌트 (next/image) | WebP/AVIF 자동 변환, Lazy Loading, 반응형 srcset, width/height 자동 계산 |
| Nuxt | <NuxtImg> 컴포넌트 (@nuxt/image) | IPX 기반 최적화, Lazy Loading, 포맷 변환 |
| WordPress | 코어 5.8+ 기본 Lazy Loading | loading="lazy" 자동 추가, WebP 변환은 플러그인(ShortPixel, Imagify) 필요 |
| 정적 사이트 | 빌드 시 변환 (Sharp, Squoosh) | CLI로 일괄 변환 후 배포 |
Next.js Image 컴포넌트 예시
import Image from 'next/image';
// LCP 이미지: priority=true (fetchpriority="high" 자동)
<Image
src="/hero-banner.jpg"
alt="SEO 완전 가이드 히어로 이미지"
width={1200}
height={600}
priority
/>
// 일반 이미지: 자동 Lazy Loading
<Image
src="/chart.png"
alt="오가닉 트래픽 성장 차트"
width={800}
height={450}
/>
실습 체크리스트: 이미지 SEO 점검
자주 묻는 질문 (FAQ)
Q. alt 텍스트에 키워드를 넣으면 키워드 스터핑이 되나요?
키워드를 자연스럽게 1~2개 포함하는 것은 권장됩니다. Google도 "alt 텍스트에 적절한 키워드를 사용하세요"라고 공식 가이드에서 안내합니다. 문제가 되는 것은 "SEO SEO 최적화 SEO 가이드 SEO 도구"처럼 같은 키워드를 반복하는 키워드 스터핑입니다. 핵심 규칙: 이미지 내용을 정확히 묘사하되, 해당 이미지와 관련된 키워드를 자연스럽게 포함하세요.
Q. WebP로 모든 이미지를 바꿔야 하나요?
가능하다면 WebP 사용을 강력히 권장합니다. JPG 대비 25~34% 용량 절감이 가능하며, 브라우저 지원율이 97% 이상입니다. 단, IE를 지원해야 하는 레거시 환경에서는
<picture> 태그로 JPG fallback을 제공하세요. AVIF는 더 높은 압축률을 제공하지만 인코딩 속도가 느리므로, 빌드 시 미리 변환하는 방식이 적합합니다.Q. LCP 이미지에 Lazy Loading을 걸면 안 되는 이유는?
LCP(Largest Contentful Paint)는 사용자가 처음 보는 가장 큰 콘텐츠의 로딩 시간을 측정합니다. LCP 이미지에
loading="lazy"를 걸면 브라우저가 해당 이미지 로딩을 지연시켜 LCP 점수가 크게 악화됩니다. 반드시 loading="eager"(기본값)과 fetchpriority="high"를 설정하여 최우선으로 로드하세요.Q. 이미지 사이트맵은 반드시 필요한가요?
대부분의 사이트에서는 필수는 아닙니다. Google은 일반 HTML
<img> 태그의 이미지를 자동으로 크롤링합니다. 하지만 다음 경우에는 이미지 사이트맵이 효과적입니다: (1) JavaScript로 동적 로드되는 이미지, (2) CSS background-image로만 표시되는 이미지, (3) 이미지가 수만 개인 이커머스 사이트. 이 경우 크롤러가 놓칠 수 있는 이미지를 사이트맵으로 알려줍니다.Q. SVG 이미지에도 alt 텍스트가 필요한가요?
네, 접근성과 SEO 모두를 위해 필요합니다. SVG를
<img> 태그로 삽입할 때는 일반 이미지와 동일하게 alt 속성을 작성합니다. SVG를 인라인(<svg> 태그)으로 삽입할 때는 <title> 요소와 role="img", aria-labelledby 속성을 사용하여 접근성을 확보합니다.