예제
KO

구조화된 데이터

Hwaro는 리치 검색 결과를 위한 JSON-LD 구조화된 데이터를 자동 생성합니다. 기본 제공되는 Article과 BreadcrumbList 외에 추가 Schema.org 타입도 활성화할 수 있습니다.

자동 생성 (항상)

모든 페이지에는 페이지 종류에 맞는 페이지 단위 JSON-LD가 생성됩니다:

404 페이지에는 페이지 단위 JSON-LD가 생성되지 않으며, 제목이 없는 페이지에는 Article이 생성되지 않습니다.

템플릿 변수로 제공됩니다: {{ jsonld }}, {{ jsonld_article }}, {{ jsonld_breadcrumb }}

사이트 전역 스키마

한 번만 생성되어 모든 페이지에서 사용할 수 있습니다. 둘 다 base_url이 필요하며, 없으면 빈 문자열로 렌더링됩니다.

WebSite + SearchAction

Google의 사이트링크 검색창을 활성화합니다. [search]가 켜져 있으면 SearchAction이 자동으로 포함됩니다. 대상 URL은 <base_url>/?q={search_term_string}이므로 q 쿼리 매개변수를 읽는 페이지가 사이트에 있어야 합니다(내장 검색 UI는 읽지 않습니다).

홈 페이지의 {{ jsonld }}에는 이 스키마가 이미 포함되어 있으므로, {{ jsonld_website }}는 {{ jsonld }}를 쓰지 않는 곳에서만 직접 출력하세요.

{{ jsonld_website }}

Organization

사이트 설정에서 가져온 기본 조직 정보입니다. og.default_image가 설정되어 있으면 로고로 사용합니다.

{{ jsonld_organization }}

페이지별 스키마

프론트 매터에 schema_type을 설정하면 추가 타입을 자동 감지해 포함합니다:

FAQPage

+++
title = "Frequently Asked Questions"
schema_type = "FAQ"
faq_questions = ["What is Hwaro?", "How do I install it?"]
faq_answers = ["A fast static site generator.", "Run crystal build."]
+++

또는 쌍(pair) 배열 형식을 사용합니다:

faq = ["Question 1", "Answer 1", "Question 2", "Answer 2"]

또는 테이블 배열 형식을 사용합니다:

[[extra.faq]]
question = "What is Hwaro?"
answer = "A fast static site generator."

schema_type = "FAQ"이면 FAQ 스키마가 {{ jsonld }}에 자동 포함됩니다. {{ jsonld_faq }}를 직접 써도 됩니다.

HowTo

+++
title = "Getting Started with Hwaro"
schema_type = "HowTo"
howto_names = ["Install", "Configure", "Build"]
howto_texts = ["Run the install command.", "Edit config.toml.", "Run hwaro build."]
+++

또는 쌍 배열 형식을 사용합니다:

howto_steps = ["Step Name", "Step Description", "Step 2 Name", "Step 2 Description"]

또는 테이블 배열 형식을 사용합니다:

[[extra.howto_steps]]
name = "Install"
text = "Run the install command."

schema_type = "HowTo"이면 {{ jsonld }}에 자동 포함됩니다. {{ jsonld_howto }}로도 쓸 수 있습니다.

템플릿 변수

변수 범위 설명
jsonld 페이지별 적용 가능한 JSON-LD 전체 결합 (Article 또는 CollectionPage + Breadcrumb + 확장 타입, 홈 페이지에서는 WebSite)
jsonld_article 페이지별 Article 스키마만 (목록 페이지에서는 CollectionPage, 홈 페이지에서는 비어 있음)
jsonld_breadcrumb 페이지별 BreadcrumbList 스키마만
jsonld_faq 페이지별 FAQPage 스키마 (FAQ가 아니면 비어 있음)
jsonld_howto 페이지별 HowTo 스키마 (HowTo가 아니면 비어 있음)
jsonld_website 전역 WebSite + SearchAction 스키마
jsonld_organization 전역 Organization 스키마

템플릿에서 사용

베이스 템플릿의 <head>에 넣는 일반적인 배치:

<head>
  {{ jsonld }}
</head>

{{ jsonld }}는 홈 페이지에서 이미 WebSite 스키마를 담고 있으므로, 옆에 {{ jsonld_website }}를 추가하면 홈 페이지에 두 번 출력됩니다.

함께 보기