지역 비즈니스

사용자가 Google 검색이나 지도에서 비즈니스를 검색하면 검색결과에서 검색어와 일치했던 비즈니스에 관한 세부정보가 포함된 눈에 띄는 지식 정보 카드를 표시할 수 있습니다. 사용자가 비즈니스 유형을 검색하면(예: '뉴욕 최고의 레스토랑') 검색어와 관련된 비즈니스의 캐러셀이 표시될 수 있습니다. 지역 비즈니스 구조화된 데이터를 사용하면 Google에 내 비즈니스의 영업시간, 비즈니스 내의 여러 부서, 비즈니스에 관한 리뷰 등을 알릴 수 있습니다. 사용자가 검색결과에서 바로 예약하거나 주문할 수 있게 하려면 Maps Booking API를 사용하여 예약, 결제 등의 작업을 사용 설정할 수 있습니다.

구조화된 데이터를 추가하는 방법

구조화된 데이터는 페이지 정보를 제공하고 페이지 콘텐츠를 분류하기 위한 표준화된 형식입니다. 구조화된 데이터를 처음 사용한다면 구조화된 데이터의 작동 방식을 자세히 알아보세요.

다음은 구조화된 데이터를 빌드, 테스트 및 출시하는 방법의 개요입니다. 웹 페이지에 구조화된 데이터를 추가하는 방법에 관한 단계별 가이드는 구조화된 데이터 Codelab를 참조하세요.

  1. 필수 속성을 추가합니다. 페이지의 어느 위치에 구조화된 데이터를 배치해야 할지 자세히 알아보려면 구조화된 데이터: 페이지에 삽입할 위치를 참조하세요.
  2. 가이드라인을 따릅니다.
  3. 리치 결과 테스트를 사용하여 코드의 유효성을 검사합니다.
  4. 구조화된 데이터를 포함하는 일부 페이지를 배포하고 URL 검사 도구를 사용하여 Google에서 페이지를 어떻게 인식하는지 테스트합니다. Google이 페이지에 액세스할 수 있으며 robots.txt 파일, noindex 태그 또는 로그인 요구사항에 의해 차단되지 않는지 확인합니다. 페이지가 정상적으로 표시되면 Google에 URL을 재크롤링하도록 요청할 수 있습니다.
  5. Google에 향후 변경사항을 계속 알리려면 사이트맵을 제출하는 것이 좋습니다. 이는 Search Console Sitemap API를 사용하여 자동화할 수 있습니다.

간단한 지역 비즈니스 정보

다음은 JSON-LD를 사용한 간단한 지역 비즈니스 정보의 예입니다.


<html>
  <head>
    <title>Dave's Steak House</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Restaurant",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "@id": "http://davessteakhouse.example.com",
      "name": "Dave's Steak House",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "148 W 51st St",
        "addressLocality": "New York",
        "addressRegion": "NY",
        "postalCode": "10019",
        "addressCountry": "US"
      },
      "review": {
        "@type": "Review",
        "reviewRating": {
          "@type": "Rating",
          "ratingValue": "4",
          "bestRating": "5"
        },
        "author": {
          "@type": "Person",
          "name": "Lillian Ruiz"
        }
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 40.761293,
        "longitude": -73.982294
      },
      "url": "http://www.example.com/restaurant-locations/manhattan",
      "telephone": "+12122459600",
      "servesCuisine": "American",
      "priceRange": "$$$",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday"
          ],
          "opens": "11:30",
          "closes": "22:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Wednesday",
            "Thursday",
            "Friday"
          ],
          "opens": "11:30",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Saturday",
          "opens": "16:00",
          "closes": "23:00"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "16:00",
          "closes": "22:00"
        }
      ],
      "menu": "http://www.example.com/menu",
      "acceptsReservations": "True"
    }
    </script>
  </head>
  <body>
  </body>
</html>

다음은 레스토랑 캐러셀의 예입니다. 현재 레스토랑 캐러셀을 사용할 수 있는 비즈니스는 소수의 레스토랑 제공업체로 제한됩니다. 참여하고 싶다면 양식을 작성하여 신청하세요.

<html>
  <head>
    <title>Trattoria Luigi</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org/",
      "@type": "Restaurant",
      "name": "Trattoria Luigi",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
       "priceRange": "$$$",
       "servesCuisine": "Italian",
       "address": {
         "@type": "PostalAddress",
         "streetAddress": "148 W 51st St",
         "addressLocality": "New York",
         "addressRegion": "NY",
         "postalCode": "10019",
         "addressCountry": "US"
       }
    }
    </script>
  </head>
  <body>
  </body>
</html>

영업시간

다음 예는 다른 유형의 영업시간을 마크업하는 방법을 보여줍니다.

일반적인 영업시간

validFromvalidThrough 속성을 제외하면 1년 내내 유효한 시간을 나타냅니다. 이 예는 평일 오전 9시~오후 9시, 주말 오전 10시~오후 11시에 운영하는 비즈니스를 정의합니다.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Monday",
      "Tuesday",
      "Wednesday",
      "Thursday",
      "Friday"
    ],
    "opens": "09:00",
    "closes": "21:00"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": [
      "Saturday",
      "Sunday"
    ],
    "opens": "10:00",
    "closes": "23:00"
  }
]
심야 시간

자정 이후 몇 시간은 단일 OpeningHoursSpecification 속성을 사용하여 개점/폐점 시간을 정의합니다. 이 예는 토요일 오후 6시~일요일 오전 3시까지의 시간을 정의합니다.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "dayOfWeek": "Saturday",
  "opens": "18:00",
  "closes": "03:00"
}
24시간 영업

비즈니스가 24시간 영업함을 표시하려면 open 속성을 '00:00'으로, closes 속성을 '23:59'로 설정합니다. 비즈니스가 24시간 영업하지 않음을 표시하려면 openscloses 속성을 '00:00'으로 설정합니다. 이 예는 토요일에 하루 종일 영업하고 일요일에 하루 종일 영업하지 않는 비즈니스를 나타냅니다.

"openingHoursSpecification": [
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Saturday",
    "opens": "00:00",
    "closes": "23:59"
  },
  {
    "@type": "OpeningHoursSpecification",
    "dayOfWeek": "Sunday",
    "opens": "00:00",
    "closes": "00:00"
  }
]
계절별 영업시간

validFromvalidThrough 속성을 모두 사용하여 계절별 영업시간을 정의합니다. 이 예는 겨울 휴일 동안 영업하지 않는 업체를 나타냅니다.

"openingHoursSpecification": {
  "@type": "OpeningHoursSpecification",
  "opens": "00:00",
  "closes": "00:00",
  "validFrom": "2015-12-23",
  "validThrough": "2016-01-05"
}

여러 부서

여러 부서로 구성되며 부서마다 영업시간, 전화번호 등의 속성이 다른 비즈니스의 경우 각 부서의 요소로 department 속성을 마크업할 수 있습니다. 각 부서 요소에 개별적으로 주 매장과 다른 속성을 정의하세요.

<html>
  <head>
    <title>Dave's Department Store</title>
    <script type="application/ld+json">
    {
      "@context": "https://schema.org",
      "@type": "Store",
      "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
      "@id": "http://davesdeptstore.example.com",
      "name": "Dave's Department Store",
      "address": {
        "@type": "PostalAddress",
        "streetAddress": "1600 Saratoga Ave",
        "addressLocality": "San Jose",
        "addressRegion": "CA",
        "postalCode": "95129",
        "addressCountry": "US"
      },
      "geo": {
        "@type": "GeoCoordinates",
        "latitude": 37.293058,
        "longitude": -121.988331
      },
      "url": "http://www.example.com/store-locator/sl/San-Jose-Westgate-Store/1427",
      "priceRange": "$$$",
      "telephone": "+14088717984",
      "openingHoursSpecification": [
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": [
            "Monday",
            "Tuesday",
            "Wednesday",
            "Thursday",
            "Friday",
            "Saturday"
          ],
          "opens": "08:00",
          "closes": "23:59"
        },
        {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": "Sunday",
          "opens": "08:00",
          "closes": "23:00"
        }
      ],
      "department": [
        {
          "@type": "Pharmacy",
          "image": [
        "https://example.com/photos/1x1/photo.jpg",
        "https://example.com/photos/4x3/photo.jpg",
        "https://example.com/photos/16x9/photo.jpg"
       ],
          "name": "Dave's Pharmacy",
          "telephone": "+14088719385",
          "openingHoursSpecification": [
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": [
                "Monday",
                "Tuesday",
                "Wednesday",
                "Thursday",
                "Friday"
              ],
              "opens": "09:00",
              "closes": "19:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Saturday",
              "opens": "09:00",
              "closes": "17:00"
            },
            {
              "@type": "OpeningHoursSpecification",
              "dayOfWeek": "Sunday",
              "opens": "11:00",
              "closes": "17:00"
            }
          ]
        }
      ]
    }
    </script>
  </head>
  <body>
  </body>
</html>

가이드라인

지역 비즈니스 리치 결과에 표시되려면 다음 가이드라인을 준수해야 합니다.

구조화된 데이터 유형 정의

다음 표는 지역 비즈니스 및 비즈니스 작업 유형의 속성 및 사용법을 나타냅니다. 전체 정의는 schema.org/LocalBusiness에서 확인할 수 있습니다.

리치 결과에 콘텐츠를 표시하려면 필수 속성이 있어야 합니다. 권장 속성을 포함하여 콘텐츠에 관한 정보를 추가함으로써 더 만족스러운 사용자 환경을 제공할 수 있습니다.

LocalBusiness

LocalBusiness의 전체 정의는 schema.org/LocalBusiness에서 확인할 수 있습니다. 각 지역 비즈니스의 위치를 LocalBusiness 유형으로 정의합니다. 가장 구체적인 LocalBusiness 하위 유형을 사용하세요. 예: Restaurant, DaySpa, HealthClub 등.

필수 속성
@id

URL

특정 업체 위치의 전역 고유 ID로, URL 형식입니다. ID는 안정적이어야 하며 시간이 지남에 따라 변경되지 않아야 합니다. Google 검색은 URL을 불투명 문자열로 취급하며 작동하는 링크가 아니어도 됩니다. 업체가 여러 위치에 걸쳐 있는 경우 각 위치의 @id가 고유해야 합니다.

address

PostalAddress

업체의 실제 위치입니다. 속성을 가능한 한 많이 포함하세요. 속성을 많이 제공할수록 사용자에게 게시되는 결과의 품질이 우수해집니다. 예:

"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St Suit 42 Unit 7",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
name

Text

업체의 이름입니다.

권장 속성
aggregateRating

AggregateRating

여러 점수 또는 리뷰를 바탕으로 한 지역 비즈니스의 평균 평점입니다. 리뷰 스니펫 가이드라인 및 필수/권장 집계 평점 속성 목록을 따르세요.

department

LocalBusiness

한 부서의 중첩된 항목입니다. 부서에 대해 이 표의 어느 속성이나 정의할 수 있습니다.

추가 가이드라인:

  • 다음 형식의 부서 이름을 포함하여 매장 이름을 포함합니다. {store name} {department name} 예를 들면 gMartgMart Pharmacy입니다.
  • 부서 이름이 명시적으로 브랜드화되어 있으면 부서 이름만 지정합니다. 예를 들면 Best BuyGeek Squad입니다.
geo

GeoCoordinates

업체의 지리 좌표입니다.

geo.latitude

Number

업체 위치의 위도입니다. 최소한 소수점 이하 5자리까지 정확해야 합니다.

geo.longitude

Number

업체 위치의 경도입니다. 최소한 소수점 이하 5자리까지 정확해야 합니다.

menu

URL

외식 시설의 경우 메뉴의 정규화된 URL입니다.

openingHoursSpecification

OpeningHoursSpecification의 단일 객체 또는 배열(모두 지원됨)

업체 위치가 열려 있는 시간입니다.

openingHoursSpecification.closes

Time

업체 위치가 영업을 종료하는 hh:mm:ss 형식의 시간입니다.

openingHoursSpecification.dayOfWeek

Text

다음 중 하나 이상의 형식입니다.

  • 월요일
  • 화요일
  • 수요일
  • 목요일
  • 금요일
  • 토요일
  • 일요일
openingHoursSpecification.opens

Time

업체 위치가 영업을 시작하는 hh:mm:ss 형식의 시간입니다.

openingHoursSpecification.validFrom

Date

YYYY-MM-DD 형식의 계절 영업 마감 시작일입니다.

openingHoursSpecification.validThrough

Date

YYYY-MM-DD 형식의 계절 영업 마감 종료일입니다.

priceRange

Text

업체의 상대 가격 범위는 일반적으로 숫자 범위(예: '$10~15') 또는 정규화된 화폐 기호 수(예: '$$$')로 지정됩니다.

review

리뷰

지역 업체에 대한 리뷰입니다. 리뷰 스니펫 가이드라인과 필수 및 권장 리뷰 속성의 목록을 따르세요.

servesCuisine

servesCuisine

레스토랑에서 제공하는 메뉴 유형입니다.

telephone

Text

업체 전화번호는 고객을 위한 기본 연락 수단입니다. 전화번호에는 국가 코드와 지역 번호가 포함되어 있어야 합니다.

url

URL

특정 업체 위치의 정규화된 URL입니다. @id 속성과 달리, 이 URL 속성은 작동하는 링크여야 합니다.

사이트에서 제공하고 있는 여러 레스토랑을 호스트 캐러셀에 포함하고 싶다면 캐러셀 객체를 추가하세요. 캐러셀 개체에 표준 캐러셀 속성 외에 다음 속성을 정의하세요. 캐러셀 속성은 필수가 아니지만 레스토랑 목록이 호스트 캐러셀에 표시되도록 하려면 다음 속성을 추가해야 합니다.

필수 속성
image

반복되는 URL 또는 ImageObject

하나 이상의 레스토랑 이미지입니다.

추가 이미지 가이드라인

  • 모든 페이지에는 마크업 포함 여부와 관계없이 하나 이상의 이미지가 있어야 합니다. Google에서 가로세로 비율과 해상도를 기반으로 검색결과에 표시할 최적의 이미지를 선택합니다.
  • 이미지 URL은 크롤링 및 색인 생성이 가능해야 합니다.
  • 이미지는 마크업된 콘텐츠를 나타내야 합니다.
  • 이미지는 Google 이미지에서 지원되는 파일 형식이어야 합니다.
  • 최상의 결과를 위해서는 가로세로 비율이 16x9, 4x3, 1x1인 여러 개의 고해상도 이미지(너비와 높이의 곱이 최소 50,000픽셀)를 제공하세요.

예:

"image": [
  "https://example.com/photos/1x1/photo.jpg",
  "https://example.com/photos/4x3/photo.jpg",
  "https://example.com/photos/16x9/photo.jpg"
]
name

Text

레스토랑 이름입니다.

권장 속성
address

PostalAddress

업체의 실제 위치입니다. 속성을 가능한 한 많이 포함하세요. 속성을 많이 제공할수록 사용자에게 게시되는 결과의 품질이 우수해집니다. 예:

"address": {
  "@type": "PostalAddress",
  "streetAddress": "148 W 51st St",
  "addressLocality": "New York",
  "addressRegion": "NY",
  "postalCode": "10019",
  "addressCountry": "US"
}
servesCuisine

servesCuisine

레스토랑에서 제공하는 메뉴 유형입니다.

문제해결

구조화된 데이터를 구현하는 데 문제가 있다면 다음 리소스를 참고하세요.