Citeon
실무 체크리스트

이미지 alt·구조화 데이터 점검 체크리스트

정유진
정유진 · 콘텐츠·SEO 에디터

이미지 alt 속성과 JSON-LD 구조화 데이터는 크롤러가 페이지의 시각적 정보와 엔티티 구조를 해석하는 핵심 신호다. Google 이미지 크롤러는 alt 텍스트가 없으면 파일명과 주변 텍스트만으로 이미지를 추론하고, 구조화 데이터가 누락된 페이지는 Rich Results 자격을 잃는 것은 물론 ChatGPT Search·Perplexity 같은 AI 답변 엔진이 엔티티를 잘못 해석하거나 인용을 생략할 가능성이 높다. 두 항목은 WCAG 2.1 접근성(1.1.1 Non-text Content), 전통 SEO, AEO 전반에 동시에 영향을 미치므로 배포 전 체계적 점검이 필요하다.

이미지 alt 텍스트 작동 원리

Googlebot이 이미지를 처리하는 신호 우선순위는 alt 텍스트 → 주변 텍스트 문맥 → 파일명 → 페이지 제목 순이다. alt가 비어 있거나 누락되면 파일명이 신호를 대체하므로, IMG_2034.jpg처럼 의미 없는 파일명은 이중으로 불이익을 준다. AI 크롤러도 HTML 파싱 단계에서 alt 텍스트를 이미지의 텍스트 표현으로 소비하며, WCAG 2.1 기준 1.1.1은 장식용 이미지에 alt=""(빈 문자열 명시)를, 콘텐츠 이미지에는 실질적 텍스트 대안을 요구한다.

alt 텍스트 구현 체크리스트

alt 텍스트 케이스 비교

케이스 예시 크롤러 처리 권장
alt 속성 누락 <img src="panel.jpg"> 파일명으로만 추론, WCAG 위반 X
빈 문자열 (장식용) alt="" 장식으로 처리, 색인 제외 O
키워드 스터핑 alt="전기 전기공사 전기배선 전기설치" 스팸 신호, 랭킹 불이익 가능 X
간결한 기술 alt="200A 분전함 차단기 교체 작업" 이미지 콘텐츠 정확히 인덱싱 O

JSON-LD 구조화 데이터 구현 체크리스트

Google은 JSON-LD, Microdata, RDFa 세 포맷을 지원하지만 JSON-LD를 공식 권장한다. HTML 마크업과 분리되어 유지보수가 쉽고, Next.js의 next/head 또는 App Router의 generateMetadata로 동적 삽입해도 Googlebot이 렌더링 후 파싱한다.

<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@type": "Article",
      "@id": "https://example.com/blog/circuit-breaker-guide#article",
      "headline": "200A 분전함 차단기 교체 가이드",
      "description": "전기안전 기준에 따른 분전함 차단기 교체 절차 안내",
      "image": {
        "@type": "ImageObject",
        "url": "https://example.com/images/circuit-breaker-200a-installation.jpg",
        "width": 1200,
        "height": 630
      },
      "datePublished": "2026-06-01T09:00:00+09:00",
      "dateModified": "2026-06-18T10:00:00+09:00",
      "author": {
        "@type": "Person",
        "name": "이전기",
        "url": "https://example.com/authors/lee-jeongi"
      },
      "publisher": {
        "@type": "Organization",
        "name": "전기전문 블로그",
        "logo": {
          "@type": "ImageObject",
          "url": "https://example.com/logo.png",
          "width": 200,
          "height": 60
        }
      },
      "mainEntityOfPage": {
        "@type": "WebPage",
        "@id": "https://example.com/blog/circuit-breaker-guide"
      }
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        { "@type": "ListItem", "position": 1, "name": "홈",
          "item": "https://example.com" },
        { "@type": "ListItem", "position": 2, "name": "블로그",
          "item": "https://example.com/blog" },
        { "@type": "ListItem", "position": 3, "name": "차단기 교체 가이드",
          "item": "https://example.com/blog/circuit-breaker-guide" }
      ]
    }
  ]
}
</script>

검증 및 측정

흔한 오해: alt에 키워드를 많이 넣을수록 SEO에 유리하다

alt="전기 전기공사 전기배선 전기설치 전기패널 분전함" 형태의 키워드 나열은 Google Webmaster Guidelines에서 "피해야 할 관행"으로 명시된 스팸 신호다. 스크린리더 사용자에게는 무의미한 단어 목록이 읽히며 접근성을 직접적으로 해친다. 올바른 접근은 이미지가 실제로 전달하는 내용을 자연어로 기술하는 것이다. 검색 의도와 관련된 용어가 자연스러운 서술 안에 포함되는 것과, 의도적으로 키워드를 나열하는 것은 크롤러가 구분한다.

FAQ 1. FAQPage 스키마를 적용했는데 검색 결과에 FAQ가 전혀 표시되지 않는다. 스키마 오류인가?

스키마 오류가 아닐 가능성이 높다. Google은 2023년 8월부터 FAQPage Rich Results 노출을 대폭 축소해, 현재는 권위 있는 정부·의료 사이트에 한해 제한적으로 표시한다. 일반 콘텐츠 사이트에는 스키마가 유효해도 SERP에 표시되지 않는 것이 정책 기본값이다. HowTo 스키마도 같은 시점에 데스크톱 노출에서 제거됐다. 단, FAQPage 스키마는 AI 답변 엔진이 Q&A 구조를 인식하는 데 여전히 유효하게 작동한다는 점은 실무적으로 고려할 가치가 있다(Google의 공식 확인은 없음, 추정).

FAQ 2. 같은 페이지에 JSON-LD <script> 블록을 여러 개 배치해도 파서가 모두 읽는가?

기술적으로 가능하다. Google 파서는 같은 페이지의 여러 <script type="application/ld+json"> 블록을 모두 읽는다. 다만 같은 @type을 여러 블록에 분산하면 필수 속성이 각각 분리돼 파서가 개별 블록을 불완전한 객체로 판단할 수 있다. 권장 방식은 @graph 배열 하나에 모든 스키마를 통합하는 것이다. Article과 BreadcrumbList처럼 타입이 다른 경우에도 @graph로 묶으면 파서 신뢰도와 유지보수 양쪽에서 유리하다.

참고 자료

이 글의 권고는 아래 공식 문서·연구를 근거로 합니다.

정유진
정유진 · 콘텐츠·SEO 에디터

스키마·FAQ·콘텐츠 구조 등 실무 체크리스트를 쉽고 편안하게 정리합니다. 바로 따라 할 수 있는 글을 지향합니다.

내 사이트의 AI 검색 점수가 궁금하다면

30초 무료 진단으로 SEO·AEO·GEO 점수와 처방을 받아보세요.

무료 진단 시작
← 블로그 목록으로