상세문의 아이콘 상세문의
간편문의 아이콘 × 간편문의
구조화 데이터 디버깅 실록 · 2026

스키마를 깔았는데
Search Console에 "경고"가 떴다

구조화 데이터는 ‘넣었다’가 끝이 아닙니다.
같은 회사를 25개 페이지에서 두 이름으로 적었더니, 구글이 같은 회사인지 헷갈릴 수 있는 상태였습니다.

홍은표 · 넥스트티 대표 · SEO/GEO 컨설턴트 | 작성 2026-06-04

DEFINITION · 한 문장 정의

구조화 데이터(스키마·JSON-LD)는 페이지가 "무엇에 관한 것인지"를 기계가 읽는 형태로 검색·AI에게 알려 주는 표식입니다. 그런데 넣는 것보다 일관되게 넣는 것이 더 중요합니다 — 같은 대상을 다르게 적으면, 안 넣느니만 못한 신호를 줍니다.

1분 요약 · KEY TAKEAWAYS

  • 스키마를 빠짐없이 넣고도 구글이 구조화 데이터에 이상 신호(경고)를 보냈습니다 — 단, “왜”는 알려주지 않았습니다.
  • 추적해 보니 가장 유력한 불일치는 — 같은 @id(조직)인데 이름표가 둘, 넥스트티(주)넥스트티25개 페이지에 섞여 있던 점이었습니다.
  • 같은 @idname도 한 가지로, 법인 정식명칭은 legalName으로 분리.
  • alternateName(별칭)은 영문 약칭 위주로 정리(회사명 한국어 변형은 보수적으로 제외 — 절대 규칙은 아님).
  • 통일 후 이름 충돌 신호는 사라졌습니다 — 다만 순위·트래픽 변화는 단정하지 않습니다.

THE PROBLEM

스키마를 깔았는데, 왜 경고가 떴나

구조화 데이터를 잘 넣으면 검색·AI가 우리를 더 잘 이해합니다. 맞는 말입니다. 그래서 우리도 조직·저자·서비스 스키마를 페이지마다 빠짐없이 넣었습니다. 그런데 어느 날 Search Console 리치 결과 점검에서 구조화 데이터 관련 이상 신호(경고)가 관측됐습니다.

솔직히 말하면 — 구글은 “항목에 문제가 있다”까지만 알려 줍니다. 무엇이 왜 문제인지는 말해 주지 않습니다. 그래서 Search Console·리치 결과 테스트·페이지 JSON-LD를 함께 대조하며 원인을 추적했습니다. 그 끝에 찾은 가장 유력한 원인은 — 같은 조직 @id에 이름이 둘(“넥스트티” / “(주)넥스트티”)로 섞여 있던 점이었습니다. 구글이 준 건 신호, 진단은 우리 몫 — 디버깅의 진짜 일은 그 “왜?”를 추적하는 데 있습니다.

스키마를 안 넣어서 생긴 문제가 아니었습니다. 넣긴 넣었는데, 같은 대상을 페이지마다 다르게 적은 것이 문제였습니다. 사람 눈엔 "넥스트티"나 "(주)넥스트티"나 같은 회사지만, 기계가 읽는 표식에서는 그 한 글자 차이가 "다른 대상일 수 있다"는 신호가 됩니다.

이 글은 그 신호를 어떻게 발견하고, 원인을 찾고, 25개 페이지를 어떻게 고쳤는지를 그대로 적은 현장 기록입니다. 일반론이 아니라, 우리가 실제로 겪고 고친 일입니다.

WIREFRAME · Search Console에서 본 신호 (재현 — 실제 캡처 아님)

Google Search Console 구조화 데이터 · 리치 결과 점검

유형: Organization

항목에 문제가 있습니다
↳ 점검이 알려주는 건 “문제가 있다”까지 — 몇 개 페이지에서, 왜인지는 안 나온다
▼  그래서 우리가 파고들었다
🔎 원인 = 같은 @id“넥스트티” / “(주)넥스트티” 두 이름 — 구글이 준 건 신호, 진단은 우리 몫

FIELD LOG · 2026년 5월

무슨 일이 있었나 — 25개 페이지

2026년 5월, 사이트를 점검하다 한 가지가 눈에 걸렸습니다. 우리 회사를 가리키는 조직 엔티티는 분명 하나의 @id(예: …/#organization)로 묶여 있는데, 그 엔티티의 이름표가 페이지마다 달랐습니다. 특히 저자 정보의 '소속(worksFor)'에 법인명을 적어 둔 흔적이 25개 페이지에 퍼져 있었습니다 — 한 페이지의 단발 실수가 아니라, 공통 틀을 타고 같은 이름이 다르게 적힌 문제였습니다.

WIREFRAME · 표기가 갈린 상태

pagepagepage pagepagepage pagepage … 총 25
▼  모두 같은 조직을 가리킴
@id …/#organization
▼  그런데 이름표(name)가 두 종류
name · 일부 페이지"넥스트티"
name · worksFor 25개"(주)넥스트티"
🤖 기계가 보기엔: "넥스트티" 와 "(주)넥스트티" … 같은 회사가 맞아? — 이름 충돌 신호 ⚠

WHY IT MATTERS · 개체 해소

같은 @id, 다른 name = "다른 회사처럼"

검색엔진과 AI는 @id를 보고 "이건 같은 대상"이라고 묶습니다. 그런데 같은 @id에 이름이 둘이면, 구조를 읽는 쪽에서 같은 회사인지 확신하기 어려워질 수 있습니다. knowledge-graph 글에서 말한 개체 해소(같은 대상인지 구분하는 일)가 바로 이 지점에서 흔들립니다. 물론 @id만으로 같은 대상을 잘 연결하는 경우도 많습니다 — 다만 이름 신호가 흔들리면 그 연결의 확신도가 낮아질 수 있습니다.

충돌 위험

1여러 곳이 같은 @id(조직)를 참조한다
2그런데 name"넥스트티" / "(주)넥스트티" 두 종류
3구조를 읽는 쪽이 "다른 대상인가?" 헷갈릴 수 있다
결과: 이름 충돌 신호 ⚠

정리 안전

1같은 @idname 한 가지("넥스트티")
2법인 정식명칭은 legalName으로 분리
3별칭은 alternateName(영문)으로
결과: 하나의 회사로 또렷하게 인식 ✓
// ✗ 잘못 — 같은 @id 인데 name 이 둘
{ "@type": "Person", "name": "홍은표",
  "worksFor": { "@id": "…/#organization", "name": "(주)넥스트티" } }

{ "@type": "Organization", "@id": "…/#organization",
  "name": "넥스트티" }
// → 받는 쪽: "넥스트티" 와 "(주)넥스트티" … 같은 회사 맞아?
// ✓ 올바름 — @id 가 같으면 name 도 한 가지로
{ "@type": "Organization", "@id": "…/#organization",
  "name": "넥스트티",            // 표시 이름은 하나로 통일
  "legalName": "(주)넥스트티",     // 법인 정식명칭은 따로
  "alternateName": ["NXT", "Next-T"] }  // 별칭은 영문만

HOW WE FOUND IT

어떻게 찾았나 — 이름표를 한데 모으기

방법은 단순합니다. 페이지를 하나씩 열어 보는 게 아니라, 사이트 전체에서 조직 name 표기를 한 번에 모은 뒤 값이 두 종류 이상이면 그게 범인입니다.

WIREFRAME · 점검 파이프라인

1 · 모으기전체 @id=#organizationname 수집
2 · 세기중복 제거 → 종류 ≥ 2면 불일치
3 · 역추적틀린 값의 페이지·필드 찾기
결과: "넥스트티" vs "(주)넥스트티" 2종 → worksFor.name 25개 페이지
// 의사코드 — 페이지를 도는 게 아니라 "표기를 모은다"
names = []
for page in allPages:
  for node in page.jsonld:
    if node["@id"] == "…/#organization":
      names.push(node["name"])

unique = dedupe(names)
if unique.length > 1:        // 종류가 2개 이상이면 불일치
  report(unique)            // → ["넥스트티", "(주)넥스트티"]

핵심은 "페이지를 도는" 게 아니라 "표기를 모아 종류를 세는" 점검이라는 점 — 사이트가 커질수록 이 방식이라야 잡힙니다.

THE FIX

어떻게 고쳤나 — 세 가지 정리

FIX 01

같은 @idname은 한 가지로 통일

표시 이름은 넥스트티 하나로. 25개 페이지의 worksFor.name을 모두 같은 값으로 맞췄습니다.

FIX 02

법인 정식명칭은 legalName으로 분리

"(주)넥스트티"가 필요하면 name이 아니라 legalName 필드에 넣습니다. 우리는 이게 표시 이름(name) 충돌을 줄이는 더 안정적인 구조라고 판단해 그렇게 분리했습니다.

FIX 03

alternateName은 영문 약칭 위주로

우리는 별칭에서 회사명의 한국어 변형((주)넥스트티·주식회사 넥스트티)을 보수적으로 뺐습니다 — 같은 이름이 변형으로 또 들어가 혼선을 키우지 않도록. NXT·Next-T 같은 영문 약칭만 남겼습니다. schema.org 상 허용 여부와 별개로, 이름 충돌 가능성을 줄이려 보수적으로 운영한 선택입니다(절대 규칙은 아니며, 실제로 (주)넥스트티를 넣어도 스키마 오류는 아닙니다). SEO 용어처럼 회사명과 무관한 별칭은 상관없습니다.

관측된 결과 — 통일 후 이름 충돌 신호는 사라졌습니다. 다만 여기까지가 관측된 사실이고, 이걸로 순위가 올랐다거나 트래픽이 늘었다고는 말하지 않습니다. 우리가 본 것만 책임집니다 — 측정의 경계를 지킵니다.

HOW WE DEBUG · 넥스트티 방식

넥스트티는 “넣었는지”가 아니라 “읽히는지”를 봅니다

대부분의 업체는 “스키마 넣어드립니다”에서 끝납니다. 그런데 검사 도구에서 정상이라고, 검색·AI가 같은 의미로 읽는 건 아닙니다. 그래서 넥스트티는 “넣었는가”가 아니라 “실제로 읽히고 연결되는가”를 확인합니다. 무엇보다 — 대부분은 페이지 한 장을 검사하지만, 우리는 사이트 전체에서 ‘같은 대상을 같은 이름으로 쓰고 있는지’를 한꺼번에 봅니다. 페이지 한 장의 오류보다 더 위험한 건, 사이트 전체에서 같은 대상이 조금씩 다르게 쓰이며 쌓이는 누적 오류라고 보기 때문입니다.

그리고 우리는 “AI가 이해했을 것”이라고 주장하지 않습니다. 구조 신호·수집 기록·이름 일관성(같은 대상을 같은 이름으로 쓰는지)을 함께 보고, 측정 가능한 것만 말합니다 — 추정과 측정을 섞지 않는 것, 그게 넥스트티의 방식입니다.

측정

추정이 아니라 측정

“잘 됐을 것”이 아니라, 서버 기록으로 어떤 검색·AI 봇이 어떤 페이지를 실제로 가져갔는지를 봅니다. 읽히고 있는지를 데이터로 확인합니다.

해석

검사 통과 ≠ 같은 의미로 이해

도구 검사 통과는 출발선일 뿐입니다. 같은 @id의 이름이 일관된지, 엔티티가 올바로 연결됐는지 — 의미가 제대로 전달되는지까지 봅니다.

규모

한 장씩이 아니라 한꺼번에

페이지를 하나씩 눈으로 도는 대신, 사이트 전체의 표기를 모아서 종류를 셉니다. 사이트가 커질수록 사람 눈으론 못 잡는 불일치를 이 방식이라야 잡습니다.

운영

한 번 점검이 아니라 제품으로

엔티티·구조화 데이터 준비도를 엔티티 점수 체크로 수치화해, 페이지가 늘어도 같은 기준으로 반복 관리합니다.

그래서 차이는 — 구조화 데이터는 ‘설치’의 문제가 아니라 ‘이해’의 문제입니다. 넣는 건 누구나 합니다. 왜 안 읽히는지 찾아 고치는 일은 측정 없이는 안 됩니다 — 그게 넥스트티가 하는 일입니다.

5 RULES · 재현 가능한 원칙

같은 실수를 막는 5가지 원칙

원칙
하나의 대상 = 하나의 name같은 @id면 글자까지 똑같이. 표기 흔들림이 곧 "다른 대상" 신호가 됩니다.
법인명은 legalName정식 법인명은 표시 이름이 아니라 전용 필드로 — 표시 이름 충돌을 줄이는 더 안정적인 선택.
alternateName은 별칭만우리는 같은 엔티티의 회사명 한국어 변형을 보수적으로 뺐다(절대 규칙은 아님) — 영문 약칭 위주.
정규 엔티티는 @id 참조조직·저자 같은 핵심 엔티티는 한 곳에서 정의하고 나머진 @id로 가리키기. 복붙하면 표기가 갈라집니다.
추가할 때마다 이름부터 점검새 페이지·새 엔티티를 넣을 때 표기 일관성을 먼저 확인. 번지기 전에 잡는 게 가장 쌉니다.

COMMON MYTHS · 자주 보는 오해

스키마에 대해 자주 듣는 세 가지 오해

MYTH 01

"스키마는 많이 넣을수록 좋다"

아닙니다. 틀리게 많으면 더 또렷하게 틀립니다. 정확하지 않은 표식은 안 넣느니만 못한 신호를 보냅니다 — 양보다 일관성입니다.

MYTH 02

"회사명을 다양하게 적으면 풍부해 보인다"

같은 엔티티 안에서는 오히려 중복·혼선 신호가 됩니다. 풍부함은 별칭(alternateName)으로 표현하는 것이지, 표시 이름을 흔드는 게 아닙니다.

MYTH 03

"경고가 떠도 검색에 노출되니 괜찮다"

지금은 괜찮아 보여도, 검색·AI가 엔티티 단위로 묶는 비중이 커질수록 잘못된 이름표는 누적 비용이 됩니다. 일찍 통일하는 편이 쌉니다.

FAQ

자주 묻는 질문

구조화 데이터(스키마)만 넣으면 SEO가 좋아지나요?+
넣는 것만으로는 부족합니다. 잘못 넣으면 오히려 또렷하게 틀린 신호를 줍니다. 실제로 같은 회사를 여러 페이지에서 서로 다른 이름으로 표기해, 구글이 "같은 엔티티가 맞는지" 의심한 사례가 있었습니다. 스키마는 양보다 정확성이 중요합니다.
같은 @id에 name이 다르면 무엇이 문제인가요?+
@id는 "이건 같은 대상"이라고 묶는 식별자입니다. 같은 @id인데 name이 둘이면 검색·AI가 같은 회사인지, 아니면 다른 회사를 잘못 묶었는지 의심합니다. 같은 @id를 가리키는 모든 곳의 name은 글자까지 동일해야 합니다.
회사 정식 법인명은 어디에 적나요?+
name이 아니라 legalName에 적습니다. 표시 이름(name)은 한 가지로 통일하고, "(주)…" 같은 정식 법인명은 legalName 필드로 분리하면 동일 엔티티 이름 충돌을 피할 수 있습니다. legalName은 정식 명칭을 따로 알려 주는 필드라, 표시 이름(name) 충돌을 줄이는 데 더 안정적인 구조라고 봅니다.
alternateName(별칭)에는 무엇을 넣어야 하나요?+
별칭만 넣되, 같은 엔티티에서는 회사명의 표기 변형(예: 같은 이름의 한국어 변형)을 넣지 않는 것이 안전합니다. 영문 약칭처럼 명확히 다른 별칭만 두면 "같은 이름이 중복된다"는 신호를 피할 수 있습니다. SEO 용어 같은 일반 명사의 한·영 병기는 회사명과 무관하므로 문제되지 않습니다.
구조화 데이터 이름 충돌은 어떻게 찾나요?+
페이지를 하나씩 여는 대신, 같은 @id를 가리키는 모든 곳의 name 값을 한데 모아 보면 됩니다. 값이 두 종류 이상이면 그게 원인입니다. 사이트 전체에서 조직 이름 표기를 한 번에 긁어 불일치를 찾는 편이 훨씬 빠르고 정확합니다.
스키마 오류를 고치면 순위가 오르나요?+
단정하기 어렵습니다. 저희가 관측한 것은 이름 충돌 신호가 사라졌다는 사실까지입니다. 순위·트래픽 변화는 여러 요인이 얽혀 있어 인과로 단정하지 않습니다 — 관측과 추정을 구분하는 것이 정직한 측정입니다.

CONCLUSION

구조화 데이터는 ‘설치’가 아니라 ‘이해’의 문제입니다.

검사에서 정상이라고 검색·AI가 같은 의미로 이해하는 건 아닙니다. 중요한 건 넣었는가가 아니라 실제로 읽히고 연결되는가입니다. 넣는 데서 끝나지 않고 읽히는지까지 보는 것 — 그게 이 글이 말하려던 전부입니다.

DIAGNOSE · STRUCTURED DATA

우리 사이트의 엔티티 표기는 일관적인가

넥스트티는 구조화 데이터를 ‘설치했는지’로 판단하지 않습니다 — 실제 검색·AI의 수집·인덱싱·구조 인식까지 함께 확인합니다.
조직·저자 이름 일관성 점검 · legalName/alternateName 정리 · @id 참조 구조 정합부터 시작합니다.