https://www.w3.org/TR/json-ld/
위 내용을 LLM에게 참고시켜서 이것저것 질문해서 답을 얻은 내용을 아래와 같이 정리합니다.
JSON-LD에서 @type은 두 가지 다른 용도로 사용됩니다:
{
"@id": "http://example.com/john",
"@type": "http://schema.org/Person", // ← 이것은 Node Type
"name": "John Doe"
}
{
"@type": "http://schema.org/Person", // 사람
"@type": "http://schema.org/Organization", // 조직
"@type": "http://schema.org/Event", // 이벤트
"@type": "http://schema.org/Product", // 상품
"@type": "http://schema.org/BlogPosting", // 블로그 포스트
"@type": "http://schema.org/WebPage" // 웹페이지
}
{
"@value": "2010-05-29T14:17:39+02:00",
"@type": "http://www.w3.org/2001/XMLSchema#dateTime" // ← 이것은 Value Type
}
// 문자열
{
"@value": "Hello World",
"@type": "http://www.w3.org/2001/XMLSchema#string"
}
// 정수
{
"@value": 42,
"@type": "http://www.w3.org/2001/XMLSchema#integer"
}
// 실수
{
"@value": 3.14,
"@type": "http://www.w3.org/2001/XMLSchema#decimal"
}
// 날짜
{
"@value": "2024-01-15",
"@type": "http://www.w3.org/2001/XMLSchema#date"
}
// 불린
{
"@value": true,
"@type": "http://www.w3.org/2001/XMLSchema#boolean"
}
Schema.org - 가장 널리 사용
"@type": "http://schema.org/Person"
"@type": "http://schema.org/Product"
"@type": "http://schema.org/Event"
XML Schema Datatypes - Value Type용
"@type": "http://www.w3.org/2001/XMLSchema#string"
"@type": "http://www.w3.org/2001/XMLSchema#integer"
"@type": "http://www.w3.org/2001/XMLSchema#dateTime"
기타 표준들
"@type": "http://xmlns.com/foaf/0.1/Person" // FOAF
"@type": "http://purl.org/dc/terms/Document" // Dublin Core
{
"@type": "http://mycompany.com/types/Employee",
"@type": "http://example.org/CustomProduct"
}
{
"@context": {
"schema": "http://schema.org/",
"xsd": "http://www.w3.org/2001/XMLSchema#"
},
"@id": "http://example.com/posts/1",
"@type": "schema:BlogPosting", // ← Node Type (블로그 포스트)
"schema:headline": "JSON-LD 가이드",
"schema:datePublished": {
"@value": "2024-01-15T10:00:00Z",
"@type": "xsd:dateTime" // ← Value Type (날짜시간)
},
"schema:wordCount": {
"@value": 1500,
"@type": "xsd:integer" // ← Value Type (정수)
},
"schema:author": {
"@type": "schema:Person", // ← Node Type (사람)
"schema:name": "김개발자"
}
}
{
"@context": "http://schema.org/",
"@type": "Product", // ← Node Type
"name": "스마트폰",
"price": {
"@value": "999000",
"@type": "xsd:decimal" // ← Value Type
},
"availability": "InStock",
"manufacturer": {
"@type": "Organization", // ← Node Type
"name": "테크컴퍼니"
}
}
@value와 함께 사용되지 않음@value와 함께 사용됨| 구분 | Node Type | Value Type |
|---|---|---|
| 목적 | 객체가 무엇인지 | 값의 형식이 무엇인지 |
| 사용처 | @value 없이 | @value와 함께 |
| 예시 | Person, Product, Event | string, integer, dateTime |
| 표준 | Schema.org, FOAF 등 | XML Schema |
| 자유도 | 완전 자유 | 완전 자유 |
JSON-LD의 Type 시스템은 유연성과 표준화의 균형을 제공합니다!
GEO(Generative Engine Optimization)는 ChatGPT, Bard, Bing Chat 등 생성형 AI 엔진에서 콘텐츠가 잘 인용되고 참조되도록 최적화하는 새로운 SEO 전략입니다.
{
"@context": "https://schema.org",
"@type": "Article",
"headline": "명확하고 구체적인 제목",
"author": {
"@type": "Person",
"name": "저자명",
"url": "저자 프로필 URL"
},
"datePublished": "2024-01-15T10:00:00Z",
"dateModified": "2024-01-15T15:30:00Z",
"publisher": {
"@type": "Organization",
"name": "사이트명",
"logo": {
"@type": "ImageObject",
"url": "로고 URL"
}
},
"mainEntityOfPage": "페이지 URL",
"articleBody": "전체 본문 내용",
"keywords": ["키워드1", "키워드2", "키워드3"],
"about": [
{
"@type": "Thing",
"name": "주제1"
}
],
"mentions": [
{
"@type": "Thing",
"name": "언급된 개체"
}
]
}
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "회사명",
"url": "공식 웹사이트",
"logo": "로고 이미지 URL",
"description": "회사 설명",
"foundingDate": "설립일",
"founder": {
"@type": "Person",
"name": "창립자명"
},
"address": {
"@type": "PostalAddress",
"streetAddress": "주소",
"addressLocality": "도시",
"addressCountry": "국가"
},
"contactPoint": {
"@type": "ContactPoint",
"telephone": "전화번호",
"contactType": "customer service"
},
"sameAs": [
"소셜미디어 URL들"
]
}
{
"@context": "https://schema.org",
"@type": "Product",
"name": "상품명",
"description": "상세 설명",
"brand": {
"@type": "Brand",
"name": "브랜드명"
},
"manufacturer": {
"@type": "Organization",
"name": "제조사"
},
"offers": {
"@type": "Offer",
"price": "가격",
"priceCurrency": "KRW",
"availability": "https://schema.org/InStock",
"seller": {
"@type": "Organization",
"name": "판매자"
}
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "100"
},
"category": "상품 카테고리"
}
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "질문 내용",
"acceptedAnswer": {
"@type": "Answer",
"text": "상세하고 정확한 답변"
}
}
]
}
{
"author": "신뢰할 수 있는 저자 정보",
"datePublished": "발행일",
"dateModified": "최종 수정일",
"publisher": "권위 있는 발행처",
"expertise": "전문성 표시",
"trustworthiness": "신뢰성 지표"
}
{
"mainEntity": "핵심 주제",
"about": ["관련 주제들"],
"mentions": ["언급된 개체들"],
"keywords": ["핵심 키워드들"],
"articleSection": "카테고리/섹션"
}
{
"isPartOf": "상위 콘텐츠",
"hasPart": ["하위 콘텐츠들"],
"relatedLink": ["관련 링크들"],
"citation": ["인용 출처들"]
}
{
"@context": "https://schema.org",
"@type": "HowTo",
"name": "작업 제목",
"description": "작업 설명",
"step": [
{
"@type": "HowToStep",
"name": "단계 제목",
"text": "단계별 설명"
}
],
"totalTime": "PT30M",
"tool": ["필요한 도구들"],
"supply": ["필요한 재료들"]
}
@type 정의name/headlinedescriptionauthor 정보datePublished, dateModified)publisher 정보keywords 배열about 주제 정보mentions 관련 개체sameAs 소셜 링크aggregateRating 평점 정보contactPoint 연락처 정보expertise 전문성 표시citation 인용 출처isBasedOn 기반 자료workExample 작업 예시{
"@context": "https://schema.org",
"@type": "Article",
"headline": "GEO 최적화 완벽 가이드",
"description": "생성형 AI 엔진 최적화를 위한 실무 가이드",
"author": {
"@type": "Person",
"name": "김전문가",
"jobTitle": "SEO 전문가",
"worksFor": {
"@type": "Organization",
"name": "디지털마케팅회사"
}
},
"publisher": {
"@type": "Organization",
"name": "마케팅인사이트",
"logo": {
"@type": "ImageObject",
"url": "https://example.com/logo.png"
}
},
"datePublished": "2024-01-15T10:00:00Z",
"dateModified": "2024-01-15T15:30:00Z",
"mainEntityOfPage": "https://example.com/geo-guide",
"keywords": ["GEO", "생성형AI", "SEO", "최적화"],
"about": [
{
"@type": "Thing",
"name": "Generative Engine Optimization"
},
{
"@type": "Thing",
"name": "AI Search Optimization"
}
],
"mentions": [
{
"@type": "SoftwareApplication",
"name": "ChatGPT"
},
{
"@type": "SoftwareApplication",
"name": "Google Bard"
}
],
"isPartOf": {
"@type": "WebSite",
"name": "마케팅인사이트 블로그"
}
}
이러한 구조화된 데이터를 통해 생성형 AI가 콘텐츠의 맥락, 신뢰성, 전문성을 정확히 이해하고 적절한 상황에서 인용할 수 있도록 도울 수 있습니다.
참고: Google의 구조화 데이터 가이드라인에 따르면, JSON-LD 형식이 가장 권장되며, 정확하고 완전한 정보 제공이 핵심입니다.
BreadcrumbList는 웹사이트의 네비게이션 경로를 구조화하여 표현하는 Schema.org 타입입니다. 사용자와 검색엔진이 현재 페이지의 위치를 명확히 파악할 수 있도록 도와줍니다.
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "홈",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "카테고리",
"item": "https://example.com/category"
},
{
"@type": "ListItem",
"position": 3,
"name": "현재 페이지",
"item": "https://example.com/category/current-page"
}
]
}
sameAs는 동일한 개체를 나타내는 다른 URL들을 연결하는 Schema.org 속성입니다. 주로 소셜미디어 프로필, 공식 웹사이트, 위키피디아 등을 연결합니다.
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "테크컴퍼니",
"url": "https://techcompany.com",
"sameAs": [
"https://www.facebook.com/techcompany",
"https://twitter.com/techcompany",
"https://www.linkedin.com/company/techcompany",
"https://www.instagram.com/techcompany",
"https://www.youtube.com/c/techcompany",
"https://ko.wikipedia.org/wiki/테크컴퍼니"
]
}
{
"@context": "https://schema.org",
"@type": "Person",
"name": "김개발자",
"jobTitle": "CTO",
"sameAs": [
"https://www.linkedin.com/in/kimdev",
"https://github.com/kimdev",
"https://twitter.com/kimdev",
"https://medium.com/@kimdev"
]
}
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "홈",
"item": "https://shop.example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "전자제품",
"item": "https://shop.example.com/electronics"
},
{
"@type": "ListItem",
"position": 3,
"name": "스마트폰",
"item": "https://shop.example.com/electronics/smartphones"
},
{
"@type": "ListItem",
"position": 4,
"name": "아이폰 15 Pro",
"item": "https://shop.example.com/electronics/smartphones/iphone-15-pro"
}
]
}
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "뉴스",
"item": "https://news.example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "기술",
"item": "https://news.example.com/tech"
},
{
"@type": "ListItem",
"position": 3,
"name": "AI",
"item": "https://news.example.com/tech/ai"
}
]
}
{
"@context": "https://schema.org",
"@graph": [
{
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "블로그",
"item": "https://example.com/blog"
},
{
"@type": "ListItem",
"position": 2,
"name": "마케팅",
"item": "https://example.com/blog/marketing"
},
{
"@type": "ListItem",
"position": 3,
"name": "GEO 가이드"
}
]
},
{
"@type": "Article",
"headline": "GEO 최적화 완벽 가이드",
"author": {
"@type": "Person",
"name": "김마케터",
"sameAs": [
"https://www.linkedin.com/in/kimmarketer",
"https://twitter.com/kimmarketer"
]
},
"publisher": {
"@type": "Organization",
"name": "마케팅인사이트",
"sameAs": [
"https://www.facebook.com/marketinginsight",
"https://twitter.com/marketinginsight",
"https://www.youtube.com/c/marketinginsight"
]
}
}
]
}
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"name": "카페 모던",
"address": {
"@type": "PostalAddress",
"streetAddress": "강남대로 123",
"addressLocality": "서울",
"addressCountry": "KR"
},
"sameAs": [
"https://www.instagram.com/cafe_modern",
"https://www.facebook.com/cafemodern",
"https://place.map.kakao.com/12345",
"https://map.naver.com/v5/entry/place/12345"
]
}
{
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1, // 반드시 1부터 시작
"name": "명확한 이름", // 사용자가 이해하기 쉬운 이름
"item": "완전한 URL" // 상대경로 X, 절대경로 O
}
]
}
{
"sameAs": [
"https://www.facebook.com/page", // 정확한 공식 URL
"https://twitter.com/account", // 활성화된 계정만
"https://ko.wikipedia.org/wiki/정확한_페이지" // 검증된 정보만
]
}
@type: "BreadcrumbList"itemListElement 배열position (1부터 순차적)name (명확하고 간결)item (완전한 URL)이러한 구조화된 데이터를 통해 생성형 AI가 콘텐츠의 맥락과 신뢰성을 더 정확히 파악하고, 적절한 상황에서 인용할 가능성을 높일 수 있습니다.