고급 웹사이트 색인 생성에 구조화된 데이터 사용

데이터 스토어에서 고급 웹사이트 색인 생성이 사용 설정된 경우 다음 유형의 구조화된 데이터를 사용하여 색인을 보강할 수 있습니다.

이 페이지에서는 웹페이지에 사용할 수 있는 이러한 두 가지 유형의 구조화된 데이터를 소개하고 데이터 스토어 스키마에 구조화된 커스텀 속성을 추가하는 방법을 설명합니다.

사전 정의된 Google 추론 페이지 날짜에 대한 정보

웹사이트 데이터 스토어의 웹페이지를 통해 크롤링하면 Google은 콘텐츠에 적용되는 속성을 사용하여 페이지 데이터를 추론합니다. Vertex AI Search는 이러한 추론된 페이지 데이터 속성을 스키마에 추가합니다. 이 추론된 데이터에는 다음과 같은 사전 정의된 날짜 속성(byline 날짜라고도 함)이 포함됩니다.

  • datePublished: 페이지가 처음 게시된 날짜와 시간
  • dateModified: 페이지가 마지막으로 수정된 날짜와 시간

이러한 속성에는 자동으로 색인이 생성됩니다. 이러한 날짜 속성을 스키마에 추가하지 않고도 직접 사용하여 검색을 보강할 수 있습니다. 웹사이트에 서명일을 추가하려면 Google 검색에서 서명일에 영향 주기를 참고하세요.

필터 표현식 및 게재순위 지정 사양과 같은 검색 요청에 이러한 사전 정의된 날짜 속성을 포함하는 방법을 알아보려면 Google 추론 페이지 날짜를 사용하는 사용 사례 예시를 참고하세요.

웹페이지의 맞춤 날짜-시간 필드 정보

웹페이지에 맞춤 날짜/시간 필드를 추가할 수 있습니다. 이러한 태그는 데이터 스토어 스키마에 구조화된 커스텀 데이터 속성을 추가할 때 고급 색인 생성과 함께 사용할 수 있습니다.
다음은 웹페이지에 lastModified라는 맞춤 날짜/시간 메타 태그를 추가할 위치를 보여주는 예시입니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Your web page title</title>

    <!-- Vertex AI Search can use this date. -->
    <meta name="lastModified" content="2022-07-01">
</head>
<body>
    </body>
</html>

필터 표현식 및 부스트 사양과 같은 검색 요청에 이러한 맞춤 날짜/시간 태그를 포함하는 방법을 알아보려면 커스텀 날짜/시간 속성을 사용하는 사용 사례 예시를 참고하세요.

구조화된 커스텀 데이터 속성 정보

웹페이지에 구조화된 데이터 속성을 meta 태그 및 PageMap으로 추가하고 이를 사용하여 색인을 보강할 수 있습니다. 색인 생성에 구조화된 커스텀 속성을 사용하려면 스키마를 업데이트해야 합니다.

meta 태그의 사용 사례 예시

조직의 여러 부서와 관련된 웹페이지가 다수 있다고 가정해 보겠습니다. meta 태그를 사용하여 각 부서와 관련된 페이지에 라벨을 지정할 수 있습니다. 그런 다음 색인 생성된 태그를 쿼리에서 필터로 사용할 수 있습니다. 이렇게 하면 지정된 부서와 일치하는 라벨이 포함된 웹페이지로 검색 결과를 제한할 수 있습니다.

이 프로세스는 다음과 같이 요약할 수 있습니다.

  1. 웹페이지의 하위 집합에 다음 meta 태그를 추가합니다.
    • 엔지니어링 및 IT 부서와 관련된 내용: <meta name="department" content="eng, infotech">
    • 재무 및 인사 부서와 관련된 내용: <meta name="department" content="finance, human resources">
  2. 업데이트된 페이지를 다시 크롤링합니다.
  3. 데이터 스토어 스키마에 구조화된 커스텀 데이터 속성 추가 섹션에 설명된 대로 데이터 스토어 스키마에 department를 색인 생성 가능한 배열로 추가합니다.

스키마를 업데이트하면 데이터 스토어의 색인이 자동으로 다시 생성됩니다. 재색인이 완료되면 필터 표현식에서 department 필터를 사용하여 검색 결과의 순서를 변경하거나 필터링할 수 있습니다. 예를 들어 재무 부서의 사용자가 쿼리를 실행하면 department 필터finance로 설정하여 검색 결과의 관련성을 높일 수 있습니다.

웹페이지의 meta 태그 예시

다음은 웹페이지에 추가할 수 있는 meta 태그의 예입니다. 이러한 태그는 데이터 스토어 스키마에 구조화된 커스텀 데이터 속성을 추가할 때 고급 색인 생성에 사용할 수 있습니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Your web page title</title>

    <!-- Robots instructions for crawlers and for Vertex AI Search. -->
    <meta name="robots" content="index,follow">

    <!-- Vertex AI Search can use custom datetime fields to filter, boost, and order. -->
    <meta name="lastModified" content="2024-09-06">

    <!-- Vertex AI Search can filter by category or tags. -->
    <meta name="category" content="archived">
    <meta name="tags" content="legacy,interesting,faq">

    <!-- Vertex AI Search can index these common HTML tags. -->
    <meta name="description" content="A description of your web page's content.">
    <meta name="author" content="Your name or organization">
    <meta name="keywords" content="relevant,keywords,separated,by,commas">
    <link rel="canonical" href="https://www.yourwebsite.com/this-page">
    <meta property="og:title" content="Your Webpage Title">
    <meta property="og:description" content="A description of your webpage's content.">
    <meta property="og:image" content="https://www.yourwebsite.com/image.jpg">
    <meta property="og:url" content="https://www.yourwebsite.com/this-page">
    <meta property="og:type" content="website">
    <meta name="twitter:card" content="summary_large_image">
    <meta name="twitter:title" content="Your customized Webpage Title">
    <meta name="twitter:description" content="A description of your webpage's content.">
    <meta name="twitter:image" content="https://www.yourwebsite.com/image.jpg">
</head>
<body>
...
</body>
</html>

페이지 지도의 사용 사례 예시

음식 레시피가 포함된 웹페이지가 여러 개 있다고 가정해 보겠습니다. 각 페이지의 HTML 콘텐츠에 PageMap 데이터를 추가할 수 있습니다. 그런 다음 색인이 생성된 PageMap 속성 이름을 쿼리에서 필터로 사용할 수 있습니다. 예를 들어 레시피 평점에 따라 웹페이지를 상단에 표시하거나 하단에 표시하려면 다음 절차를 따르세요.

  1. 웹페이지에 다음과 유사한 PageMap 데이터를 추가합니다.

    <html>
    <head>
    ...
    <!--
    <PageMap>
        <DataObject type="document">
            <Attribute name="title">Baked potatoes</Attribute>
            <Attribute name="author">Dana A.</Attribute>
            <Attribute name="description">Homestyle baked potatoes in oven. This
            recipe uses Russet potatoes.</Attribute>
            <Attribute name="rating">4.9</Attribute>
            <Attribute name="lastUpdate">2015-01-01</Attribute>
        </DataObject>
    </PageMap>
    -->
    </head>
    ...
    </html>
    
  2. 업데이트된 페이지를 다시 크롤링합니다.

  3. 데이터 스토어 스키마에 구조화된 커스텀 데이터 속성 추가 섹션에 설명된 대로 데이터 스토어 스키마에 rating를 색인 생성 가능한 배열로 추가합니다.

스키마를 업데이트하면 데이터 스토어의 색인이 자동으로 다시 생성됩니다. 재색인이 완료되면 필터 표현식에서 rating 속성을 사용하여 검색 결과의 순서를 변경하거나 필터링할 수 있습니다. 예를 들어 사용자가 레시피를 검색할 때 rating맞춤 숫자 속성으로 사용하여 평점이 가장 높은 검색 결과를 상단에 표시합니다.

schema.org 데이터 사용 사례 예시

리뷰 웹사이트가 있고 웹페이지에 HTML script 태그 내에서 JSON-LD 형식의 schema.org 데이터가 주석으로 추가되어 있다고 가정해 보겠습니다. 그런 다음 색인이 생성된 주석을 쿼리에서 필터로 사용할 수 있습니다. 예를 들어 집계 평점에 따라 웹페이지를 상단에 표시하거나 하단에 표시하려면 다음 절차를 따르세요.

  1. 다음과 유사한 리뷰 콘텐츠의 schema.org 주석을 웹페이지에 추가합니다. 사용 가능한 다른 유형의 schema.org 템플릿을 보려면 스키마를 참고하세요.

    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Review",
      "aggregateRating": {
        "@type": "Average Rating",
        "ratingValue": 3.5,
        "reviewCount": 11
      },
      "description": "Published in 1843, this is the perfect depiction of the Victorian London. A Christmas Carol is the story of Ebenezer Scrooge's transformation.",
      "name": "A Christmas Carol",
      "image": "christmas-carol-first-ed.jpg",
      "review": [
        {
          "@type": "Review",
          "author": "Alex T.",
          "datePublished": "2000-01-01",
          "reviewBody": "Read this in middle school and have loved this ever since.",
          "name": "Worth all the adaptations",
          "reviewRating": {
            "@type": "Rating",
            "bestRating": 5,
            "ratingValue": 5,
            "worstRating": 1
          }
        }
      ]
    }
    </script>
    
  2. 업데이트된 페이지를 다시 크롤링합니다.

  3. 데이터 스토어 스키마에 ratingValue의 경로를 추가합니다. 데이터 스토어 스키마에 구조화된 커스텀 데이터 속성 추가 섹션에 설명된 대로 데이터 스토어 스키마의 필드 이름으로 식별자를 사용합니다(예: rating_value).

스키마를 업데이트하면 데이터 스토어의 색인이 자동으로 다시 생성됩니다. 재색인이 완료되면 필터 표현식에서 rating_value 속성을 사용하여 검색 결과의 순서를 변경하거나 필터링할 수 있습니다. 예를 들어 사용자가 도서를 검색할 때 rating_value맞춤 숫자 속성으로 사용하여 평점이 가장 높은 검색 결과를 상단에 표시합니다.

시작하기 전에

데이터 스토어 스키마를 업데이트하기 전에 다음을 실행합니다.

데이터 스토어 스키마에 구조화된 커스텀 데이터 속성 추가

데이터 스토어 스키마에 구조화된 커스텀 데이터 속성을 추가하려면 다음 단계를 따르세요.

  1. 구조화된 데이터 색인 생성으로 보강하려는 웹사이트의 모든 페이지에 meta 태그, PageMap 데이터, schema.org 데이터를 추가합니다.

    • meta 태그의 경우:
      • meta 태그의 name 속성은 색인을 생성할 필드로, content 속성은 쉼표로 구분된 하나 이상의 값으로 설정해야 합니다.
      • Vertex AI Search는 이름이 [a-zA-Z0-9][a-zA-Z0-9-_]* 패턴과 일치하는 meta 태그를 지원합니다. 제외된 태그 또는 지원되지 않는 메타 태그를 사용하지 마세요.
    • PageMap 데이터의 경우:
      • PageMap 데이터는 색인을 생성할 속성 이름이 포함된 인식된 DataObjects로 구성되어야 합니다. DataObjects 내의 속성 이름은 색인을 생성할 필드로 설정해야 합니다.
    • schema.org 데이터의 경우:
      • 주석은 유효한 JSON-LD, 마이크로데이터 또는 RDFa 형식이어야 합니다. 자세한 내용은 지원되는 형식을 참조하세요.
  2. 업데이트된 웹페이지를 다시 크롤링합니다.

  3. REST API를 통해 데이터 스토어의 스키마 정의를 확인합니다.

  4. REST API를 통해 데이터 스토어 스키마를 업데이트합니다. 자세한 내용은 자체 스키마를 JSON 객체로 제공에 대한 정보를 참고하세요.

    1. 검색 가능, 검색 가능, 색인 생성 가능하도록 설정하려는 각 맞춤 속성에 객체를 추가합니다.
    2. 맞춤 속성을 추가하고 typearray로 설정합니다.
    3. 맞춤 속성 값의 데이터 유형을 추가합니다.
    4. siteSearchStructuredDataSources 필드에서 찾을 수 있는 맞춤 속성의 소스를 지정합니다.
    5. schema.org 데이터의 경우: schema.org 주석에서 siteSearchSchemaOrgPaths 필드의 _root 문자열로 시작하는 속성의 경로를 지정합니다.

    다음은 웹사이트의 스키마 업데이트 예시입니다.

    {
      "type": "object",
      "properties": [{
        "CUSTOM_ATTRIBUTE": {
          "type": "array",
          "items": {
            "type": "DATA_TYPE",
            "searchable": true,
            "retrievable": true,
            "indexable": true,
            "siteSearchStructuredDataSources": ["STRUCTURED_DATA_SOURCE_1", "STRUCTURED_DATA_SOURCE_2"]
          }
        }
      }
      {
        "IDENTIFIER_FOR_SCHEMA_ORG_FIELD": {
          "type": "array",
          "items": {
            "type": "DATA_TYPE_SCHEMA_ORG_FIELD",
            "searchable": true,
            "retrievable": true,
            "indexable": true,
            "siteSearchSchemaOrgPaths": ["_root.PATH_TO_THE_SCHEMA_ORG_FIELD"]
          }
        }
      }],
      "$schema": "https://json-schema.org/draft/2020-12/schema"
    }

    다음을 바꿉니다.

    • CUSTOM_ATTRIBUTE: name 속성의 값. 예를 들면 다음과 같습니다.
      • <meta name="department" content="eng, infotech">로 정의된 meta 태그의 경우 department를 사용합니다.
      • <Attribute name="rating">4.9</Attribute>로 정의된 PageMap 속성의 경우 rating을 사용합니다.
    • DATA_TYPE: name 속성의 데이터 유형. 문자열, 숫자 또는 날짜-시간 형식이어야 합니다. 예를 들면 다음과 같습니다.

      • <meta name="department" content="eng, infotech">로 정의된 meta 태그의 경우 string을 사용합니다.
      • <Attribute name="rating">4.9</Attribute>로 정의된 PageMap 속성의 경우 number를 사용합니다.
      • <Attribute name="lastPublished">2015-01-01</Attribute>로 정의된 PageMap 속성의 경우 datetime을 사용합니다.

      자세한 내용은 FieldType를 참조하세요.

    • STRUCTURED_DATA_SOURCE_N: CUSTOM_ATTRIBUTE 속성을 찾을 수 있는 다음 구조화된 데이터 소스 중 하나 또는 둘 다로 구성된 배열

      • 맞춤 속성을 meta 태그로 찾을 수 있는 경우 METATAG를 지정합니다.
      • 맞춤 속성을 PageMap 속성으로 찾을 수 있는 경우 PAGEMAP을 지정합니다.
      • 맞춤 속성을 schema.org 데이터로 찾을 수 있는 경우 SCHEMA_ORG를 지정합니다.
      • siteSearchStructuredDataSources 필드가 없거나 비어 있으면 세 가지 데이터 소스의 값이 모두 배열로 병합됩니다.
    • IDENTIFIER_FOR_SCHEMA_ORG_FIELD: schema.org 필드를 나타내는 맞춤 식별자. 웹페이지의 schema.org 주석에 있는 필드 이름과 동일할 필요는 없습니다. 예를 들어 필드의 경로가 _root.nutrition.calories인 경우 식별자는 calorific_value 또는 nutrition_value일 수 있습니다.

    • DATA_TYPE_SCHEMA_ORG_FIELD: schema.org 필드의 데이터 유형 문자열, 숫자 또는 날짜/시간이어야 합니다. 예를 들면 다음과 같습니다.

      • 'calories':'240 calories'로 정의된 schema.org 필드의 경우 string을 사용합니다.
      • 'calories': 240으로 정의된 schema.org 필드의 경우 number를 사용합니다.
      • 'foundingDate': '1991-05-01'으로 정의된 schema.org 필드의 경우 datetime을 사용합니다.

      자세한 내용은 FieldType를 참조하세요.

    • PATH_TO_THE_SCHEMA_ORG_FIELD: 액세스해야 하는 schema.org 필드의 단일 필드 경로. 중첩된 각 수준 뒤에 점 구분자를 사용하여 지정됩니다. 필수 입력란에 액세스하는 데 필요한 전체 경로를 지정해야 합니다. 예를 들어 필드 ratingValueaggregateRating 필드에 중첩된 경우 경로를 _root.aggregateRating.ratingValue로 지정할 수 있습니다.

웹사이트 스키마를 업데이트하면 웹사이트의 색인이 자동으로 다시 생성됩니다. 이 작업은 장기 실행 작업이며 몇 시간이 걸릴 수 있습니다.

다음 단계

색인이 생성된 메타데이터는 다음과 같은 용도로 사용합니다.