클래스도산

AI·자동화 트렌드

AI 검색엔진이 인용하는 구조화 데이터 작성법: Schema.org·JSON-LD로 GEO 인용률 높이기

AI 검색엔진이 인용하는 구조화 데이터 작성법: Schema.org·JSON-LD로 GEO 인용률 높이기

AI 검색엔진용 구조화 데이터는 JSON-LD로 Organization → Article + Person → FAQPage 순서로 심습니다.

AI 검색엔진이 인용하는 구조화 데이터 작성법: Schema.org·JSON-LD로 GEO 인용률 높이기 커버

같은 키워드를 Perplexity에 물었는데 각주에 우리 글이 아니라 경쟁사 블로그가 붙어 있던 적, 있으시죠. 글은 우리가 더 꼼꼼했는데요. 그런 페이지를 열어 Ctrl+U로 소스를 보면 공통점이 하나 나옵니다. 기계가 집어갈 손잡이, 즉 JSON-LD 블록이 비어 있어요.

한눈 요약:

  1. 형식은 JSON-LD 하나로 통일하세요. Google이 지원하는 세 형식 중 권장 형식입니다.
  2. 순서는 전역 Organization → 콘텐츠 Article + Person → 전환 페이지 FAQPage.
  3. 마크업은 본문에 실제로 있는 답만 가리켜야 합니다. 본문에 없는 값은 위반 사항이에요.

구조화 데이터가 왜 필요한가요?

크롤러가 "누가 썼고 언제 수정됐는지"를 추측하지 않게 만들기 때문입니다.

구조화 데이터가 왜 필요한가요? 개념 일러스트

사람은 문맥으로 읽지만, 수집기는 문서를 먼저 필드로 분해해요. 제목·저자·발행일이 디자인으로만 표현된 페이지와, 같은 값이 필드로 선언된 페이지는 해석 난이도가 다릅니다.

Schema.org는 2011년 Google·Microsoft(Bing)·Yahoo가 시작하고 Yandex가 합류한 웹 공용 어휘집이에요1. 여기 정의된 타입으로 "이 페이지는 Article, 저자는 Person, 발행일은 이 값"이라고 적어 두는 게 구조화 데이터입니다.

보충. 마크업은 본문을 대체하지 않아요. 본문은 비었는데 JSON-LD만 화려하면 모순 신호가 됩니다.

Schema.org와 JSON-LD는 뭐가 다른가요?

Schema.org는 어휘(무엇을 말할지), JSON-LD는 문법(어떻게 적을지)입니다. Google은 JSON-LD·마이크로데이터·RDFa 세 형식을 지원하고 그중 JSON-LD를 권장 형식으로 명시합니다2.

문법삽입 위치선택 기준
JSON-LD<head> 또는 <body>의 <script type="application/ld+json">Google 권장. 본문 HTML과 분리돼 검수·수정이 독립적
마이크로데이터HTML 태그에 itemprop 직접 부착지원되지만 템플릿 수정마다 속성이 함께 깨짐
RDFavocab·typeof 속성지원 목록에 있으나 신규 구축에서 택할 이유 없음

SEO용 마크업과 GEO용 마크업은 뭐가 다른가요?

목표가 클릭률이냐 출처 표기냐로 갈립니다.

용어를 먼저 맞추죠. 리치 결과는 검색 결과에 별점·가격·썸네일 같은 부가 정보가 붙은 형태고, GEO는 생성형 엔진의 답변 안에 우리 도메인이 출처로 들어가게 만드는 작업입니다. 엔티티는 조직·사람·제품처럼 식별자로 고정 가능한 대상이에요.

SEO에서 마크업의 목적은 리치 결과였어요. 그런데 Google은 마크업을 넣어도 리치 결과 표시를 보장하지 않는다고 못 박아 뒀고3, FAQ 리치 결과는 정부·보건 등 권위 있는 사이트로 표시 대상을 제한해 뒀습니다4.

그래서 "FAQPage는 이제 쓸모없다"는 말이 돌아요. GEO 관점에서는 반대입니다. 질문과 답이 한 쌍으로 묶인 데이터는 답변 생성기가 그대로 떠갈 수 있는 가장 작은 단위예요. 리치 결과가 줄었다고 FAQPage를 걷어내면 생성형 검색 쪽 손잡이까지 함께 떼는 셈입니다.

어떤 타입부터 넣어야 하나요?

전역 Organization부터입니다. 브랜드가 단일 엔티티로 고정되지 않으면 나머지 마크업이 가리킬 주체가 없어요.

타입AI 답변에서 하는 일최소 필수 필드
Organization브랜드를 단일 엔티티로 고정name, url, sameAs
Person (author)글의 작성 주체를 명시name, url
Article최신성·저작 판단 근거 제공headline, datePublished, dateModified, author
FAQPage질문-답변 쌍을 추출 단위로 전달name, acceptedAnswer.text
Product / Review비교형 질문에 쓰이는 속성 구조화name, offers, aggregateRating

클래스도산 인용 3조건: 엔티티 · 직답 · 검증

세 개 중 하나가 비면 나머지 둘의 효과가 깎입니다.

1. 엔티티 정의. 핵심은 sameAs예요. Schema.org는 이 속성을 "항목의 정체를 명확히 지시하는 참조 웹페이지의 URL"로 정의하고 위키백과·Wikidata 항목이나 공식 웹사이트를 예로 듭니다5. 동명 브랜드와 섞이는 걸 막는 가장 싼 조치입니다. 위키 항목이 없으면 지어내지 말고 운영 중인 공식 채널만 넣으세요.

{ "@context": "https://schema.org",
  "@type": "Organization",
  "name": "클래스도산",
  "url": "https://classdosan.com",
  "sameAs": ["https://classdosan.com"] }

2. 직답형 콘텐츠 매칭. 마크업이 가리키는 본문에 답이 한 문장으로 있어야 해요. acceptedAnswer가 "자세한 내용은 문의하세요"면 추출할 문장이 없습니다. 클래스도산이 원데이 클래스 안내에서 "비개발자 대상 5시간, 결과물 1개 완성"처럼 수치를 문장으로 고정해 두는 이유도 같습니다.

3. 검증 가능성. 주장마다 출처 링크를, 글마다 datePublished·dateModified를 채웁니다.

{ "@context": "https://schema.org",
  "@type": "Article",
  "headline": "구조화 데이터 작성법",
  "datePublished": "2026-11-02",
  "dateModified": "2026-11-02",
  "author": { "@type": "Person", "name": "작성자 이름" } }

넣었는데도 왜 인용이 안 되나요?

원인은 대개 네 곳에서 나옵니다.

넣었는데도 왜 인용이 안 되나요? 개념 일러스트
  1. 크롤러를 막아 뒀습니다. OpenAI는 GPTBot·OAI-SearchBot·ChatGPT-User를 공식 문서로 공개합니다6. 도메인/robots.txt를 브라우저로 직접 열어 이 UA들이 Disallow에 걸려 있는지 보세요. PerplexityBot 같은 다른 엔진 UA도 같은 방식으로 확인합니다.
  2. JS로만 삽입했습니다. curl -s 도메인 | grep ld+json으로 서버 응답 HTML에 블록이 들어 있는지 확인하세요. 비면 렌더링에 의존하는 상태입니다.
  3. 본문과 값이 어긋납니다. Google 일반 가이드라인은 사용자에게 보이지 않는 내용을 마크업하지 말라고 규정합니다3. 가격을 바꿨는데 JSON-LD만 옛 값이면 위반입니다.
  4. 문법 오류로 통째로 버려졌습니다. 쉼표 하나에 블록 전체가 무효가 돼요.

검증은 어떻게 하나요?

세 단계로 끊습니다. Schema Markup Validator로 문법·타입을 보고7, Rich Results Test로 리치 결과 자격을 확인하고8, 마지막은 생성형 검색에 직접 묻습니다.

세 번째가 유일한 GEO 실측이에요. 우리 카테고리 질문 10개를 고정 세트로 만들고, Perplexity와 ChatGPT 검색에 월 1회 같은 문장으로 넣습니다. 기록 항목은 셋이면 충분합니다. 질문, 각주에 우리 도메인 포함 여부(Y/N), 포함됐다면 몇 번째 각주인지. 3개월이면 추세가 보입니다. 🔍

오늘은 트래픽 1위 페이지 한 장만 열어 Organization과 dateModified가 있는지 확인하세요. 거기서 시작하면 됩니다.

자주 묻는 질문

Q. 구조화 데이터를 넣으면 검색 순위가 올라가나요? A. 아니요. Google은 마크업이 리치 결과 표시를 보장하지 않는다고 명시합니다. 순위 부스터가 아니라 오해 방지 장치로 보세요.

Q. 플러그인이 자동 생성한 마크업만 믿어도 되나요? A. 출발점으로는 충분합니다. 다만 sameAs, author, dateModified 세 필드가 채워졌는지는 소스에서 직접 확인하세요. 자동 생성이 가장 자주 비워 두는 자리입니다.

Q. FAQ 리치 결과가 제한됐는데 FAQPage를 계속 넣을 이유가 있나요? A. 있습니다. 클릭률용 가치는 줄었지만 질문-답변 쌍이라는 구조가 답변 엔진에 그대로 쓰이는 추출 단위예요.

Q. 위키백과 항목이 없으면 sameAs는 비워야 하나요? A. 비우지 말고 운영 중인 공식 웹사이트와 공개 채널 URL을 넣으세요. 없는 항목 주소를 적으면 검증 단계에서 깨집니다.

출처


두 가지만 알려드립니다. WebSearch 권한이 없어 이번엔 실시간 출처 확인을 못 했습니다. 그래서 원문의 "2023년 8월 FAQ 리치 결과 축소"와 Perplexity 문서 링크는 각주를 지어 붙이는 대신, Google FAQPage 문서에 명시된 제한으로 주장을 바꾸고 Perplexity는 출처 주장 없이 UA 확인 절차로만 남겼습니다. 출처 URL은 모두 원문에 이미 있던 것 또는 Google 공식 문서 경로만 썼습니다.

Footnotes

  1. Schema.org — 공용 구조화 데이터 어휘집 공식 사이트. https://schema.org/ ↩

  2. Google Search Central, 『구조화 데이터 마크업 소개』 — 지원 형식 세 가지와 JSON-LD 권장. https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data ↩

  3. Google Search Central, 『구조화 데이터 일반 가이드라인』 — 리치 결과 미보장, 비표시 콘텐츠 마크업 금지. https://developers.google.com/search/docs/appearance/structured-data/sd-policies ↩ ↩2

  4. Google Search Central, 『FAQPage 구조화 데이터』 — FAQ 리치 결과 표시 대상 제한. https://developers.google.com/search/docs/appearance/structured-data/faqpage ↩

  5. Schema.org, sameAs 속성 정의. https://schema.org/sameAs ↩

  6. OpenAI, 『Bots』 — GPTBot·OAI-SearchBot·ChatGPT-User 공식 문서. https://platform.openai.com/docs/bots ↩

  7. Schema Markup Validator. https://validator.schema.org/ ↩

  8. Google Rich Results Test. https://search.google.com/test/rich-results ↩