SOYOYU
기초·인프라extends CreativeWork

WebSite

도메인 단위의 사이트 그 자체. SearchAction을 함께 마크업해 Sitelinks 검색창 노출을 활성화하는 백본 타입.

XEO 효과 4가지

리치 결과

●●○○○낮음

Google이 Sitelinks Search Box 리치 결과를 deprecate해 SERP에 사이트 내부 검색창은 더 이상 노출 안 됨. WebSite 자체는 entity 정의·다른 타입의 isPartOf 참조 대상으로 여전히 유효.

AI 인용

●●●○○중간

AI가 사이트의 정체성·언어·검색 가능성을 파악할 때 참조. 직접 인용보다는 다른 타입의 context로 작용.

사용 빈도

●●●●●결정적

Organization과 함께 모든 사이트의 기초 2점 세트. 한 번 깔면 모든 페이지가 isPartOf로 참조 가능.

구현 난이도

●●○○○낮음

기본은 name·url 두 개. SearchAction까지 더해도 5분 작업.

이럴 때 쓴다

  • 모든 사이트의 루트(홈)에 1개
  • 내부 검색이 있는 사이트는 SearchAction과 함께 (Sitelinks 검색창 노출)
  • WebPage·Article 등의 isPartOf 참조 대상
SearchAction 결합
{
  "@context": "https://schema.org",
  "@type": "WebSite",
  "@id": "https://example.com/#website",
  "name": "소요유",
  "url": "https://example.com",
  "potentialAction": {
    "@type": "SearchAction",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://example.com/search?q={search_term_string}"
    },
    "query-input": "required name=search_term_string"
  }
}

query-input의 search_term_string 이름이 urlTemplate 토큰과 일치해야 함.

자주 보는 안티패턴

  • 페이지마다 WebSite 중복 출력 — 루트에 1개면 충분
  • SearchAction의 target URL에 {search_term_string} 토큰 누락
  • name이 매번 다르게 변경됨 — 브랜드 일관성 깨짐
  • publisher 누락 — Organization과 연결 안 됨
토큰 없는 SearchAction
"potentialAction": {
  "@type": "SearchAction",
  "target": "https://example.com/search"
}

{search_term_string} 토큰이 없어 Google이 검색어를 넣을 위치를 모름. Sitelinks 검색창 미노출.

필수 필드

  • nameText사이트 이름 (브랜드)
  • urlURL루트 도메인 절대 URL
  • potentialActionSearchActionSitelinks 검색창 노출용 검색 액션
  • publisherOrganizationOrganization @id 참조
  • inLanguageText기본 언어 (예: ko-KR)

해설

도메인 자체를 schema.org가 알아보게 만드는 타입. Organization이 누가 운영하는가라면 WebSite는 어떤 사이트인가. 두 타입이 짝을 이뤄야 사이트의 entity가 검색·AI에 명확히 등록된다.

리치 결과 관점의 큰 변화: Google은 Sitelinks Search Box 리치 결과를 deprecate. SearchAction을 마크업해도 SERP에 사이트 내부 검색창이 더 이상 노출되지 않는다. 과거 "브랜드 검색 시 사이트 검색창 띄우기"의 핵심 수단이었지만 — 2026년 현재 그 효과는 사라졌다. 다만 SearchAction은 AI·기타 검색엔진·내부 사이트 도구가 사이트의 검색 가능성을 인지하는 신호로는 여전히 유효.

AI 인용 관점에서 WebSite는 직접 인용되기보다는 맥락 신호로 쓰인다. inLanguage로 한국어 사이트임을, publisher로 Organization을 참조하면 — AI가 답변에 출처를 표기할 때 사이트 이름과 운영 주체를 정확히 매칭할 수 있다.

가장 흔한 안티패턴: 페이지마다 WebSite를 중복 출력. 루트(또는 모든 페이지 공통 레이아웃)에 1개만 있으면 충분하다. @id로 묶어두면 WebPage·Article에서 isPartOf로 참조해 사이트 구조가 깔끔하게 정의된다.

SearchAction을 마크업할 때는 query-inputname=search_term_stringurlTemplate{search_term_string} 토큰과 완전히 동일해야 한다. 이름이 어긋나면 Google은 검색창을 노출하지 않는다. 토큰을 다른 이름으로 바꾸지 말고 그대로 두는 게 표준이다.