본문으로 건너뛰기
가이드
이 페이지의 내용
  1. 그래프 구성
  2. 레이아웃별 유형
  3. 설정
  4. 페이지별 엔터티
  5. 검사
페이지 도구

구조화 데이터

참고

이 페이지는 영어 원문의 번역입니다. 내용이 다르면 영어 문서가 우선합니다.

_config.yml에 url:이 있으면 모든 페이지에 schema.org @graph를 담은 <script type="application/ld+json"> 블록이 하나 들어갑니다. 검색 엔진과 AI 도구는 이것으로 페이지가 무엇인지 파악합니다. schema.org URL은 절대 주소여야 하므로 url:이 없으면 아무것도 출력하지 않습니다.

그래프 구성

노드 @id 내용
WebSite <url>/#website 사이트 이름, URL, 언어, 발행자. schema.search_url이 있으면 SearchAction
Organization 또는 Person <url>/#publisher schema.publisher(이름, URL, 로고, same_as)
페이지 유형(WebPage와 하위 유형) <page>#webpage 이름, URL, 설명, inLanguage, 이미지, 이동 경로
주 엔터티 <page>#main 페이지가 다루는 글, 채용 공고, 행사 등
BreadcrumbList <page>#breadcrumb 화면의 이동 경로와 같은 내용

날짜는 사이트 시간대를 붙인 ISO 8601이고, 텍스트는 이스케이프되어 엄격한 CSP에서도 안전합니다.

레이아웃별 유형

레이아웃 유형
post BlogPosting(layout: news-article이나 kind: news이면 NewsArticle)
doc TechArticle
archive, blog, news CollectionPage
author, profile, resume ProfilePage
contact ContactPage
search SearchResultsPage
faq FAQPage
그 밖 WebPage

저자는 front matter의 author/authors를 _data/authors.yml에서 찾아 넣습니다.

설정

modootoday:
  schema:
    publisher:
      type: Organization        # 또는 Person
      name: Example Inc.
      url: https://example.com/
      logo: /assets/logo.png
      same_as: [https://github.com/example]
    search_url: /search/?q={search_term_string}   # 선택: SearchAction
    layouts:
      landing: SoftwareApplication               # 레이아웃의 유형 바꾸기

modootoday.schema: false(또는 schema: {enabled: false})로 끄고, 한 페이지만 끄려면 front matter에 schema: false를 씁니다. seo: false도 함께 끕니다.

seo: false와 jekyll-seo-tag를 함께 쓰면 플러그인이 <!-- Begin Jekyll SEO tag와 <!-- End Jekyll SEO tag --> 주석 사이에 자체 JSON-LD를 씁니다. modootoday-check는 이 블록이 올바른 JSON인지만 검사하고 오류 대신 경고를 냅니다. 킷이 쓰는 마크업이 아니고, 이 블록의 WebPage에는 headline만 있고 name이 없기 때문입니다. schema.org는 어떤 속성도 필수로 정하지 않고, Google도 WebPage의 필수 속성을 두지 않습니다. 필수 속성 목록은 킷이 쓰는 마크업에 적용하는 킷 자체 규칙입니다. 페이지 전체를 검사하게 하려면 킷의 태그로 옮깁니다(이전과 업그레이드).

페이지별 엔터티

front matter에 schema.type과 schema.org 속성을 적습니다. type: 키는 @type이 됩니다. name, description, url, image는 페이지에서 채웁니다.

schema:
  type: JobPosting
  datePosted: 2026-10-01
  hiringOrganization: {type: Organization, name: Example Inc.}
  jobLocation: {type: Place, address: {type: PostalAddress, addressCountry: KR}}

SoftwareApplication(offers: {type: Offer, price: 0, priceCurrency: USD}), Event, Course, PodcastEpisode, DefinedTermSet, ItemList, FAQPage(mainEntity:에 Question 목록)도 쓸 수 있습니다. 최상위의 /로 시작하는 URL은 절대 주소로 바뀌지만, 중첩된 값 안의 URL은 처음부터 절대 주소로 적어야 합니다.

검사

modootoday-check는 빌드된 사이트의 모든 블록을 오프라인으로 검사합니다. 페이지당 블록 하나, 올바른 JSON, schema.org에 있는 유형과 속성, 필수 속성(Google 기준), 겹치지 않는 @id, 절대 URL, ISO 8601 날짜, og:url·og:title·og:image·<html lang>과의 일치를 봅니다. 권장 속성 누락까지 보려면 --schema-recommended를 붙입니다.

이 페이지 편집