호텔 가격: 크롤러 탐색 및 가격 태그 사용 설정

이 가이드에서는 Google의 가격 정확도 크롤러가 예약 유입경로를 자동으로 탐색하고 객실 요금을 검증할 수 있도록 웹사이트에 마이크로데이터탐색 속성으로 태그를 지정하는 방법을 설명합니다.

사용 가능한 모든 구조화된 데이터 속성 (세부 세금, 수수료, 객실 세부정보 포함)의 전체 기술 사양은 구조화된 호텔 가격 데이터 참조를 확인하세요.


맞춤 data-nav-* HTML 속성을 사용하여 상호작용 요소를 설명하고 유입경로 단계를 선언하면 크롤러가 예약 흐름을 탐색할 수 있습니다.

1.1 페이지 상단 단계 선언 (data-nav-stage)

요금을 표시하는 예약 유입경로의 모든 페이지는 단계를 선언해야 합니다. 이 단계는 <body> 태그 또는 기본 래퍼 태그 (예: <div>, <section>, <main>)에 연결됩니다. 이렇게 하면 크롤러에 예약 흐름의 활성 단계를 알리고 나중에 문제를 해결하는 데 도움이 됩니다.

  • data-nav-stage (권장): 활성 유입경로 단계를 선언합니다. 엄격하게 요구되지는 않지만 이름 (예: "landing", "room-selection", "checkout", "ready-for-payment")을 지정하면 검증 중에 활성 단계를 식별하는 데 도움이 됩니다.

1.2 최종 단계 표시기 (data-nav-stage-final)

사용자 개인 정보 또는 결제 정보 입력 전에 가격을 표시하는 최종 페이지에서 단계 선언 (예: data-nav-stage="ready-for-payment")과 함께 페이지 상단 컨테이너 에 최종 단계 플래그를 추가합니다.

  • data-nav-stage-final (선택사항): 결제 전 최종 가격 페이지에서 "true" (data-nav-stage-final="true")로 설정합니다. 이렇게 하면 크롤러에 이 페이지가 최종 페이지이며 검증을 위해 가격을 추출할 수 있음을 나타냅니다. 이 페이지에는 마이크로데이터 태그가 지정된 가격 구조가 포함되어야 합니다.

1.3 중요 경로 상호작용 속성

중간 페이지에서 사용자를 예약 중요 경로로 이동시키는 상호작용 요소 (버튼 또는 링크)에 태그를 지정합니다. 동일한 페이지에서 여러 작업이 필요한 경우 실행 순서를 지정합니다. 크롤러는 최종 페이지에서 가격을 추출하기 전에 지정된 순서를 따릅니다.

속성 필수 값 목적
data-nav-criticalpath "true" 크롤러가 진행하기 위해 클릭해야 하는 필수 버튼/링크를 표시합니다.
data-nav-interactiontype "CLICK" 흐름을 진행하려면 클릭 작업이 필요하다고 선언합니다.
data-nav-interactionorder "1", "2", ... 동일한 페이지에서 여러 작업이 필요한 경우 실행 순서를 선언합니다.

간단한 탐색 예

<button data-nav-criticalpath="true"
        data-nav-interactiontype="CLICK"
        data-nav-interactionorder="1">
  Continue
</button>

2. 가격 선언 (마이크로데이터)

예약 유입경로의 최종 액세스 가능한 페이지 (개인 정보 또는 결제 정보 입력 전)에서 마이크로데이터 태그로 가격 제안 (가격 제안 1개)에 태그를 지정합니다. 페이지에 하나의 제안만 태그가 지정되어야 하며, 이는 사용자가 웹사이트에 방문하기 전에 Google에서 선택한 요금에 해당하는 크롤러가 추출하는 요금을 나타냅니다. 방문 페이지 매개변수 정의에 관한 자세한 내용은 변수 및 조건을 참고하세요.

Google은 구조화된 호텔 가격 데이터 참조 의 전체 계층 구조(세부 기본 요금, 개별 세금, 수수료, 객실 세부정보 포함)를 완전히 지원하지만 웹페이지에서 호텔 가격에 더 쉽게 태그를 지정할 수 있도록 간소화된 구조화된 데이터 트리도 허용합니다.

총 숙박 요금은 사용 가능한 요금에 필수입니다. 운항 일정 또는 객실을 사용할 수 없거나 매진된 경우 priceSpecification 없이 makesOffer 아래에 https://schema.org/SoldOut을 선언합니다.

<div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer">
  <meta itemprop="availability" content="https://schema.org/SoldOut"/>
  Sold Out
</div>

자세한 내용은 availability 속성 사양을 참고하세요.

2.1 간소화된 구조화된 데이터 트리

예약 페이지에서 태그 지정을 간소화하려면 루트 호텔 및 예약 컨테이너, 숙박 날짜 (YYYY-MM-DD), 숙박 인원, 총 숙박 요금이 포함된 단일 제안만 선언하면 됩니다.

Hotel / LodgingReservation (Root Container)
├── identifier                   [Meta/Attribute] Hotel ID
├── name                         [Visible text] Hotel Name
├── checkinTime / checkoutTime   [Visible text with YYYY-MM-DD in content="..."] Stay Dates
├── numAdults / numChildren      [Visible text] Occupancy
└── makesOffer (Offer)
    └── priceSpecification (CompoundPriceSpecification)
        ├── priceCurrency        [ISO Code, such as "USD"] Currency
        └── price                [Visible text] Total Stay Price (Taxes & Fees Included)

2.2 중요 공개 상태 규칙

안정적인 가격 추출을 보장하려면 HTML에 태그를 지정할 때 다음 공개 상태 규칙을 따르세요.

  • 총 숙박 요금이 표시되어야 함: `itemprop="price"`를 사용하여 페이지에 표시되는 가격 번호에 직접 태그를 지정합니다. itemprop="price" 가격 번호에 숨겨진 메타데이터 (<meta>) 또는 속성 값 (value="..." 또는 content="...")을 사용하지 마세요.
  • 기계가 읽을 수 있는 숙박 날짜: 페이지에 표시되는 숙박 날짜에 최대한 많이 태그를 지정합니다. 필요한 경우 content="..." 속성을 <span> 요소에서 사용하여 표시되는 날짜를 표시하면서 표준 YYYY-MM-DD 형식을 제공할 수 있습니다 (예: <span itemprop="checkinTime" content="2026-08-10">August 10, 2026</span>).
  • 표시되지 않는 필드: 페이지에 직접 표시되지 않는 필드 (예: 호텔 ID 또는 통화 코드)는 <meta> 태그 또는 content="..." 속성을 사용할 수 있습니다.

3. 예

다음 엔드 투 엔드 예에서는 탐색 속성 및 마이크로데이터로 중간 유입경로 단계와 최종 결제 페이지에 태그를 지정하는 방법을 보여줍니다.

예 1: 클릭 가능한 버튼이 있는 중간 페이지

다음 스니펫은 흐름을 진행하기 위해 태그가 지정된 단일 중요 경로 작업 버튼이 있는 중간 객실 선택 페이지(room-selection)를 보여줍니다.

<body data-nav-stage="room-selection">
  <!-- Main page content -->
  <button class="btn-continue"
          data-nav-criticalpath="true"
          data-nav-interactiontype="CLICK"
          data-nav-interactionorder="1">
    Book This Room
  </button>
</body>

예 2: 단계 표시기 및 최소 마이크로데이터가 있는 최종 가격 페이지

다음 스니펫은 래퍼에서 data-nav-stage-final="true"가 선언되고 권한 있는 숙박 요금이 표시되는 결제 전 마지막 페이지 (ready-for-payment)를 보여줍니다.

<body data-nav-stage="ready-for-payment" data-nav-stage-final="true">

  <!-- Root Container: Co-Typed Hotel & LodgingReservation -->
  <div itemscope itemtype="https://schema.org/Hotel https://schema.org/LodgingReservation">
    
    <!-- Hotel Identifier (Can be hidden meta tag) -->
    <meta itemprop="identifier" content="grand-view-001" />
    <h1 itemprop="name">Grand View Hotel</h1>
    
    <!-- Visible Stay Dates & Occupancy -->
    <p>
      Check-in: <span itemprop="checkinTime" content="2026-08-10">Aug 10, 2026</span> |
      Check-out: <span itemprop="checkoutTime" content="2026-08-15">Aug 15, 2026</span> |
      Guests: <span itemprop="numAdults">2</span> Adults, <span itemprop="numChildren">1</span> Child
    </p>

    <!-- Single Minimal Rate Offer -->
    <div itemprop="makesOffer" itemscope itemtype="https://schema.org/Offer">
      <div itemprop="priceSpecification" itemscope itemtype="https://schema.org/CompoundPriceSpecification">
        
        <p class="summary-total">
          Total Stay Price (Taxes & Fees Included):
          
          <!-- 3-letter ISO Currency Code (can use content="" for hiding the 3-letter currency code while displaying a symbol) -->
          <span itemprop="priceCurrency" content="EUR">€</span>
          
          <!-- VISIBLE TOTAL STAY PRICE (Directly wrapped, no hidden attributes) -->
          <span itemprop="price">650.00</span>
        </p>

      </div>
    </div>

  </div>

</body>

4. 구현 확인

변경사항을 배포하기 전에 마크업 및 탐색 태그 지정을 테스트하여 크롤러가 가격 데이터를 성공적으로 검증할 수 있는지 확인합니다.

4.1 가격 및 마이크로데이터 구조 확인

Schema.org 검증 도구 또는 Google 리치 결과 테스트 를 사용하여 페이지 URL 또는 HTML 콘텐츠에서 추출된 마이크로데이터를 검사할 수 있습니다. 구조화된 호텔 가격 데이터 참조의 사양에 따라 추출된 필드를 확인하고 itemprop="price" 요소가 페이지에 표시되는 항목인지 확인합니다.

4.2 탐색 확인

태그를 확인하려면 웹페이지를 마우스 오른쪽 버튼으로 클릭하고 검사 (또는 F12 키 누르기)를 선택하여 HTML DOM을 검사하여 Google Chrome에서 브라우저 개발자 도구 를 엽니다.

구현이 다음 탐색 요구사항을 충족하는지 확인합니다.

  • 페이지 상단 단계가 선언됨: 예약 흐름의 모든 페이지에는 data-nav-stage="..."<body> 또는 루트 래퍼 태그에 포함되어 있으며 최종 가격 페이지에는 data-nav-stage-final="true"가 포함되어 있습니다.
  • 중요 경로가 완료됨: 중간 페이지에는 data-nav-criticalpath="true", data-nav-interactiontype, data-nav-interactionorder로 표시된 상호작용 요소 (버튼 또는 링크)가 있습니다. 여러 작업이 있는 경우 순서 번호가 올바르게 설정되어 있는지 확인합니다.

4.3 공개 상태 및 마크업 품질 확인

마이크로데이터가 모든 구조 및 공개 상태 요구사항을 충족하는지 확인합니다 (자세한 내용은 간소화된 구조화된 데이터 트리중요 공개 상태 규칙 참고).

  • 엄격한 계층 구조: 마크업이 필수 중첩 순서 (간소화된 트리 또는 전체 구조화된 데이터 참조 사양)를 따르는지 확인합니다. 순서가 잘못되었거나 잘못 중첩된 요소는 크롤러에서 누락될 수 있습니다.
  • 표시되는 가격: itemprop="price"는 숨겨진 속성이나 <meta> 태그 없이 표시되는 가격 번호를 직접 래핑합니다.
  • 기계가 읽을 수 있는 숙박 날짜: checkinTimecheckoutTime에는 표준 YYYY-MM-DD (선택적으로 content="..." 속성 사용)가 포함되어 있습니다.
  • 직접 요소 태그 지정: 모든 표시되는 속성 (호텔 이름, 숙박 날짜, 숙박 인원)은 표시되는 페이지 텍스트를 래핑합니다.